<?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>216222</bug_id>
          
          <creation_ts>2020-09-05 22:12:01 -0700</creation_ts>
          <short_desc>[JSC] Special property caching should check Structure&apos;s cacheability</short_desc>
          <delta_ts>2020-09-08 00:21:15 -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>
          <dependson>216061</dependson>
          
          <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>ryanhaddad</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>1686167</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-05 22:12:01 -0700</bug_when>
    <thetext>[JSC] ModuleNamespaceObject&apos;s property caching has different mechanism than IC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686171</commentid>
    <comment_count>1</comment_count>
      <attachid>408116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-05 23:53:02 -0700</bug_when>
    <thetext>Created attachment 408116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686172</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-05 23:53:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/68415681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686174</commentid>
    <comment_count>3</comment_count>
      <attachid>408116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-05 23:58:29 -0700</bug_when>
    <thetext>Comment on attachment 408116
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=408116&amp;action=review

&gt; JSTests/stress/not-cache-over-uncacheable-dictionary.js:14
&gt; +function shouldBe(actual, expected) {
&gt; +    if (actual !== expected)
&gt; +        throw new Error(&apos;bad value: &apos; + actual);
&gt; +}
&gt; +
&gt; +var object = {};
&gt; +$vm.toUncacheableDictionary(object);
&gt; +shouldBe(String(object), `[object Object]`);
&gt; +shouldBe(String(object), `[object Object]`);
&gt; +shouldBe(String(object), `[object Object]`);
&gt; +object[Symbol.toStringTag] = &quot;OK&quot;;
&gt; +shouldBe(String(object), `[object OK]`);
&gt; +shouldBe(String(object), `[object OK]`);
&gt; +shouldBe(String(object), `[object OK]`);

This test does not fail without this patch while we were caching. This is because we are relying on watchpoints for properties instead of structure ID.
But in this patch, we changed the code not to cache properties in uncacheable-dictionary. So testing it here is nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686175</commentid>
    <comment_count>4</comment_count>
      <attachid>408117</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-06 00:02:34 -0700</bug_when>
    <thetext>Created attachment 408117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686176</commentid>
    <comment_count>5</comment_count>
      <attachid>408118</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-06 00:04:16 -0700</bug_when>
    <thetext>Created attachment 408118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686489</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-09-07 22:33:19 -0700</bug_when>
    <thetext>*** Bug 216262 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686493</commentid>
    <comment_count>7</comment_count>
      <attachid>408118</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-09-07 23:30:58 -0700</bug_when>
    <thetext>Comment on attachment 408118
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686499</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-08 00:21:15 -0700</bug_when>
    <thetext>Committed r266715: &lt;https://trac.webkit.org/changeset/266715&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408116</attachid>
            <date>2020-09-05 23:53:02 -0700</date>
            <delta_ts>2020-09-06 00:02:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216222-20200905235302.patch</filename>
            <type>text/plain</type>
            <size>10878</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWVkYjlmYjgxNjgzOGY4ZTMxYjZlOGQyNWYwMjQ0MmFmNTRmOTExLi5mODU3NjMyODI5NTA4YTYx
Yzk3YzkyYzM5MWU1OTlmMWFkZWNiM2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0wOS0wNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNwZWNpYWwgcHJvcGVydHkgY2FjaGluZyBzaG91bGQgY2hlY2sg
U3RydWN0dXJlJ3MgY2FjaGVhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGlsZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJv
cGVydHlTbG93IGNhY2hlcyBwcm9wZXJ0aWVzLCB0aGUgd2F5IGl0IHRha2VzIGlzIGluY29tcGxl
dGUuCisgICAgICAgIEl0IGlzIG5vdCBjaGVja2luZyBTdHJ1Y3R1cmUncyBjYWNoZWFiaWxpdHku
IFdlIHdlcmUgY2FjaGluZyBtaXNzIGNvbmRpdGlvbiBldmVuIGlmIHN0cnVjdHVyZSBpcyAhcHJv
cGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZUZvckFic2VuY2UuCisgICAgICAgIFdlIHNob3VsZCBw
ZXJmb3JtIHRoZSBzYW1lIGNoZWNrIGRvbmUgaW4gSUMgY2FzZS4gU3RyaWN0bHkgc3BlYWtpbmcs
IHdlIGNhbiBjYWNoZSB2YWx1ZSBmb3IgdW5jYWNoZWFibGUtZGljdGlvbmFyeSBiZWNhdXNlIHdl
IGFyZSBzZXR0aW5nCisgICAgICAgIHByb3BlcnR5IGNoYW5nZSB3YXRjaHBvaW50ICh3aGljaCB3
aWxsIGZpcmUpLiBCdXQgaXQgc291bmRzIG5vdCBzbyBwcm9maXRhYmxlIGlmIHRoaXMgc3RydWN0
dXJlIGlzIHVuY2FjaGVhYmxlLgorCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3Bl
Y2lhbFByb3BlcnR5U2xvdyk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisgICAg
ICAgIChKU0M6OmZ1bmN0aW9uVG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgorICAgICAgICAoSlND
OjpKU0RvbGxhclZNOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAtMDktMDUgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBzdXBwcmVzcyBl
eGNlcHRpb24gY2hlY2tpbmcgYWZ0ZXIgdW53cmFwRm9yT2xkRnVuY3Rpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggOTZlNzczYTMxMGFkYjk3MzRl
ZTBhODhhNzcxODhmODg5NjQ4YmI1NC4uMDAxNjgzMWM2NjBhNzdhZmVjYWVkYWNlYTQ4MjFlYzRk
ZWMxZjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApA
QCAtMzczNiw2ICszNzM2LDE2IEBAIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRUb0RpY3Rpb25hcnko
Vk0mIHZtKQogICAgICAgICB2bSwgU3RydWN0dXJlOjp0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCAmZGVmZXJyZWRXYXRjaHBvaW50RmlyZSkpOwogfQog
Cit2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkoVk0mIHZtKQor
eworICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5pc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgpKQorICAg
ICAgICByZXR1cm47CisgICAgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZp
cmUgZGVmZXJyZWRXYXRjaHBvaW50RmlyZSh2bSwgc3RydWN0dXJlKHZtKSk7CisgICAgc2V0U3Ry
dWN0dXJlKAorICAgICAgICB2bSwgU3RydWN0dXJlOjp0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRy
YW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksICZkZWZlcnJlZFdhdGNocG9pbnRGaXJlKSk7Cit9
CisKKwogdm9pZCBKU09iamVjdDo6c2hpZnRCdXR0ZXJmbHlBZnRlckZsYXR0ZW5pbmcoY29uc3Qg
R0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
c2l6ZV90IG91dE9mTGluZUNhcGFjaXR5QWZ0ZXIpCiB7CiAgICAgLy8gVGhpcyBjb3VsZCBpbnRl
cmxlYXZlIHZpc2l0Q2hpbGRyZW4gYmVjYXVzZSBzb21lIG9sZCBzdHJ1Y3R1cmUgY291bGQgaGF2
ZSBiZWVuIGEgbm9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRl
eCA2Mzc3YjRkZWIyNzg0YWU4M2UzNTUxZWU2MzZlZWFiODJlMTgwYTkzLi5hZTMzZmZmNDAzNDk0
NmM2NzNlOGY5YjVkOThmMzdhNmE0MWNhY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKQEAgLTg1MSw2ICs4NTEsNyBAQCBjbGFzcyBKU09iamVjdCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIHZvaWQgc2V0U3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CiAKICAg
ICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb0RpY3Rpb25hcnkoVk0mKTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb1VuY2FjaGVhYmxlRGljdGlvbmFyeShWTSYp
OwogCiAgICAgdm9pZCBmbGF0dGVuRGljdGlvbmFyeU9iamVjdChWTSYgdm0pCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3Bw
CmluZGV4IDkwOWViZGJjNDRiN2ZiYzQyMDJjZDY5NjdjMDljYmQyNjQyOGNjYzMuLjBjNWZlZmJi
YjhiNzhlZmIwNDEyNGI3NWU0YTI2N2VhNjc5MjY0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKQEAgLTEzNCw2ICsxMzQs
MTIgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJvcGVydHlTbG93KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFYKICAgICAgICAgdWlkID0gdm0ucHJvcGVydHlO
YW1lcy0+dG9QcmltaXRpdmVTeW1ib2wuaW1wbCgpOwogICAgICAgICBicmVhazsKICAgICB9CisK
KyAgICBpZiAoIW93blN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpIHx8
IG93blN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3Bl
cnR5Q2FjaGUoa2V5KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkpIHsK
ICAgICAgICAgLy8gV2UgZG9uJ3QgaGFuZGxlIHRoZSBvd24gcHJvcGVydHkgY2FzZSBvZiBzcGVj
aWFsIHByb3BlcnRpZXMgKHRvU3RyaW5nLCB2YWx1ZU9mLCBAQHRvUHJpbWl0aXZlLCBAQHRvU3Ry
aW5nVGFnKSBiZWNhdXNlIHdlIHdvdWxkIG5ldmVyIGtub3cgaWYgYSBuZXcKQEAgLTE0MSwxNCAr
MTQ3LDI5IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3BlY2lhbFByb3BlcnR5U2xv
dyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWCiAgICAgICAgIC8vIEFkZGl0aW9uYWxs
eSwgdGhpcyBpcyBhIHN1cGVyIHVubGlrZWx5IGNhc2UgYW55d2F5LgogICAgICAgICBpZiAoIXNs
b3QuaXNDYWNoZWFibGUoKSB8fCBzbG90LnNsb3RCYXNlKCktPnN0cnVjdHVyZSh2bSkgPT0gb3du
U3RydWN0dXJlKQogICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIC8vIFRoaXMgd2lsbCBu
b3QgY3JlYXRlIGEgY29uZGl0aW9uIGZvciB0aGUgY3VycmVudCBzdHJ1Y3R1cmUgYnV0IHRoYXQg
aXMgZ29vZCBiZWNhdXNlIHdlIGtub3cgdGhhdCBwcm9wZXJ0eQogICAgICAgICAvLyBpcyBub3Qg
b24gdGhlIG93blN0cnVjdHVyZSBzbyB3ZSB3aWxsIHRyYW5zaXNpdGlvbiBpZiBvbmUgaXMgYWRk
ZWQgYW5kIHRoaXMgY2FjaGUgd2lsbCBubyBsb25nZXIgYmUgdXNlZC4KLSAgICAgICAgcHJlcGFy
ZUNoYWluRm9yQ2FjaGluZyhnbG9iYWxPYmplY3QsIG93blN0cnVjdHVyZSwgc2xvdC5zbG90QmFz
ZSgpKTsKKyAgICAgICAgYXV0byBjYWNoZVN0YXR1cyA9IHByZXBhcmVDaGFpbkZvckNhY2hpbmco
Z2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSk7CisgICAgICAgIGlm
ICghY2FjaGVTdGF0dXMpIHsKKyAgICAgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3BlcnR5Q2Fj
aGUoa2V5KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoY2Fj
aGVTdGF0dXMtPmZsYXR0ZW5lZERpY3Rpb25hcnkpCisgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5
SGl0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QsIG93blN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgp
LCB1aWQpOwogICAgICAgICBBU1NFUlQoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkgfHwgY29uZGl0
aW9uU2V0Lmhhc09uZVNsb3RCYXNlQ29uZGl0aW9uKCkpOwogICAgIH0gZWxzZSBpZiAoc2xvdC5p
c1Vuc2V0KCkpIHsKLSAgICAgICAgcHJlcGFyZUNoYWluRm9yQ2FjaGluZyhnbG9iYWxPYmplY3Qs
IG93blN0cnVjdHVyZSwgbnVsbHB0cik7CisgICAgICAgIGlmICghb3duU3RydWN0dXJlLT5wcm9w
ZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlRm9yQWJzZW5jZSgpKSB7CisgICAgICAgICAgICBnaXZl
VXBPblNwZWNpYWxQcm9wZXJ0eUNhY2hlKGtleSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICAgICAgYXV0byBjYWNoZVN0YXR1cyA9IHByZXBhcmVDaGFpbkZvckNhY2hpbmco
Z2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1cmUsIG51bGxwdHIpOworICAgICAgICBpZiAoIWNhY2hl
U3RhdHVzKSB7CisgICAgICAgICAgICBnaXZlVXBPblNwZWNpYWxQcm9wZXJ0eUNhY2hlKGtleSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNhY2hlU3RhdHVz
LT5mbGF0dGVuZWREaWN0aW9uYXJ5KQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBjb25k
aXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3Modm0sIHRoaXMsIGds
b2JhbE9iamVjdCwgb3duU3RydWN0dXJlLCB1aWQpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAKaW5kZXggNDZi
ZmQzMjdjNmU3OWYwMjQwMjNkMmM5YjljZTcxNzY2ZWE1YTZhMS4uYWQ4YTEzNjE1OTU0NjI4ZDFm
NDEyMTk1NDI4Y2YyNWI3ZDExZTlkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rvb2xzL0pTRG9sbGFyVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9K
U0RvbGxhclZNLmNwcApAQCAtMzE1Myw2ICszMTUzLDE5IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uSXNHaWdhY2FnZUVuYWJsZWQoSlNHbG9iYWxPYmplY3Qq
LCBDCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oR2lnYWNhZ2U6OmlzRW5h
YmxlZCgpKSk7CiB9CiAKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uVG9VbmNhY2hlYWJsZURpY3Rpb25hcnkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCit7CisgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRT
Y29wZTsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgSlNPYmplY3QqIG9iamVjdCA9IGpzRHlu
YW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgaWYg
KCFvYmplY3QpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwg
c2NvcGUsICJFeHBlY3RlZCBmaXJzdCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QiX3MpOworICAg
IG9iamVjdC0+Y29udmVydFRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5KHZtKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKG9iamVjdCk7Cit9CisKIGNvbnN0ZXhwciB1bnNpZ25lZCBqc0RvbGxh
clZNUHJvcGVydHlBdHRyaWJ1dGVzID0gUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGU7
CiAKIHZvaWQgSlNEb2xsYXJWTTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQpAQCAtMzMwMCw2ICsz
MzEzLDggQEAgdm9pZCBKU0RvbGxhclZNOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgYWRk
RnVuY3Rpb24odm0sICJ1c2VKSVQiLCBmdW5jdGlvblVzZUpJVCwgMCk7CiAgICAgYWRkRnVuY3Rp
b24odm0sICJpc0dpZ2FjYWdlRW5hYmxlZCIsIGZ1bmN0aW9uSXNHaWdhY2FnZUVuYWJsZWQsIDAp
OwogCisgICAgYWRkRnVuY3Rpb24odm0sICJ0b1VuY2FjaGVhYmxlRGljdGlvbmFyeSIsIGZ1bmN0
aW9uVG9VbmNhY2hlYWJsZURpY3Rpb25hcnksIDEpOworCiAgICAgbV9vYmplY3REb2luZ1NpZGVF
ZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXNTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBP
YmplY3REb2luZ1NpZGVFZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXM6OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0LCBqc051bGwoKSkpOwogfQogCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlYjA1NWNlNjU5MmZl
NWIwZmQ1OWU5M2FmYjE1ZjRiNzA1ODZmMGQuLjQwYjE5NzU0ZTc2ZTM0ZDBjNWM5YmM2MGYyOTlj
ZjcwNTRlMjYxYTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDktMDUgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTcGVjaWFsIHByb3BlcnR5IGNhY2hp
bmcgc2hvdWxkIGNoZWNrIFN0cnVjdHVyZSdzIGNhY2hlYWJpbGl0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MjIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvbW9kdWxlLW5hbWVzcGFj
ZS1vYmplY3QtY2FjaGluZy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAg
IChhc3luYyBmbik6CisgICAgICAgICogc3RyZXNzL25vdC1jYWNoZS1vdmVyLXVuY2FjaGVhYmxl
LWRpY3Rpb25hcnkuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAqIHN0
cmVzcy9yZXNvdXJjZXMvdG8tc3RyaW5nLW1vZHVsZS5qczogQWRkZWQuCisgICAgICAgIChleHBv
cnQudG9TdHJpbmcpOgorICAgICAgICAqIHN0cmVzcy9yZXNvdXJjZXMvdmFsdWUtb2YtbW9kdWxl
LmpzOiBBZGRlZC4KKyAgICAgICAgKGV4cG9ydC52YWx1ZU9mKToKKwogMjAyMC0wOS0wNCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFsaWduIGxl
Z2FjeSBJbnRsIGNvbnN0cnVjdG9yIGJlaGF2aW9yIHRvIHNwZWMKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL21vZHVsZS1uYW1lc3BhY2Utb2JqZWN0LWNhY2hpbmcuanMgYi9KU1Rlc3RzL3N0
cmVzcy9tb2R1bGUtbmFtZXNwYWNlLW9iamVjdC1jYWNoaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYzdj
OTNhNTUzOGY3ZjI1N2ExMjk5YjY4Yjc2OWI1ZDE4YTcwNjAKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3N0cmVzcy9tb2R1bGUtbmFtZXNwYWNlLW9iamVjdC1jYWNoaW5nLmpzCkBAIC0wLDAg
KzEsMTggQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6
ICcgKyBhY3R1YWwpOworfQorCithc3luYyBmdW5jdGlvbiBmbigpIHsKKyAgICAvLyBCb3RoIHNo
b3VsZCBoYXZlIHNhbWUgc3RydWN0dXJlLgorICAgIGNvbnN0IHZhbHVlT2ZNb2R1bGUgPSBhd2Fp
dCBpbXBvcnQoJy4vcmVzb3VyY2VzL3ZhbHVlLW9mLW1vZHVsZS5qcycpOworICAgIGNvbnN0IHRv
U3RyaW5nTW9kdWxlID0gYXdhaXQgaW1wb3J0KCcuL3Jlc291cmNlcy90by1zdHJpbmctbW9kdWxl
LmpzJyk7CisKKyAgICAvLyBUaGVzZSB2YWx1ZU9mIC8gdG9TdHJpbmcgc2hvdWxkIG5vdCBiZSBj
YWNoZWQuCisgICAgc2hvdWxkQmUoU3RyaW5nKHRvU3RyaW5nTW9kdWxlKSwgYDIwMjBgKTsKKyAg
ICBzaG91bGRCZShOdW1iZXIodG9TdHJpbmdNb2R1bGUpLCAyMDIwKTsgLy8gdmFsdWVPZiBzaG91
bGQgbm90IGJlIGNhY2hlZCBzaW5jZSBuYW1lc3BhY2Ugb2JqZWN0IGlzIGltcHVyZSBmb3IgYWJz
ZW50LgorCisgICAgc2hvdWxkQmUoTnVtYmVyKHZhbHVlT2ZNb2R1bGUpLCA0Mik7IC8vIElmIHRo
ZSBhYm92ZSBhY2Nlc3MgYWNjaWRlbnRhbGx5IGNhY2hlZCB0aGUgdmFsdWUsIHRoaXMgd2lsbCBu
b3QgcmV0dXJuIDQyLgorICAgIHNob3VsZEJlKFN0cmluZyh2YWx1ZU9mTW9kdWxlKSwgYDQyYCk7
Cit9CitmbigpLmNhdGNoKCR2bS5hYm9ydCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9u
b3QtY2FjaGUtb3Zlci11bmNhY2hlYWJsZS1kaWN0aW9uYXJ5LmpzIGIvSlNUZXN0cy9zdHJlc3Mv
bm90LWNhY2hlLW92ZXItdW5jYWNoZWFibGUtZGljdGlvbmFyeS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDJh
YzhkYWJkMzk0OWUwZDJmNzk1ZTZhZWMzMzZkNWIwNTk5NDIyCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy9zdHJlc3Mvbm90LWNhY2hlLW92ZXItdW5jYWNoZWFibGUtZGljdGlvbmFyeS5qcwpA
QCAtMCwwICsxLDE0IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Cisg
ICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFk
IHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKwordmFyIG9iamVjdCA9IHt9OworJHZtLnRvVW5jYWNo
ZWFibGVEaWN0aW9uYXJ5KG9iamVjdCk7CitzaG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmpl
Y3QgT2JqZWN0XWApOworc2hvdWxkQmUoU3RyaW5nKG9iamVjdCksIGBbb2JqZWN0IE9iamVjdF1g
KTsKK3Nob3VsZEJlKFN0cmluZyhvYmplY3QpLCBgW29iamVjdCBPYmplY3RdYCk7CitvYmplY3Rb
U3ltYm9sLnRvU3RyaW5nVGFnXSA9ICJPSyI7CitzaG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtv
YmplY3QgT0tdYCk7CitzaG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT0tdYCk7Citz
aG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT0tdYCk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3N0cmVzcy9yZXNvdXJjZXMvdG8tc3RyaW5nLW1vZHVsZS5qcyBiL0pTVGVzdHMvc3RyZXNz
L3Jlc291cmNlcy90by1zdHJpbmctbW9kdWxlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4ODBjNjE3MjM1OTJk
Mzk0OGQzOGQ5MTc0Yzc1Nzc3ZmQ3ODNjMGUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0
cmVzcy9yZXNvdXJjZXMvdG8tc3RyaW5nLW1vZHVsZS5qcwpAQCAtMCwwICsxLDQgQEAKK2V4cG9y
dCBmdW5jdGlvbiB0b1N0cmluZygpCit7CisgICAgcmV0dXJuICIyMDIwIjsKK30KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy92YWx1ZS1vZi1tb2R1bGUuanMgYi9KU1Rlc3Rz
L3N0cmVzcy9yZXNvdXJjZXMvdmFsdWUtb2YtbW9kdWxlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMTY5MDQ3
NzgyN2IzYzRlNjRiMTRjNTgzYjNkMTg4ODE4N2Q0NTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3N0cmVzcy9yZXNvdXJjZXMvdmFsdWUtb2YtbW9kdWxlLmpzCkBAIC0wLDAgKzEsNCBAQAor
ZXhwb3J0IGZ1bmN0aW9uIHZhbHVlT2YoKQoreworICAgIHJldHVybiA0MjsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408117</attachid>
            <date>2020-09-06 00:02:34 -0700</date>
            <delta_ts>2020-09-06 00:04:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216222-20200906000233.patch</filename>
            <type>text/plain</type>
            <size>10742</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWVkYjlmYjgxNjgzOGY4ZTMxYjZlOGQyNWYwMjQ0MmFmNTRmOTExLi4wOGU3ZmVlMmQ1NTQwNzAz
NTY4M2ZiNWE5NWZlMGVjZjdlZGJjMzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0wOS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNwZWNpYWwgcHJvcGVydHkgY2FjaGluZyBzaG91bGQgY2hlY2sg
U3RydWN0dXJlJ3MgY2FjaGVhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGlsZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJv
cGVydHlTbG93IGNhY2hlcyBwcm9wZXJ0aWVzLCB0aGUgd2F5IGl0IHRha2VzIGlzIGluY29tcGxl
dGUuCisgICAgICAgIEl0IGlzIG5vdCBjaGVja2luZyBTdHJ1Y3R1cmUncyBjYWNoZWFiaWxpdHku
IFdlIHdlcmUgY2FjaGluZyBtaXNzIGNvbmRpdGlvbiBldmVuIGlmIHN0cnVjdHVyZSBpcyAhcHJv
cGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZUZvckFic2VuY2UuCisgICAgICAgIFdlIHNob3VsZCBw
ZXJmb3JtIHRoZSBzYW1lIGNoZWNrIGRvbmUgaW4gSUMgY2FzZS4gU3RyaWN0bHkgc3BlYWtpbmcs
IHdlIGNhbiBjYWNoZSB2YWx1ZSBmb3IgdW5jYWNoZWFibGUtZGljdGlvbmFyeSBiZWNhdXNlIHdl
IGFyZSBzZXR0aW5nCisgICAgICAgIHByb3BlcnR5IGNoYW5nZSB3YXRjaHBvaW50ICh3aGljaCB3
aWxsIGZpcmUpLiBCdXQgaXQgc291bmRzIG5vdCBzbyBwcm9maXRhYmxlIGlmIHRoaXMgc3RydWN0
dXJlIGlzIHVuY2FjaGVhYmxlLgorCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3Bl
Y2lhbFByb3BlcnR5U2xvdyk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisgICAg
ICAgIChKU0M6OmZ1bmN0aW9uVG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgorICAgICAgICAoSlND
OjpKU0RvbGxhclZNOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAtMDktMDUgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBzdXBwcmVzcyBl
eGNlcHRpb24gY2hlY2tpbmcgYWZ0ZXIgdW53cmFwRm9yT2xkRnVuY3Rpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggOTZlNzczYTMxMGFkYjk3MzRl
ZTBhODhhNzcxODhmODg5NjQ4YmI1NC4uMDAxNjgzMWM2NjBhNzdhZmVjYWVkYWNlYTQ4MjFlYzRk
ZWMxZjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApA
QCAtMzczNiw2ICszNzM2LDE2IEBAIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRUb0RpY3Rpb25hcnko
Vk0mIHZtKQogICAgICAgICB2bSwgU3RydWN0dXJlOjp0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCAmZGVmZXJyZWRXYXRjaHBvaW50RmlyZSkpOwogfQog
Cit2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkoVk0mIHZtKQor
eworICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5pc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgpKQorICAg
ICAgICByZXR1cm47CisgICAgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZp
cmUgZGVmZXJyZWRXYXRjaHBvaW50RmlyZSh2bSwgc3RydWN0dXJlKHZtKSk7CisgICAgc2V0U3Ry
dWN0dXJlKAorICAgICAgICB2bSwgU3RydWN0dXJlOjp0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRy
YW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksICZkZWZlcnJlZFdhdGNocG9pbnRGaXJlKSk7Cit9
CisKKwogdm9pZCBKU09iamVjdDo6c2hpZnRCdXR0ZXJmbHlBZnRlckZsYXR0ZW5pbmcoY29uc3Qg
R0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
c2l6ZV90IG91dE9mTGluZUNhcGFjaXR5QWZ0ZXIpCiB7CiAgICAgLy8gVGhpcyBjb3VsZCBpbnRl
cmxlYXZlIHZpc2l0Q2hpbGRyZW4gYmVjYXVzZSBzb21lIG9sZCBzdHJ1Y3R1cmUgY291bGQgaGF2
ZSBiZWVuIGEgbm9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRl
eCA2Mzc3YjRkZWIyNzg0YWU4M2UzNTUxZWU2MzZlZWFiODJlMTgwYTkzLi5hZTMzZmZmNDAzNDk0
NmM2NzNlOGY5YjVkOThmMzdhNmE0MWNhY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKQEAgLTg1MSw2ICs4NTEsNyBAQCBjbGFzcyBKU09iamVjdCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIHZvaWQgc2V0U3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CiAKICAg
ICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb0RpY3Rpb25hcnkoVk0mKTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb1VuY2FjaGVhYmxlRGljdGlvbmFyeShWTSYp
OwogCiAgICAgdm9pZCBmbGF0dGVuRGljdGlvbmFyeU9iamVjdChWTSYgdm0pCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3Bw
CmluZGV4IDkwOWViZGJjNDRiN2ZiYzQyMDJjZDY5NjdjMDljYmQyNjQyOGNjYzMuLmIyODEzNzgw
ZThlNzk0NmJhYzZkMWFiNTE3ZTg4MWNlMjY3NmJlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKQEAgLTEzNCw2ICsxMzQs
MTIgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJvcGVydHlTbG93KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFYKICAgICAgICAgdWlkID0gdm0ucHJvcGVydHlO
YW1lcy0+dG9QcmltaXRpdmVTeW1ib2wuaW1wbCgpOwogICAgICAgICBicmVhazsKICAgICB9CisK
KyAgICBpZiAoIW93blN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpIHx8
IG93blN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3Bl
cnR5Q2FjaGUoa2V5KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkpIHsK
ICAgICAgICAgLy8gV2UgZG9uJ3QgaGFuZGxlIHRoZSBvd24gcHJvcGVydHkgY2FzZSBvZiBzcGVj
aWFsIHByb3BlcnRpZXMgKHRvU3RyaW5nLCB2YWx1ZU9mLCBAQHRvUHJpbWl0aXZlLCBAQHRvU3Ry
aW5nVGFnKSBiZWNhdXNlIHdlIHdvdWxkIG5ldmVyIGtub3cgaWYgYSBuZXcKQEAgLTE0MSwxNCAr
MTQ3LDI1IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3BlY2lhbFByb3BlcnR5U2xv
dyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWCiAgICAgICAgIC8vIEFkZGl0aW9uYWxs
eSwgdGhpcyBpcyBhIHN1cGVyIHVubGlrZWx5IGNhc2UgYW55d2F5LgogICAgICAgICBpZiAoIXNs
b3QuaXNDYWNoZWFibGUoKSB8fCBzbG90LnNsb3RCYXNlKCktPnN0cnVjdHVyZSh2bSkgPT0gb3du
U3RydWN0dXJlKQogICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIC8vIFRoaXMgd2lsbCBu
b3QgY3JlYXRlIGEgY29uZGl0aW9uIGZvciB0aGUgY3VycmVudCBzdHJ1Y3R1cmUgYnV0IHRoYXQg
aXMgZ29vZCBiZWNhdXNlIHdlIGtub3cgdGhhdCBwcm9wZXJ0eQogICAgICAgICAvLyBpcyBub3Qg
b24gdGhlIG93blN0cnVjdHVyZSBzbyB3ZSB3aWxsIHRyYW5zaXNpdGlvbiBpZiBvbmUgaXMgYWRk
ZWQgYW5kIHRoaXMgY2FjaGUgd2lsbCBubyBsb25nZXIgYmUgdXNlZC4KLSAgICAgICAgcHJlcGFy
ZUNoYWluRm9yQ2FjaGluZyhnbG9iYWxPYmplY3QsIG93blN0cnVjdHVyZSwgc2xvdC5zbG90QmFz
ZSgpKTsKKyAgICAgICAgYXV0byBjYWNoZVN0YXR1cyA9IHByZXBhcmVDaGFpbkZvckNhY2hpbmco
Z2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSk7CisgICAgICAgIGlm
ICghY2FjaGVTdGF0dXMpIHsKKyAgICAgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3BlcnR5Q2Fj
aGUoa2V5KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCh2bSwgdGhp
cywgZ2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgdWlkKTsKICAg
ICAgICAgQVNTRVJUKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpIHx8IGNvbmRpdGlvblNldC5oYXNP
bmVTbG90QmFzZUNvbmRpdGlvbigpKTsKICAgICB9IGVsc2UgaWYgKHNsb3QuaXNVbnNldCgpKSB7
Ci0gICAgICAgIHByZXBhcmVDaGFpbkZvckNhY2hpbmcoZ2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1
cmUsIG51bGxwdHIpOworICAgICAgICBpZiAoIW93blN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nl
c0FyZUNhY2hlYWJsZUZvckFic2VuY2UoKSkgeworICAgICAgICAgICAgZ2l2ZVVwT25TcGVjaWFs
UHJvcGVydHlDYWNoZShrZXkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGF1dG8gY2FjaGVTdGF0dXMgPSBwcmVwYXJlQ2hhaW5Gb3JDYWNoaW5nKGdsb2JhbE9iamVj
dCwgb3duU3RydWN0dXJlLCBudWxscHRyKTsKKyAgICAgICAgaWYgKCFjYWNoZVN0YXR1cykgewor
ICAgICAgICAgICAgZ2l2ZVVwT25TcGVjaWFsUHJvcGVydHlDYWNoZShrZXkpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3BlcnR5TWlzcyh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0LCBvd25TdHJ1Y3R1
cmUsIHVpZCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAppbmRleCA0NmJmZDMyN2M2ZTc5ZjAyNDAyM2QyYzli
OWNlNzE3NjZlYTVhNmExLi5hZDhhMTM2MTU5NTQ2MjhkMWY0MTIxOTU0MjhjZjI1YjdkMTFlOWRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCkBAIC0zMTUz
LDYgKzMxNTMsMTkgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25Jc0dpZ2FjYWdlRW5hYmxlZChKU0dsb2JhbE9iamVjdCosIEMKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzQm9vbGVhbihHaWdhY2FnZTo6aXNFbmFibGVkKCkpKTsKIH0KIAorc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Ub1VuY2FjaGVhYmxlRGljdGlv
bmFyeShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
K3sKKyAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZt
LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDApKTsKKyAgICBpZiAoIW9iamVjdCkKKyAgICAgICAgcmV0
dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkV4cGVjdGVkIGZpcnN0
IGFyZ3VtZW50IHRvIGJlIGFuIG9iamVjdCJfcyk7CisgICAgb2JqZWN0LT5jb252ZXJ0VG9VbmNh
Y2hlYWJsZURpY3Rpb25hcnkodm0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0
KTsKK30KKwogY29uc3RleHByIHVuc2lnbmVkIGpzRG9sbGFyVk1Qcm9wZXJ0eUF0dHJpYnV0ZXMg
PSBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZTsKIAogdm9pZCBKU0RvbGxhclZNOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCkBAIC0zMzAwLDYgKzMzMTMsOCBAQCB2b2lkIEpTRG9sbGFy
Vk06OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICAgICBhZGRGdW5jdGlvbih2bSwgInVzZUpJVCIs
IGZ1bmN0aW9uVXNlSklULCAwKTsKICAgICBhZGRGdW5jdGlvbih2bSwgImlzR2lnYWNhZ2VFbmFi
bGVkIiwgZnVuY3Rpb25Jc0dpZ2FjYWdlRW5hYmxlZCwgMCk7CiAKKyAgICBhZGRGdW5jdGlvbih2
bSwgInRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5IiwgZnVuY3Rpb25Ub1VuY2FjaGVhYmxlRGljdGlv
bmFyeSwgMSk7CisKICAgICBtX29iamVjdERvaW5nU2lkZUVmZmVjdFB1dFdpdGhvdXRDb3JyZWN0
U2xvdFN0YXR1c1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIE9iamVjdERvaW5nU2lkZUVmZmVjdFB1
dFdpdGhvdXRDb3JyZWN0U2xvdFN0YXR1czo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmpl
Y3QsIGpzTnVsbCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2ViMDU1Y2U2NTkyZmU1YjBmZDU5ZTkzYWZiMTVmNGI3MDU4
NmYwZC4uYmJkZTVlMDdlMDhmYzkxYjhjMzAxYmJkM2Y2MzE4MjMxYmJhN2E1YyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MCBAQAorMjAyMC0wOS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisg
ICAgICAgIFtKU0NdIFNwZWNpYWwgcHJvcGVydHkgY2FjaGluZyBzaG91bGQgY2hlY2sgU3RydWN0
dXJlJ3MgY2FjaGVhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTYyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHN0cmVzcy9tb2R1bGUtbmFtZXNwYWNlLW9iamVjdC1jYWNoaW5nLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKGFzeW5jIGZuKToKKyAgICAgICAg
KiBzdHJlc3Mvbm90LWNhY2hlLW92ZXItdW5jYWNoZWFibGUtZGljdGlvbmFyeS5qczogQWRkZWQu
CisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgICogc3RyZXNzL3Jlc291cmNlcy90by1zdHJp
bmctbW9kdWxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGV4cG9ydC50b1N0cmluZyk6CisgICAgICAg
ICogc3RyZXNzL3Jlc291cmNlcy92YWx1ZS1vZi1tb2R1bGUuanM6IEFkZGVkLgorICAgICAgICAo
ZXhwb3J0LnZhbHVlT2YpOgorCiAyMDIwLTA5LTA0ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQWxpZ24gbGVnYWN5IEludGwgY29uc3RydWN0b3Ig
YmVoYXZpb3IgdG8gc3BlYwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbW9kdWxlLW5hbWVz
cGFjZS1vYmplY3QtY2FjaGluZy5qcyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZS1uYW1lc3BhY2Ut
b2JqZWN0LWNhY2hpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRjN2M5M2E1NTM4ZjdmMjU3YTEyOTliNjhi
NzY5YjVkMThhNzA2MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL21vZHVsZS1u
YW1lc3BhY2Utb2JqZWN0LWNhY2hpbmcuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gc2hv
dWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2Fz
eW5jIGZ1bmN0aW9uIGZuKCkgeworICAgIC8vIEJvdGggc2hvdWxkIGhhdmUgc2FtZSBzdHJ1Y3R1
cmUuCisgICAgY29uc3QgdmFsdWVPZk1vZHVsZSA9IGF3YWl0IGltcG9ydCgnLi9yZXNvdXJjZXMv
dmFsdWUtb2YtbW9kdWxlLmpzJyk7CisgICAgY29uc3QgdG9TdHJpbmdNb2R1bGUgPSBhd2FpdCBp
bXBvcnQoJy4vcmVzb3VyY2VzL3RvLXN0cmluZy1tb2R1bGUuanMnKTsKKworICAgIC8vIFRoZXNl
IHZhbHVlT2YgLyB0b1N0cmluZyBzaG91bGQgbm90IGJlIGNhY2hlZC4KKyAgICBzaG91bGRCZShT
dHJpbmcodG9TdHJpbmdNb2R1bGUpLCBgMjAyMGApOworICAgIHNob3VsZEJlKE51bWJlcih0b1N0
cmluZ01vZHVsZSksIDIwMjApOyAvLyB2YWx1ZU9mIHNob3VsZCBub3QgYmUgY2FjaGVkIHNpbmNl
IG5hbWVzcGFjZSBvYmplY3QgaXMgaW1wdXJlIGZvciBhYnNlbnQuCisKKyAgICBzaG91bGRCZShO
dW1iZXIodmFsdWVPZk1vZHVsZSksIDQyKTsgLy8gSWYgdGhlIGFib3ZlIGFjY2VzcyBhY2NpZGVu
dGFsbHkgY2FjaGVkIHRoZSB2YWx1ZSwgdGhpcyB3aWxsIG5vdCByZXR1cm4gNDIuCisgICAgc2hv
dWxkQmUoU3RyaW5nKHZhbHVlT2ZNb2R1bGUpLCBgNDJgKTsKK30KK2ZuKCkuY2F0Y2goJHZtLmFi
b3J0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL25vdC1jYWNoZS1vdmVyLXVuY2FjaGVh
YmxlLWRpY3Rpb25hcnkuanMgYi9KU1Rlc3RzL3N0cmVzcy9ub3QtY2FjaGUtb3Zlci11bmNhY2hl
YWJsZS1kaWN0aW9uYXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkMmFjOGRhYmQzOTQ5ZTBkMmY3OTVlNmFl
YzMzNmQ1YjA1OTk0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9ub3QtY2Fj
aGUtb3Zlci11bmNhY2hlYWJsZS1kaWN0aW9uYXJ5LmpzCkBAIC0wLDAgKzEsMTQgQEAKK2Z1bmN0
aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOwor
fQorCit2YXIgb2JqZWN0ID0ge307Ciskdm0udG9VbmNhY2hlYWJsZURpY3Rpb25hcnkob2JqZWN0
KTsKK3Nob3VsZEJlKFN0cmluZyhvYmplY3QpLCBgW29iamVjdCBPYmplY3RdYCk7CitzaG91bGRC
ZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT2JqZWN0XWApOworc2hvdWxkQmUoU3RyaW5nKG9i
amVjdCksIGBbb2JqZWN0IE9iamVjdF1gKTsKK29iamVjdFtTeW1ib2wudG9TdHJpbmdUYWddID0g
Ik9LIjsKK3Nob3VsZEJlKFN0cmluZyhvYmplY3QpLCBgW29iamVjdCBPS11gKTsKK3Nob3VsZEJl
KFN0cmluZyhvYmplY3QpLCBgW29iamVjdCBPS11gKTsKK3Nob3VsZEJlKFN0cmluZyhvYmplY3Qp
LCBgW29iamVjdCBPS11gKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy90
by1zdHJpbmctbW9kdWxlLmpzIGIvSlNUZXN0cy9zdHJlc3MvcmVzb3VyY2VzL3RvLXN0cmluZy1t
b2R1bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODg4MGM2MTcyMzU5MmQzOTQ4ZDM4ZDkxNzRjNzU3NzdmZDc4
M2MwZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy90by1zdHJp
bmctbW9kdWxlLmpzCkBAIC0wLDAgKzEsNCBAQAorZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKCkK
K3sKKyAgICByZXR1cm4gIjIwMjAiOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmVz
b3VyY2VzL3ZhbHVlLW9mLW1vZHVsZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy92YWx1
ZS1vZi1tb2R1bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIxNjkwNDc3ODI3YjNjNGU2NGIxNGM1ODNiM2Qx
ODg4MTg3ZDQ1NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy92
YWx1ZS1vZi1tb2R1bGUuanMKQEAgLTAsMCArMSw0IEBACitleHBvcnQgZnVuY3Rpb24gdmFsdWVP
ZigpCit7CisgICAgcmV0dXJuIDQyOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408118</attachid>
            <date>2020-09-06 00:04:16 -0700</date>
            <delta_ts>2020-09-07 23:30:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216222-20200906000415.patch</filename>
            <type>text/plain</type>
            <size>10575</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWVkYjlmYjgxNjgzOGY4ZTMxYjZlOGQyNWYwMjQ0MmFmNTRmOTExLi4wOGU3ZmVlMmQ1NTQwNzAz
NTY4M2ZiNWE5NWZlMGVjZjdlZGJjMzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMC0wOS0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNwZWNpYWwgcHJvcGVydHkgY2FjaGluZyBzaG91bGQgY2hlY2sg
U3RydWN0dXJlJ3MgY2FjaGVhYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTYyMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGlsZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJv
cGVydHlTbG93IGNhY2hlcyBwcm9wZXJ0aWVzLCB0aGUgd2F5IGl0IHRha2VzIGlzIGluY29tcGxl
dGUuCisgICAgICAgIEl0IGlzIG5vdCBjaGVja2luZyBTdHJ1Y3R1cmUncyBjYWNoZWFiaWxpdHku
IFdlIHdlcmUgY2FjaGluZyBtaXNzIGNvbmRpdGlvbiBldmVuIGlmIHN0cnVjdHVyZSBpcyAhcHJv
cGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZUZvckFic2VuY2UuCisgICAgICAgIFdlIHNob3VsZCBw
ZXJmb3JtIHRoZSBzYW1lIGNoZWNrIGRvbmUgaW4gSUMgY2FzZS4gU3RyaWN0bHkgc3BlYWtpbmcs
IHdlIGNhbiBjYWNoZSB2YWx1ZSBmb3IgdW5jYWNoZWFibGUtZGljdGlvbmFyeSBiZWNhdXNlIHdl
IGFyZSBzZXR0aW5nCisgICAgICAgIHByb3BlcnR5IGNoYW5nZSB3YXRjaHBvaW50ICh3aGljaCB3
aWxsIGZpcmUpLiBCdXQgaXQgc291bmRzIG5vdCBzbyBwcm9maXRhYmxlIGlmIHRoaXMgc3RydWN0
dXJlIGlzIHVuY2FjaGVhYmxlLgorCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3Bl
Y2lhbFByb3BlcnR5U2xvdyk6CisgICAgICAgICogdG9vbHMvSlNEb2xsYXJWTS5jcHA6CisgICAg
ICAgIChKU0M6OmZ1bmN0aW9uVG9VbmNhY2hlYWJsZURpY3Rpb25hcnkpOgorICAgICAgICAoSlND
OjpKU0RvbGxhclZNOjpmaW5pc2hDcmVhdGlvbik6CisKIDIwMjAtMDktMDUgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBzdXBwcmVzcyBl
eGNlcHRpb24gY2hlY2tpbmcgYWZ0ZXIgdW53cmFwRm9yT2xkRnVuY3Rpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggOTZlNzczYTMxMGFkYjk3MzRl
ZTBhODhhNzcxODhmODg5NjQ4YmI1NC4uMDAxNjgzMWM2NjBhNzdhZmVjYWVkYWNlYTQ4MjFlYzRk
ZWMxZjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApA
QCAtMzczNiw2ICszNzM2LDE2IEBAIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRUb0RpY3Rpb25hcnko
Vk0mIHZtKQogICAgICAgICB2bSwgU3RydWN0dXJlOjp0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCAmZGVmZXJyZWRXYXRjaHBvaW50RmlyZSkpOwogfQog
Cit2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VG9VbmNhY2hlYWJsZURpY3Rpb25hcnkoVk0mIHZtKQor
eworICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5pc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgpKQorICAg
ICAgICByZXR1cm47CisgICAgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZp
cmUgZGVmZXJyZWRXYXRjaHBvaW50RmlyZSh2bSwgc3RydWN0dXJlKHZtKSk7CisgICAgc2V0U3Ry
dWN0dXJlKAorICAgICAgICB2bSwgU3RydWN0dXJlOjp0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRy
YW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksICZkZWZlcnJlZFdhdGNocG9pbnRGaXJlKSk7Cit9
CisKKwogdm9pZCBKU09iamVjdDo6c2hpZnRCdXR0ZXJmbHlBZnRlckZsYXR0ZW5pbmcoY29uc3Qg
R0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
c2l6ZV90IG91dE9mTGluZUNhcGFjaXR5QWZ0ZXIpCiB7CiAgICAgLy8gVGhpcyBjb3VsZCBpbnRl
cmxlYXZlIHZpc2l0Q2hpbGRyZW4gYmVjYXVzZSBzb21lIG9sZCBzdHJ1Y3R1cmUgY291bGQgaGF2
ZSBiZWVuIGEgbm9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRl
eCA2Mzc3YjRkZWIyNzg0YWU4M2UzNTUxZWU2MzZlZWFiODJlMTgwYTkzLi5hZTMzZmZmNDAzNDk0
NmM2NzNlOGY5YjVkOThmMzdhNmE0MWNhY2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKQEAgLTg1MSw2ICs4NTEsNyBAQCBjbGFzcyBKU09iamVjdCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgIHZvaWQgc2V0U3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CiAKICAg
ICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb0RpY3Rpb25hcnkoVk0mKTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGNvbnZlcnRUb1VuY2FjaGVhYmxlRGljdGlvbmFyeShWTSYp
OwogCiAgICAgdm9pZCBmbGF0dGVuRGljdGlvbmFyeU9iamVjdChWTSYgdm0pCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3Bw
CmluZGV4IDkwOWViZGJjNDRiN2ZiYzQyMDJjZDY5NjdjMDljYmQyNjQyOGNjYzMuLmRhNmNhNTk4
NmVlY2JlMzllYmMwN2M2NzJiOGVkNGQ2Y2Q0N2QxMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKQEAgLTEzNCw2ICsxMzQs
MTIgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVTcGVjaWFsUHJvcGVydHlTbG93KEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFYKICAgICAgICAgdWlkID0gdm0ucHJvcGVydHlO
YW1lcy0+dG9QcmltaXRpdmVTeW1ib2wuaW1wbCgpOwogICAgICAgICBicmVhazsKICAgICB9CisK
KyAgICBpZiAoIW93blN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpIHx8
IG93blN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3Bl
cnR5Q2FjaGUoa2V5KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkpIHsK
ICAgICAgICAgLy8gV2UgZG9uJ3QgaGFuZGxlIHRoZSBvd24gcHJvcGVydHkgY2FzZSBvZiBzcGVj
aWFsIHByb3BlcnRpZXMgKHRvU3RyaW5nLCB2YWx1ZU9mLCBAQHRvUHJpbWl0aXZlLCBAQHRvU3Ry
aW5nVGFnKSBiZWNhdXNlIHdlIHdvdWxkIG5ldmVyIGtub3cgaWYgYSBuZXcKQEAgLTE0NCwxMSAr
MTUwLDI0IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlU3BlY2lhbFByb3BlcnR5U2xv
dyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWCiAKICAgICAgICAgLy8gVGhpcyB3aWxs
IG5vdCBjcmVhdGUgYSBjb25kaXRpb24gZm9yIHRoZSBjdXJyZW50IHN0cnVjdHVyZSBidXQgdGhh
dCBpcyBnb29kIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHByb3BlcnR5CiAgICAgICAgIC8vIGlzIG5v
dCBvbiB0aGUgb3duU3RydWN0dXJlIHNvIHdlIHdpbGwgdHJhbnNpc2l0aW9uIGlmIG9uZSBpcyBh
ZGRlZCBhbmQgdGhpcyBjYWNoZSB3aWxsIG5vIGxvbmdlciBiZSB1c2VkLgotICAgICAgICBwcmVw
YXJlQ2hhaW5Gb3JDYWNoaW5nKGdsb2JhbE9iamVjdCwgb3duU3RydWN0dXJlLCBzbG90LnNsb3RC
YXNlKCkpOworICAgICAgICBhdXRvIGNhY2hlU3RhdHVzID0gcHJlcGFyZUNoYWluRm9yQ2FjaGlu
ZyhnbG9iYWxPYmplY3QsIG93blN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpKTsKKyAgICAgICAg
aWYgKCFjYWNoZVN0YXR1cykgeworICAgICAgICAgICAgZ2l2ZVVwT25TcGVjaWFsUHJvcGVydHlD
YWNoZShrZXkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIGNvbmRp
dGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KHZtLCB0
aGlzLCBnbG9iYWxPYmplY3QsIG93blN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCB1aWQpOwog
ICAgICAgICBBU1NFUlQoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkgfHwgY29uZGl0aW9uU2V0Lmhh
c09uZVNsb3RCYXNlQ29uZGl0aW9uKCkpOwogICAgIH0gZWxzZSBpZiAoc2xvdC5pc1Vuc2V0KCkp
IHsKLSAgICAgICAgcHJlcGFyZUNoYWluRm9yQ2FjaGluZyhnbG9iYWxPYmplY3QsIG93blN0cnVj
dHVyZSwgbnVsbHB0cik7CisgICAgICAgIGlmICghb3duU3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vz
c2VzQXJlQ2FjaGVhYmxlRm9yQWJzZW5jZSgpKSB7CisgICAgICAgICAgICBnaXZlVXBPblNwZWNp
YWxQcm9wZXJ0eUNhY2hlKGtleSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBhdXRvIGNhY2hlU3RhdHVzID0gcHJlcGFyZUNoYWluRm9yQ2FjaGluZyhnbG9iYWxP
YmplY3QsIG93blN0cnVjdHVyZSwgbnVsbHB0cik7CisgICAgICAgIGlmICghY2FjaGVTdGF0dXMp
IHsKKyAgICAgICAgICAgIGdpdmVVcE9uU3BlY2lhbFByb3BlcnR5Q2FjaGUoa2V5KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3Modm0sIHRoaXMsIGdsb2JhbE9iamVjdCwgb3duU3Ry
dWN0dXJlLCB1aWQpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAKaW5kZXggNDZiZmQzMjdjNmU3OWYwMjQwMjNk
MmM5YjljZTcxNzY2ZWE1YTZhMS4uYWQ4YTEzNjE1OTU0NjI4ZDFmNDEyMTk1NDI4Y2YyNWI3ZDEx
ZTlkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcApAQCAt
MzE1Myw2ICszMTUzLDE5IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uSXNHaWdhY2FnZUVuYWJsZWQoSlNHbG9iYWxPYmplY3QqLCBDCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oR2lnYWNhZ2U6OmlzRW5hYmxlZCgpKSk7CiB9CiAKK3N0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uVG9VbmNhY2hlYWJsZURp
Y3Rpb25hcnkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpCit7CisgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworCisgICAgSlNPYmplY3QqIG9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3Qq
Pih2bSwgY2FsbEZyYW1lLT5hcmd1bWVudCgwKSk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJFeHBlY3RlZCBm
aXJzdCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QiX3MpOworICAgIG9iamVjdC0+Y29udmVydFRv
VW5jYWNoZWFibGVEaWN0aW9uYXJ5KHZtKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKG9i
amVjdCk7Cit9CisKIGNvbnN0ZXhwciB1bnNpZ25lZCBqc0RvbGxhclZNUHJvcGVydHlBdHRyaWJ1
dGVzID0gUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGU7CiAKIHZvaWQgSlNEb2xsYXJW
TTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQpAQCAtMzMwMCw2ICszMzEzLDggQEAgdm9pZCBKU0Rv
bGxhclZNOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgYWRkRnVuY3Rpb24odm0sICJ1c2VK
SVQiLCBmdW5jdGlvblVzZUpJVCwgMCk7CiAgICAgYWRkRnVuY3Rpb24odm0sICJpc0dpZ2FjYWdl
RW5hYmxlZCIsIGZ1bmN0aW9uSXNHaWdhY2FnZUVuYWJsZWQsIDApOwogCisgICAgYWRkRnVuY3Rp
b24odm0sICJ0b1VuY2FjaGVhYmxlRGljdGlvbmFyeSIsIGZ1bmN0aW9uVG9VbmNhY2hlYWJsZURp
Y3Rpb25hcnksIDEpOworCiAgICAgbV9vYmplY3REb2luZ1NpZGVFZmZlY3RQdXRXaXRob3V0Q29y
cmVjdFNsb3RTdGF0dXNTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBPYmplY3REb2luZ1NpZGVFZmZl
Y3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXM6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFs
T2JqZWN0LCBqc051bGwoKSkpOwogfQogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlYjA1NWNlNjU5MmZlNWIwZmQ1OWU5M2FmYjE1ZjRi
NzA1ODZmMGQuLmJiZGU1ZTA3ZTA4ZmM5MWI4YzMwMWJiZDNmNjMxODIzMWJiYTdhNWMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMjAtMDktMDYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
KworICAgICAgICBbSlNDXSBTcGVjaWFsIHByb3BlcnR5IGNhY2hpbmcgc2hvdWxkIGNoZWNrIFN0
cnVjdHVyZSdzIGNhY2hlYWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2MjIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdHJlc3MvbW9kdWxlLW5hbWVzcGFjZS1vYmplY3QtY2FjaGluZy5q
czogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgIChhc3luYyBmbik6CisgICAg
ICAgICogc3RyZXNzL25vdC1jYWNoZS1vdmVyLXVuY2FjaGVhYmxlLWRpY3Rpb25hcnkuanM6IEFk
ZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAqIHN0cmVzcy9yZXNvdXJjZXMvdG8t
c3RyaW5nLW1vZHVsZS5qczogQWRkZWQuCisgICAgICAgIChleHBvcnQudG9TdHJpbmcpOgorICAg
ICAgICAqIHN0cmVzcy9yZXNvdXJjZXMvdmFsdWUtb2YtbW9kdWxlLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGV4cG9ydC52YWx1ZU9mKToKKwogMjAyMC0wOS0wNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFsaWduIGxlZ2FjeSBJbnRsIGNvbnN0cnVj
dG9yIGJlaGF2aW9yIHRvIHNwZWMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL21vZHVsZS1u
YW1lc3BhY2Utb2JqZWN0LWNhY2hpbmcuanMgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1bGUtbmFtZXNw
YWNlLW9iamVjdC1jYWNoaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYzdjOTNhNTUzOGY3ZjI1N2ExMjk5
YjY4Yjc2OWI1ZDE4YTcwNjAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9tb2R1
bGUtbmFtZXNwYWNlLW9iamVjdC1jYWNoaW5nLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQor
Cithc3luYyBmdW5jdGlvbiBmbigpIHsKKyAgICAvLyBCb3RoIHNob3VsZCBoYXZlIHNhbWUgc3Ry
dWN0dXJlLgorICAgIGNvbnN0IHZhbHVlT2ZNb2R1bGUgPSBhd2FpdCBpbXBvcnQoJy4vcmVzb3Vy
Y2VzL3ZhbHVlLW9mLW1vZHVsZS5qcycpOworICAgIGNvbnN0IHRvU3RyaW5nTW9kdWxlID0gYXdh
aXQgaW1wb3J0KCcuL3Jlc291cmNlcy90by1zdHJpbmctbW9kdWxlLmpzJyk7CisKKyAgICAvLyBU
aGVzZSB2YWx1ZU9mIC8gdG9TdHJpbmcgc2hvdWxkIG5vdCBiZSBjYWNoZWQuCisgICAgc2hvdWxk
QmUoU3RyaW5nKHRvU3RyaW5nTW9kdWxlKSwgYDIwMjBgKTsKKyAgICBzaG91bGRCZShOdW1iZXIo
dG9TdHJpbmdNb2R1bGUpLCAyMDIwKTsgLy8gdmFsdWVPZiBzaG91bGQgbm90IGJlIGNhY2hlZCBz
aW5jZSBuYW1lc3BhY2Ugb2JqZWN0IGlzIGltcHVyZSBmb3IgYWJzZW50LgorCisgICAgc2hvdWxk
QmUoTnVtYmVyKHZhbHVlT2ZNb2R1bGUpLCA0Mik7IC8vIElmIHRoZSBhYm92ZSBhY2Nlc3MgYWNj
aWRlbnRhbGx5IGNhY2hlZCB0aGUgdmFsdWUsIHRoaXMgd2lsbCBub3QgcmV0dXJuIDQyLgorICAg
IHNob3VsZEJlKFN0cmluZyh2YWx1ZU9mTW9kdWxlKSwgYDQyYCk7Cit9CitmbigpLmNhdGNoKCR2
bS5hYm9ydCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9ub3QtY2FjaGUtb3Zlci11bmNh
Y2hlYWJsZS1kaWN0aW9uYXJ5LmpzIGIvSlNUZXN0cy9zdHJlc3Mvbm90LWNhY2hlLW92ZXItdW5j
YWNoZWFibGUtZGljdGlvbmFyeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDJhYzhkYWJkMzk0OWUwZDJmNzk1
ZTZhZWMzMzZkNWIwNTk5NDIyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3Mvbm90
LWNhY2hlLW92ZXItdW5jYWNoZWFibGUtZGljdGlvbmFyeS5qcwpAQCAtMCwwICsxLDE0IEBACitm
dW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFs
KTsKK30KKwordmFyIG9iamVjdCA9IHt9OworJHZtLnRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5KG9i
amVjdCk7CitzaG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT2JqZWN0XWApOworc2hv
dWxkQmUoU3RyaW5nKG9iamVjdCksIGBbb2JqZWN0IE9iamVjdF1gKTsKK3Nob3VsZEJlKFN0cmlu
ZyhvYmplY3QpLCBgW29iamVjdCBPYmplY3RdYCk7CitvYmplY3RbU3ltYm9sLnRvU3RyaW5nVGFn
XSA9ICJPSyI7CitzaG91bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT0tdYCk7CitzaG91
bGRCZShTdHJpbmcob2JqZWN0KSwgYFtvYmplY3QgT0tdYCk7CitzaG91bGRCZShTdHJpbmcob2Jq
ZWN0KSwgYFtvYmplY3QgT0tdYCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9yZXNvdXJj
ZXMvdG8tc3RyaW5nLW1vZHVsZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jlc291cmNlcy90by1zdHJp
bmctbW9kdWxlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4ODBjNjE3MjM1OTJkMzk0OGQzOGQ5MTc0Yzc1Nzc3
ZmQ3ODNjMGUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9yZXNvdXJjZXMvdG8t
c3RyaW5nLW1vZHVsZS5qcwpAQCAtMCwwICsxLDQgQEAKK2V4cG9ydCBmdW5jdGlvbiB0b1N0cmlu
ZygpCit7CisgICAgcmV0dXJuICIyMDIwIjsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNz
L3Jlc291cmNlcy92YWx1ZS1vZi1tb2R1bGUuanMgYi9KU1Rlc3RzL3N0cmVzcy9yZXNvdXJjZXMv
dmFsdWUtb2YtbW9kdWxlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMTY5MDQ3NzgyN2IzYzRlNjRiMTRjNTgz
YjNkMTg4ODE4N2Q0NTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9yZXNvdXJj
ZXMvdmFsdWUtb2YtbW9kdWxlLmpzCkBAIC0wLDAgKzEsNCBAQAorZXhwb3J0IGZ1bmN0aW9uIHZh
bHVlT2YoKQoreworICAgIHJldHVybiA0MjsKK30K
</data>
<flag name="review"
          id="423491"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>