<?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>207085</bug_id>
          
          <creation_ts>2020-01-31 20:38:21 -0800</creation_ts>
          <short_desc>[JSC] ShrinkToFit some vectors kept by JIT data structures</short_desc>
          <delta_ts>2020-01-31 21:23:16 -0800</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>1613694</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-31 20:38:21 -0800</bug_when>
    <thetext>[JSC] ShrinkToFit some vectors kept by JIT data structures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613695</commentid>
    <comment_count>1</comment_count>
      <attachid>389451</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-31 20:41:38 -0800</bug_when>
    <thetext>Created attachment 389451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613696</commentid>
    <comment_count>2</comment_count>
      <attachid>389452</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-31 20:47:05 -0800</bug_when>
    <thetext>Created attachment 389452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613697</commentid>
    <comment_count>3</comment_count>
      <attachid>389452</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-31 21:01:29 -0800</bug_when>
    <thetext>Comment on attachment 389452
Patch

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

r=me

&gt; Source/JavaScriptCore/jit/JIT.cpp:242
&gt; +        unsigned slowCasesBefore = m_slowCases.size();

Let’s call this previousSlowCasesSize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613698</commentid>
    <comment_count>4</comment_count>
      <attachid>389452</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-31 21:22:04 -0800</bug_when>
    <thetext>Comment on attachment 389452
Patch

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

&gt;&gt; Source/JavaScriptCore/jit/JIT.cpp:242
&gt;&gt; +        unsigned slowCasesBefore = m_slowCases.size();
&gt; 
&gt; Let’s call this previousSlowCasesSize.

Sounds nice, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613699</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-31 21:22:53 -0800</bug_when>
    <thetext>Committed r255541: &lt;https://trac.webkit.org/changeset/255541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613700</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-31 21:23:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/59084513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389451</attachid>
            <date>2020-01-31 20:41:38 -0800</date>
            <delta_ts>2020-01-31 20:47:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207085-20200131204137.patch</filename>
            <type>text/plain</type>
            <size>13190</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjJlZDliMGQ0YmVmODc3M2Q4YmRmNjI4YTVkZThmMjI4MTZkNmQzLi42NjA2ZjE5YzI5MTI4NDBm
MjMwZjJkMTM0MTAzMWI4MTdiOTUzMTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wMS0zMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNocmlua1RvRml0IHNvbWUgdmVjdG9ycyBrZXB0IGJ5IEpJVCBk
YXRhIHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIDEuIFdlIGFyZSBhbGxvY2F0aW5nIFJhcmVDYXNlUHJvZmlsZSBieSB1c2luZyBTZWdt
ZW50ZWRWZWN0b3Igc2luY2UgSklUIGNvZGUgaXMgZGlyZWN0bHkgYWNjZXNzaW5nIHRvIFJhcmVD
YXNlUHJvZmlsZSouIEJ1dCB3aGVuIGNyZWF0aW5nIFJhcmVDYXNlUHJvZmlsZSwgd2UgY2FuIGtu
b3cKKyAgICAgICAgICAgaG93IG1hbnkgUmFyZUNhc2VQcm9maWxlcyBzaG91bGQgd2UgY3JlYXRl
OiBSYXJlQ2FzZVByb2ZpbGUgaXMgY3JlYXRlZCBwZXIgc2xvdyBwYXRocyBvZiBCYXNlbGluZSBK
SVQgYnl0ZWNvZGUuIFNpbmNlIHdlIGFscmVhZHkgc2NhbiBieXRlY29kZSBmb3IgdGhlIG1haW4g
cGF0aHMsCisgICAgICAgICAgIHdlIGNhbiBjb3VudCBpdCBhbmQgdXNlIHRoaXMgbnVtYmVyIHdo
ZW4gY3JlYXRpbmcgUmFyZUNhc2VQcm9maWxlLgorICAgICAgICAyLiBWZWN0b3JzIGhlbGQgYnkg
UG9seW1vcnBoaWNBY2Nlc3MgYW5kIFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lIHNob3VsZCBi
ZSBrZXB0IHNtYWxsIGJ5IGNhbGxpbmcgc2hyaW5rVG9GaXQuCisKKyAgICAgICAgKiBieXRlY29k
ZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNldFJhcmVDYXNlUHJv
ZmlsZXMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNocmlua1RvRml0KToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjphZGRSYXJlQ2FzZVByb2ZpbGUpOiBEZWxldGVkLgorICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHlQcm90b0FjY2Vz
c0NoYWluLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6
CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlND
OjpQb2x5bW9ycGhpY0FjY2Vzczo6cmVnZW5lcmF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvVmFs
dWVQcm9maWxlLmg6CisgICAgICAgIChKU0M6OlJhcmVDYXNlUHJvZmlsZTo6UmFyZUNhc2VQcm9m
aWxlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dD
YXNlcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9Qb2x5bW9ycGhpY0Nh
bGxTdHViUm91dGluZS5jcHA6CisgICAgICAgIChKU0M6OlBvbHltb3JwaGljQ2FsbFN0dWJSb3V0
aW5lOjpQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZSk6CisKIDIwMjAtMDEtMzEgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBERkc6OkNvbW1vbkRh
dGE6OnNocmlua1RvRml0IGNhbGxlZCBiZWZvcmUgREZHOjpQbGFuOjpyZWFsbHlBZGQgaXMgY2Fs
bGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4
IGI3NzgwYzJhNGQxOWE2NDE3ZDRiZmFlMmFjOTc4NTJjYzg1ODNjNDguLjkxZjA0ZmUzYzg5MmM1
ZDhlODE5MjQ4MWZjY2RkMjI2ODRkNmRhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xNTc3LDEyICsxNTc3LDEwIEBAIENhbGxMaW5rSW5m
byogQ29kZUJsb2NrOjpnZXRDYWxsTGlua0luZm9Gb3JCeXRlY29kZUluZGV4KEJ5dGVjb2RlSW5k
ZXggaW5kZXgpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVJhcmVDYXNlUHJvZmlsZSogQ29k
ZUJsb2NrOjphZGRSYXJlQ2FzZVByb2ZpbGUoQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4KQor
dm9pZCBDb2RlQmxvY2s6OnNldFJhcmVDYXNlUHJvZmlsZXMoUmVmQ291bnRlZEFycmF5PFJhcmVD
YXNlUHJvZmlsZT4mJiByYXJlQ2FzZVByb2ZpbGVzKQogewogICAgIENvbmN1cnJlbnRKU0xvY2tl
ciBsb2NrZXIobV9sb2NrKTsKLSAgICBhdXRvJiBqaXREYXRhID0gZW5zdXJlSklURGF0YShsb2Nr
ZXIpOwotICAgIGppdERhdGEubV9yYXJlQ2FzZVByb2ZpbGVzLmFwcGVuZChSYXJlQ2FzZVByb2Zp
bGUoYnl0ZWNvZGVJbmRleCkpOwotICAgIHJldHVybiAmaml0RGF0YS5tX3JhcmVDYXNlUHJvZmls
ZXMubGFzdCgpOworICAgIGVuc3VyZUpJVERhdGEobG9ja2VyKS5tX3JhcmVDYXNlUHJvZmlsZXMg
PSBXVEZNb3ZlKHJhcmVDYXNlUHJvZmlsZXMpOwogfQogCiBSYXJlQ2FzZVByb2ZpbGUqIENvZGVC
bG9jazo6cmFyZUNhc2VQcm9maWxlRm9yQnl0ZWNvZGVJbmRleChjb25zdCBDb25jdXJyZW50SlNM
b2NrZXImLCBCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5kZXgpCkBAIC0xOTU2LDExICsxOTU0LDYg
QEAgdm9pZCBDb2RlQmxvY2s6OnNocmlua1RvRml0KFNocmlua01vZGUgc2hyaW5rTW9kZSkKIHsK
ICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAKLSNpZiBFTkFCTEUoSklU
KQotICAgIGlmIChhdXRvKiBqaXREYXRhID0gbV9qaXREYXRhLmdldCgpKQotICAgICAgICBqaXRE
YXRhLT5tX3JhcmVDYXNlUHJvZmlsZXMuc2hyaW5rVG9GaXQoKTsKLSNlbmRpZgotICAgIAogICAg
IGlmIChzaHJpbmtNb2RlID09IEVhcmx5U2hyaW5rKSB7CiAgICAgICAgIG1fY29uc3RhbnRSZWdp
c3RlcnMuc2hyaW5rVG9GaXQoKTsKICAgICAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVz
ZW50YXRpb24uc2hyaW5rVG9GaXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAppbmRleCA2MTk2MjIxMGM3ZDYwYmFiZDg2YWZjMmNjZDE3M2I3N2UzYzE0OWFi
Li5hOGI4NzU3NmMwNTY5NWI4MDBmOGMzZDFlYzI1MzI4ZDBhZTg4Yjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNzksNyArMjc5LDcgQEAgY2xh
c3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIEJhZzxDYWxsTGlua0luZm8+
IG1fY2FsbExpbmtJbmZvczsKICAgICAgICAgU2VudGluZWxMaW5rZWRMaXN0PENhbGxMaW5rSW5m
bywgUGFja2VkUmF3U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdDYWxsczsK
ICAgICAgICAgU2VudGluZWxMaW5rZWRMaXN0PFBvbHltb3JwaGljQ2FsbE5vZGUsIFBhY2tlZFJh
d1NlbnRpbmVsTm9kZTxQb2x5bW9ycGhpY0NhbGxOb2RlPj4gbV9pbmNvbWluZ1BvbHltb3JwaGlj
Q2FsbHM7Ci0gICAgICAgIFNlZ21lbnRlZFZlY3RvcjxSYXJlQ2FzZVByb2ZpbGUsIDg+IG1fcmFy
ZUNhc2VQcm9maWxlczsKKyAgICAgICAgUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4g
bV9yYXJlQ2FzZVByb2ZpbGVzOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UENUb0NvZGVPcmln
aW5NYXA+IG1fcGNUb0NvZGVPcmlnaW5NYXA7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWdp
c3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzOwogICAgICAgICBKSVRDb2Rl
TWFwIG1faml0Q29kZU1hcDsKQEAgLTM0Miw3ICszNDIsNyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBw
dWJsaWMgSlNDZWxsIHsKICAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJT
ZXQpOwogICAgIHZvaWQgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhzdGQ6OnVuaXF1ZV9wdHI8UmVn
aXN0ZXJBdE9mZnNldExpc3Q+KTsKIAotICAgIFJhcmVDYXNlUHJvZmlsZSogYWRkUmFyZUNhc2VQ
cm9maWxlKEJ5dGVjb2RlSW5kZXgpOworICAgIHZvaWQgc2V0UmFyZUNhc2VQcm9maWxlcyhSZWZD
b3VudGVkQXJyYXk8UmFyZUNhc2VQcm9maWxlPiYmKTsKICAgICBSYXJlQ2FzZVByb2ZpbGUqIHJh
cmVDYXNlUHJvZmlsZUZvckJ5dGVjb2RlSW5kZXgoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiwg
Qnl0ZWNvZGVJbmRleCk7CiAgICAgdW5zaWduZWQgcmFyZUNhc2VQcm9maWxlQ291bnRGb3JCeXRl
Y29kZUluZGV4KGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5dGVjb2RlSW5kZXgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNz
Q2hhaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vz
c0NoYWluLmNwcAppbmRleCA4NTcyMzgwMzg1MTEzOTJhNDBhMzFlMWNmNjNhMDg3Njg5NGEwYTc4
Li5lNmUxYTkxYjE1YTE4YWVlNGEyYzFjNmUzNWM4NjMwNGE3NzhmYzJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5j
cHAKQEAgLTc5LDYgKzc5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
PiBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWMKICAgICBpZiAoIWZv
dW5kICYmICEhdGFyZ2V0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIHJlc3VsdC0+
bV9jaGFpbi5zaHJpbmtUb0ZpdCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCmlu
ZGV4IDkzYmYxMGM3NTM3NWQ0YzBiYmRjNjBkNjY5OTViOTliOGFmMDUzZTAuLmRjMmY1ODZlZTIy
ZGE5MWJkYmNhZjY2YTY3MTI3OTc1ZWU2MjBhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApAQCAtNzI5LDEyICs3Mjks
MTUgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2Vzczo6cmVnZW5lcmF0
ZSgKICAgICAKICAgICBtX3N0dWJSb3V0aW5lID0gY3JlYXRlSklUU3R1YlJvdXRpbmUoY29kZSwg
dm0sIGNvZGVCbG9jaywgZG9lc0NhbGxzLCBjZWxsc1RvTWFyaywgV1RGTW92ZShzdGF0ZS5tX2Nh
bGxMaW5rSW5mb3MpLCBjb2RlQmxvY2tUaGF0T3duc0V4Y2VwdGlvbkhhbmRsZXJzLCBjYWxsU2l0
ZUluZGV4Rm9yRXhjZXB0aW9uSGFuZGxpbmcpOwogICAgIG1fd2F0Y2hwb2ludHMgPSBXVEZNb3Zl
KHN0YXRlLndhdGNocG9pbnRzKTsKLSAgICBpZiAoIXN0YXRlLndlYWtSZWZlcmVuY2VzLmlzRW1w
dHkoKSkKKyAgICBpZiAoIXN0YXRlLndlYWtSZWZlcmVuY2VzLmlzRW1wdHkoKSkgeworICAgICAg
ICBzdGF0ZS53ZWFrUmVmZXJlbmNlcy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3dlYWtSZWZl
cmVuY2VzID0gbWFrZVVuaXF1ZTxWZWN0b3I8V3JpdGVCYXJyaWVyPEpTQ2VsbD4+PihXVEZNb3Zl
KHN0YXRlLndlYWtSZWZlcmVuY2VzKSk7CisgICAgfQogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vz
c0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZXR1cm5pbmc6ICIsIGNvZGUu
Y29kZSgpLCAiXG4iKTsKICAgICAKICAgICBtX2xpc3QgPSBXVEZNb3ZlKGNhc2VzKTsKKyAgICBt
X2xpc3Quc2hyaW5rVG9GaXQoKTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpL
aW5kIHJlc3VsdEtpbmQ7CiAgICAgaWYgKG1fbGlzdC5zaXplKCkgPj0gT3B0aW9uczo6bWF4QWNj
ZXNzVmFyaWFudExpc3RTaXplKCkgfHwgZ2VuZXJhdGVkRmluYWxDb2RlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmlsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmlsZS5oCmluZGV4IDkwZjkzZGQxYzkxMTFj
ZTNiY2FmYjBhYjNiMDNkOGI3ZGJiZjlmZGQuLjk4NmZmNzcyMTU5NGFjMmE4MGM3ZTNmMzllZjYy
MWQ1MTcxOTQwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9W
YWx1ZVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVQ
cm9maWxlLmgKQEAgLTE2MywxMiArMTYzLDEyIEBAIHN0cnVjdCBWYWx1ZVByb2ZpbGUgOiBwdWJs
aWMgVmFsdWVQcm9maWxlV2l0aExvZ051bWJlck9mQnVja2V0czwwPiB7CiBzdHJ1Y3QgUmFyZUNh
c2VQcm9maWxlIHsKICAgICBSYXJlQ2FzZVByb2ZpbGUoQnl0ZWNvZGVJbmRleCBieXRlY29kZUlu
ZGV4KQogICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQotICAgICAgICAs
IG1fY291bnRlcigwKQogICAgIHsKICAgICB9CisgICAgUmFyZUNhc2VQcm9maWxlKCkgPSBkZWZh
dWx0OwogICAgIAotICAgIEJ5dGVjb2RlSW5kZXggbV9ieXRlY29kZUluZGV4OwotICAgIHVpbnQz
Ml90IG1fY291bnRlcjsKKyAgICBCeXRlY29kZUluZGV4IG1fYnl0ZWNvZGVJbmRleCB7IH07Cisg
ICAgdWludDMyX3QgbV9jb3VudGVyIHsgMCB9OwogfTsKIAogaW5saW5lIEJ5dGVjb2RlSW5kZXgg
Z2V0UmFyZUNhc2VQcm9maWxlQnl0ZWNvZGVJbmRleChSYXJlQ2FzZVByb2ZpbGUqIHJhcmVDYXNl
UHJvZmlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCAzMGQ0MjRhOTNmOTE3OGRm
NzY5OTE4YWI0OGZlODM2YTJlMDczYzBmLi5lYzEzYjZmMWE3YjA4NmMxNTE5MTk2MjQ2OTIwMzE4
ODI2MzY5Zjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0xMzksMTMgKzEzOSwx
OCBAQCB2b2lkIEpJVDo6YXNzZXJ0U3RhY2tQb2ludGVyT2Zmc2V0KCkKICAgICBtX2J5dGVjb2Rl
SW5kZXggPSBCeXRlY29kZUluZGV4KG1fYnl0ZWNvZGVJbmRleC5vZmZzZXQoKSArIGN1cnJlbnRJ
bnN0cnVjdGlvbi0+c2l6ZSgpKTsgXAogICAgIGJyZWFrOwogCisjZGVmaW5lIE5FWFRfT1BDT0RF
X0lOX01BSU4obmFtZSkgXAorICAgIGlmIChzbG93Q2FzZXNCZWZvcmUgIT0gbV9zbG93Q2FzZXMu
c2l6ZSgpKSBcCisgICAgICAgICsrbV9ieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2U7IFwKKyAg
ICBORVhUX09QQ09ERShuYW1lKQorCiAjZGVmaW5lIERFRklORV9TTE9XX09QKG5hbWUpIFwKICAg
ICBjYXNlIG9wXyMjbmFtZTogeyBcCiAgICAgICAgIGlmIChtX2J5dGVjb2RlSW5kZXggPj0gc3Rh
cnRCeXRlY29kZUluZGV4KSB7IFwKICAgICAgICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0
aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAogICAg
ICAgICAgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsgXAogICAgICAgICB9IFwKLSAgICAgICAgTkVY
VF9PUENPREUob3BfIyNuYW1lKTsgXAorICAgICAgICBORVhUX09QQ09ERV9JTl9NQUlOKG9wXyMj
bmFtZSk7IFwKICAgICB9CiAKICNkZWZpbmUgREVGSU5FX09QKG5hbWUpIFwKQEAgLTE1Myw3ICsx
NTgsNyBAQCB2b2lkIEpJVDo6YXNzZXJ0U3RhY2tQb2ludGVyT2Zmc2V0KCkKICAgICAgICAgaWYg
KG1fYnl0ZWNvZGVJbmRleCA+PSBzdGFydEJ5dGVjb2RlSW5kZXgpIHsgXAogICAgICAgICAgICAg
ZW1pdF8jI25hbWUoY3VycmVudEluc3RydWN0aW9uKTsgXAogICAgICAgICB9IFwKLSAgICAgICAg
TkVYVF9PUENPREUobmFtZSk7IFwKKyAgICAgICAgTkVYVF9PUENPREVfSU5fTUFJTihuYW1lKTsg
XAogICAgIH0KIAogI2RlZmluZSBERUZJTkVfU0xPV0NBU0VfT1AobmFtZSkgXApAQCAtMjMyLDcg
KzIzNyw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgfQog
ICAgIH0KIAorICAgIG1fYnl0ZWNvZGVDb3VudEhhdmluZ1Nsb3dDYXNlID0gMDsKICAgICBmb3Ig
KG1fYnl0ZWNvZGVJbmRleCA9IEJ5dGVjb2RlSW5kZXgoMCk7IG1fYnl0ZWNvZGVJbmRleC5vZmZz
ZXQoKSA8IGluc3RydWN0aW9uQ291bnQ7ICkgeworICAgICAgICB1bnNpZ25lZCBzbG93Q2FzZXNC
ZWZvcmUgPSBtX3Nsb3dDYXNlcy5zaXplKCk7CiAgICAgICAgIGlmIChtX2J5dGVjb2RlSW5kZXgg
PT0gc3RhcnRCeXRlY29kZUluZGV4ICYmIHN0YXJ0Qnl0ZWNvZGVJbmRleC5vZmZzZXQoKSA+IDAp
IHsKICAgICAgICAgICAgIC8vIFdlJ3ZlIHByb3ZlbiBhbGwgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25z
IHVwIHVudGlsIGhlcmUgYXJlIHVucmVhY2hhYmxlLgogICAgICAgICAgICAgLy8gTGV0J3MgZW5z
dXJlIHRoYXQgYnkgY3Jhc2hpbmcgaWYgaXQncyBldmVyIGhpdC4KQEAgLTQ5Niw3ICs1MDMsMTIg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICBtX2luc3RhbmNlT2ZJ
bmRleCA9IDA7CiAgICAgbV9ieVZhbEluc3RydWN0aW9uSW5kZXggPSAwOwogICAgIG1fY2FsbExp
bmtJbmZvSW5kZXggPSAwOworCisgICAgUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4g
cmFyZUNhc2VQcm9maWxlczsKKyAgICBpZiAoc2hvdWxkRW1pdFByb2ZpbGluZygpKQorICAgICAg
ICByYXJlQ2FzZVByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4obV9i
eXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UpOwogICAgIAorICAgIHVuc2lnbmVkIGJ5dGVjb2Rl
Q291bnRIYXZpbmdTbG93Q2FzZSA9IDA7CiAgICAgZm9yIChWZWN0b3I8U2xvd0Nhc2VFbnRyeT46
Oml0ZXJhdG9yIGl0ZXIgPSBtX3Nsb3dDYXNlcy5iZWdpbigpOyBpdGVyICE9IG1fc2xvd0Nhc2Vz
LmVuZCgpOykgewogICAgICAgICBtX2J5dGVjb2RlSW5kZXggPSBpdGVyLT50bzsKIApAQCAtNTA2
LDkgKzUxOCw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAKICAgICAg
ICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5p
bnN0cnVjdGlvbnMoKS5hdChtX2J5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgICAgICAKLSAgICAg
ICAgUmFyZUNhc2VQcm9maWxlKiByYXJlQ2FzZVByb2ZpbGUgPSAwOworICAgICAgICBSYXJlQ2Fz
ZVByb2ZpbGUqIHJhcmVDYXNlUHJvZmlsZSA9IG51bGxwdHI7CiAgICAgICAgIGlmIChzaG91bGRF
bWl0UHJvZmlsaW5nKCkpCi0gICAgICAgICAgICByYXJlQ2FzZVByb2ZpbGUgPSBtX2NvZGVCbG9j
ay0+YWRkUmFyZUNhc2VQcm9maWxlKG1fYnl0ZWNvZGVJbmRleCk7CisgICAgICAgICAgICByYXJl
Q2FzZVByb2ZpbGUgPSAmcmFyZUNhc2VQcm9maWxlcy5hdChieXRlY29kZUNvdW50SGF2aW5nU2xv
d0Nhc2UpOwogCiAgICAgICAgIGlmIChKSVRJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAg
IGRhdGFMb2dMbigiT2xkIEpJVCBlbWl0dGluZyBzbG93IGNvZGUgZm9yICIsIG1fYnl0ZWNvZGVJ
bmRleCwgIiBhdCBvZmZzZXQgIiwgKGxvbmcpZGVidWdPZmZzZXQoKSk7CkBAIC02MTcsOCArNjI5
LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICBh
ZGQzMihUcnVzdGVkSW1tMzIoMSksIEFic29sdXRlQWRkcmVzcygmcmFyZUNhc2VQcm9maWxlLT5t
X2NvdW50ZXIpKTsKIAogICAgICAgICBlbWl0SnVtcFNsb3dUb0hvdChqdW1wKCksIDApOworICAg
ICAgICArK2J5dGVjb2RlQ291bnRIYXZpbmdTbG93Q2FzZTsKICAgICB9CiAKKyAgICBSRUxFQVNF
X0FTU0VSVChieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UgPT0gbV9ieXRlY29kZUNvdW50SGF2
aW5nU2xvd0Nhc2UpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fZ2V0QnlJZEluZGV4ID09IG1fZ2V0
QnlJZHMuc2l6ZSgpKTsKICAgICBSRUxFQVNFX0FTU0VSVChtX2dldEJ5SWRXaXRoVGhpc0luZGV4
ID09IG1fZ2V0QnlJZHNXaXRoVGhpcy5zaXplKCkpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fcHV0
QnlJZEluZGV4ID09IG1fcHV0QnlJZHMuc2l6ZSgpKTsKQEAgLTYyNiw2ICs2NDAsOSBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogICAgIFJFTEVBU0VfQVNTRVJUKG1faW5z
dGFuY2VPZkluZGV4ID09IG1faW5zdGFuY2VPZnMuc2l6ZSgpKTsKICAgICBSRUxFQVNFX0FTU0VS
VChtX2NhbGxMaW5rSW5mb0luZGV4ID09IG1fY2FsbENvbXBpbGF0aW9uSW5mby5zaXplKCkpOwog
CisgICAgaWYgKHNob3VsZEVtaXRQcm9maWxpbmcoKSkKKyAgICAgICAgbV9jb2RlQmxvY2stPnNl
dFJhcmVDYXNlUHJvZmlsZXMoV1RGTW92ZShyYXJlQ2FzZVByb2ZpbGVzKSk7CisKICNpZm5kZWYg
TkRFQlVHCiAgICAgLy8gUmVzZXQgdGhpcywgaW4gb3JkZXIgdG8gZ3VhcmQgaXRzIHVzZSB3aXRo
IEFTU0VSVHMuCiAgICAgbV9ieXRlY29kZUluZGV4ID0gQnl0ZWNvZGVJbmRleCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmgKaW5kZXggNTgxMjBmMjAxYzBmYzQxOGUyOGEyMDFiOTkxNDU2MjViNGNm
MWRiNy4uNjk1N2E3MjI1NzU2YjQ0YzZkZmU3OWM5MzQwZTU0ZGI3ZTVlMmU3NyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCkBAIC05MzksNiArOTM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHVuc2lnbmVkIG1faW5zdGFuY2VPZkluZGV4IHsgVUlOVF9NQVggfTsKICAgICAgICAgdW5z
aWduZWQgbV9ieVZhbEluc3RydWN0aW9uSW5kZXggeyBVSU5UX01BWCB9OwogICAgICAgICB1bnNp
Z25lZCBtX2NhbGxMaW5rSW5mb0luZGV4IHsgVUlOVF9NQVggfTsKKyAgICAgICAgdW5zaWduZWQg
bV9ieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UgeyAwIH07CiAgICAgICAgIAogICAgICAgICBM
YWJlbCBtX2FyaXR5Q2hlY2s7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMaW5rQnVmZmVyPiBt
X2xpbmtCdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1BvbHlt
b3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuY3BwCmluZGV4IDNmZTgyZjg0NjlhNzJiYTRlOTE1MmEx
Mjk0MzU1MjQzNTMwMmQ2ZTMuLjVkOThjOGM0YmFmZGMzZmNlNzk4NzczMmVkNDVmYTliNDBmMjQ1
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9seW1vcnBo
aWNDYWxsU3R1YlJvdXRpbmUuY3BwCkBAIC02OCwxNiArNjgsMTcgQEAgUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmU6OlBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lKAogICAgIENhbGxMaW5rSW5m
byYgaW5mbywgY29uc3QgVmVjdG9yPFBvbHltb3JwaGljQ2FsbENhc2U+JiBjYXNlcywKICAgICBV
bmlxdWVBcnJheTx1aW50MzJfdD4mJiBmYXN0Q291bnRzKQogICAgIDogR0NBd2FyZUpJVFN0dWJS
b3V0aW5lKGNvZGVSZWYsIHZtKQorICAgICwgbV92YXJpYW50cyhjYXNlcy5zaXplKCkpCiAgICAg
LCBtX2Zhc3RDb3VudHMoV1RGTW92ZShmYXN0Q291bnRzKSkKIHsKLSAgICBmb3IgKFBvbHltb3Jw
aGljQ2FsbENhc2UgY2FsbENhc2UgOiBjYXNlcykgewotICAgICAgICBtX3ZhcmlhbnRzLmFwcGVu
ZChXcml0ZUJhcnJpZXI8SlNDZWxsPih2bSwgb3duZXIsIGNhbGxDYXNlLnZhcmlhbnQoKS5yYXdD
YWxsZWVDZWxsKCkpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBjYXNl
cy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgUG9seW1vcnBoaWNDYWxsQ2FzZSYgY2FsbENh
c2UgPSBjYXNlc1tpbmRleF07CisgICAgICAgIG1fdmFyaWFudHNbaW5kZXhdLnNldCh2bSwgb3du
ZXIsIGNhbGxDYXNlLnZhcmlhbnQoKS5yYXdDYWxsZWVDZWxsKCkpOwogICAgICAgICBpZiAoc2hv
dWxkRHVtcERpc2Fzc2VtYmx5Rm9yKGNhbGxlckZyYW1lLT5jb2RlQmxvY2soKSkpCiAgICAgICAg
ICAgICBkYXRhTG9nKCJMaW5raW5nIHBvbHltb3JwaGljIGNhbGwgaW4gIiwgRnVsbENvZGVPcmln
aW4oY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpLCBjYWxsZXJGcmFtZS0+Y29kZU9yaWdpbigpKSwg
IiB0byAiLCBjYWxsQ2FzZS52YXJpYW50KCksICIsIGNvZGVCbG9jayA9ICIsIHBvaW50ZXJEdW1w
KGNhbGxDYXNlLmNvZGVCbG9jaygpKSwgIlxuIik7CiAgICAgICAgIGlmIChDb2RlQmxvY2sqIGNv
ZGVCbG9jayA9IGNhbGxDYXNlLmNvZGVCbG9jaygpKQogICAgICAgICAgICAgY29kZUJsb2NrLT5s
aW5rSW5jb21pbmdQb2x5bW9ycGhpY0NhbGwoY2FsbGVyRnJhbWUsIG1fY2FsbE5vZGVzLmFkZCgm
aW5mbykpOwogICAgIH0KLSAgICBtX3ZhcmlhbnRzLnNocmlua1RvRml0KCk7CiAgICAgV1RGOjpz
dG9yZVN0b3JlRmVuY2UoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389452</attachid>
            <date>2020-01-31 20:47:05 -0800</date>
            <delta_ts>2020-01-31 21:01:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207085-20200131204704.patch</filename>
            <type>text/plain</type>
            <size>13196</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjJlZDliMGQ0YmVmODc3M2Q4YmRmNjI4YTVkZThmMjI4MTZkNmQzLi42NjA2ZjE5YzI5MTI4NDBm
MjMwZjJkMTM0MTAzMWI4MTdiOTUzMTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMC0wMS0zMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFNocmlua1RvRml0IHNvbWUgdmVjdG9ycyBrZXB0IGJ5IEpJVCBk
YXRhIHN0cnVjdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNzA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIDEuIFdlIGFyZSBhbGxvY2F0aW5nIFJhcmVDYXNlUHJvZmlsZSBieSB1c2luZyBTZWdt
ZW50ZWRWZWN0b3Igc2luY2UgSklUIGNvZGUgaXMgZGlyZWN0bHkgYWNjZXNzaW5nIHRvIFJhcmVD
YXNlUHJvZmlsZSouIEJ1dCB3aGVuIGNyZWF0aW5nIFJhcmVDYXNlUHJvZmlsZSwgd2UgY2FuIGtu
b3cKKyAgICAgICAgICAgaG93IG1hbnkgUmFyZUNhc2VQcm9maWxlcyBzaG91bGQgd2UgY3JlYXRl
OiBSYXJlQ2FzZVByb2ZpbGUgaXMgY3JlYXRlZCBwZXIgc2xvdyBwYXRocyBvZiBCYXNlbGluZSBK
SVQgYnl0ZWNvZGUuIFNpbmNlIHdlIGFscmVhZHkgc2NhbiBieXRlY29kZSBmb3IgdGhlIG1haW4g
cGF0aHMsCisgICAgICAgICAgIHdlIGNhbiBjb3VudCBpdCBhbmQgdXNlIHRoaXMgbnVtYmVyIHdo
ZW4gY3JlYXRpbmcgUmFyZUNhc2VQcm9maWxlLgorICAgICAgICAyLiBWZWN0b3JzIGhlbGQgYnkg
UG9seW1vcnBoaWNBY2Nlc3MgYW5kIFBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lIHNob3VsZCBi
ZSBrZXB0IHNtYWxsIGJ5IGNhbGxpbmcgc2hyaW5rVG9GaXQuCisKKyAgICAgICAgKiBieXRlY29k
ZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNldFJhcmVDYXNlUHJv
ZmlsZXMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNocmlua1RvRml0KToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjphZGRSYXJlQ2FzZVByb2ZpbGUpOiBEZWxldGVkLgorICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHlQcm90b0FjY2Vz
c0NoYWluLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6
CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlND
OjpQb2x5bW9ycGhpY0FjY2Vzczo6cmVnZW5lcmF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvVmFs
dWVQcm9maWxlLmg6CisgICAgICAgIChKU0M6OlJhcmVDYXNlUHJvZmlsZTo6UmFyZUNhc2VQcm9m
aWxlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dD
YXNlcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9Qb2x5bW9ycGhpY0Nh
bGxTdHViUm91dGluZS5jcHA6CisgICAgICAgIChKU0M6OlBvbHltb3JwaGljQ2FsbFN0dWJSb3V0
aW5lOjpQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZSk6CisKIDIwMjAtMDEtMzEgIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBERkc6OkNvbW1vbkRh
dGE6OnNocmlua1RvRml0IGNhbGxlZCBiZWZvcmUgREZHOjpQbGFuOjpyZWFsbHlBZGQgaXMgY2Fs
bGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4
IGI3NzgwYzJhNGQxOWE2NDE3ZDRiZmFlMmFjOTc4NTJjYzg1ODNjNDguLjkxZjA0ZmUzYzg5MmM1
ZDhlODE5MjQ4MWZjY2RkMjI2ODRkNmRhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xNTc3LDEyICsxNTc3LDEwIEBAIENhbGxMaW5rSW5m
byogQ29kZUJsb2NrOjpnZXRDYWxsTGlua0luZm9Gb3JCeXRlY29kZUluZGV4KEJ5dGVjb2RlSW5k
ZXggaW5kZXgpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVJhcmVDYXNlUHJvZmlsZSogQ29k
ZUJsb2NrOjphZGRSYXJlQ2FzZVByb2ZpbGUoQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4KQor
dm9pZCBDb2RlQmxvY2s6OnNldFJhcmVDYXNlUHJvZmlsZXMoUmVmQ291bnRlZEFycmF5PFJhcmVD
YXNlUHJvZmlsZT4mJiByYXJlQ2FzZVByb2ZpbGVzKQogewogICAgIENvbmN1cnJlbnRKU0xvY2tl
ciBsb2NrZXIobV9sb2NrKTsKLSAgICBhdXRvJiBqaXREYXRhID0gZW5zdXJlSklURGF0YShsb2Nr
ZXIpOwotICAgIGppdERhdGEubV9yYXJlQ2FzZVByb2ZpbGVzLmFwcGVuZChSYXJlQ2FzZVByb2Zp
bGUoYnl0ZWNvZGVJbmRleCkpOwotICAgIHJldHVybiAmaml0RGF0YS5tX3JhcmVDYXNlUHJvZmls
ZXMubGFzdCgpOworICAgIGVuc3VyZUpJVERhdGEobG9ja2VyKS5tX3JhcmVDYXNlUHJvZmlsZXMg
PSBXVEZNb3ZlKHJhcmVDYXNlUHJvZmlsZXMpOwogfQogCiBSYXJlQ2FzZVByb2ZpbGUqIENvZGVC
bG9jazo6cmFyZUNhc2VQcm9maWxlRm9yQnl0ZWNvZGVJbmRleChjb25zdCBDb25jdXJyZW50SlNM
b2NrZXImLCBCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5kZXgpCkBAIC0xOTU2LDExICsxOTU0LDYg
QEAgdm9pZCBDb2RlQmxvY2s6OnNocmlua1RvRml0KFNocmlua01vZGUgc2hyaW5rTW9kZSkKIHsK
ICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAKLSNpZiBFTkFCTEUoSklU
KQotICAgIGlmIChhdXRvKiBqaXREYXRhID0gbV9qaXREYXRhLmdldCgpKQotICAgICAgICBqaXRE
YXRhLT5tX3JhcmVDYXNlUHJvZmlsZXMuc2hyaW5rVG9GaXQoKTsKLSNlbmRpZgotICAgIAogICAg
IGlmIChzaHJpbmtNb2RlID09IEVhcmx5U2hyaW5rKSB7CiAgICAgICAgIG1fY29uc3RhbnRSZWdp
c3RlcnMuc2hyaW5rVG9GaXQoKTsKICAgICAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVz
ZW50YXRpb24uc2hyaW5rVG9GaXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAppbmRleCA2MTk2MjIxMGM3ZDYwYmFiZDg2YWZjMmNjZDE3M2I3N2UzYzE0OWFi
Li5hOGI4NzU3NmMwNTY5NWI4MDBmOGMzZDFlYzI1MzI4ZDBhZTg4Yjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNzksNyArMjc5LDcgQEAgY2xh
c3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7CiAgICAgICAgIEJhZzxDYWxsTGlua0luZm8+
IG1fY2FsbExpbmtJbmZvczsKICAgICAgICAgU2VudGluZWxMaW5rZWRMaXN0PENhbGxMaW5rSW5m
bywgUGFja2VkUmF3U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdDYWxsczsK
ICAgICAgICAgU2VudGluZWxMaW5rZWRMaXN0PFBvbHltb3JwaGljQ2FsbE5vZGUsIFBhY2tlZFJh
d1NlbnRpbmVsTm9kZTxQb2x5bW9ycGhpY0NhbGxOb2RlPj4gbV9pbmNvbWluZ1BvbHltb3JwaGlj
Q2FsbHM7Ci0gICAgICAgIFNlZ21lbnRlZFZlY3RvcjxSYXJlQ2FzZVByb2ZpbGUsIDg+IG1fcmFy
ZUNhc2VQcm9maWxlczsKKyAgICAgICAgUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4g
bV9yYXJlQ2FzZVByb2ZpbGVzOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UENUb0NvZGVPcmln
aW5NYXA+IG1fcGNUb0NvZGVPcmlnaW5NYXA7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWdp
c3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzOwogICAgICAgICBKSVRDb2Rl
TWFwIG1faml0Q29kZU1hcDsKQEAgLTM0Miw3ICszNDIsNyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBw
dWJsaWMgSlNDZWxsIHsKICAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJT
ZXQpOwogICAgIHZvaWQgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhzdGQ6OnVuaXF1ZV9wdHI8UmVn
aXN0ZXJBdE9mZnNldExpc3Q+KTsKIAotICAgIFJhcmVDYXNlUHJvZmlsZSogYWRkUmFyZUNhc2VQ
cm9maWxlKEJ5dGVjb2RlSW5kZXgpOworICAgIHZvaWQgc2V0UmFyZUNhc2VQcm9maWxlcyhSZWZD
b3VudGVkQXJyYXk8UmFyZUNhc2VQcm9maWxlPiYmKTsKICAgICBSYXJlQ2FzZVByb2ZpbGUqIHJh
cmVDYXNlUHJvZmlsZUZvckJ5dGVjb2RlSW5kZXgoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiwg
Qnl0ZWNvZGVJbmRleCk7CiAgICAgdW5zaWduZWQgcmFyZUNhc2VQcm9maWxlQ291bnRGb3JCeXRl
Y29kZUluZGV4KGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5dGVjb2RlSW5kZXgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNz
Q2hhaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vz
c0NoYWluLmNwcAppbmRleCA4NTcyMzgwMzg1MTEzOTJhNDBhMzFlMWNmNjNhMDg3Njg5NGEwYTc4
Li5lNmUxYTkxYjE1YTE4YWVlNGEyYzFjNmUzNWM4NjMwNGE3NzhmYzJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5j
cHAKQEAgLTc5LDYgKzc5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
PiBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWMKICAgICBpZiAoIWZv
dW5kICYmICEhdGFyZ2V0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIHJlc3VsdC0+
bV9jaGFpbi5zaHJpbmtUb0ZpdCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCmlu
ZGV4IDkzYmYxMGM3NTM3NWQ0YzBiYmRjNjBkNjY5OTViOTliOGFmMDUzZTAuLmRjMmY1ODZlZTIy
ZGE5MWJkYmNhZjY2YTY3MTI3OTc1ZWU2MjBhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApAQCAtNzI5LDEyICs3Mjks
MTUgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2Vzczo6cmVnZW5lcmF0
ZSgKICAgICAKICAgICBtX3N0dWJSb3V0aW5lID0gY3JlYXRlSklUU3R1YlJvdXRpbmUoY29kZSwg
dm0sIGNvZGVCbG9jaywgZG9lc0NhbGxzLCBjZWxsc1RvTWFyaywgV1RGTW92ZShzdGF0ZS5tX2Nh
bGxMaW5rSW5mb3MpLCBjb2RlQmxvY2tUaGF0T3duc0V4Y2VwdGlvbkhhbmRsZXJzLCBjYWxsU2l0
ZUluZGV4Rm9yRXhjZXB0aW9uSGFuZGxpbmcpOwogICAgIG1fd2F0Y2hwb2ludHMgPSBXVEZNb3Zl
KHN0YXRlLndhdGNocG9pbnRzKTsKLSAgICBpZiAoIXN0YXRlLndlYWtSZWZlcmVuY2VzLmlzRW1w
dHkoKSkKKyAgICBpZiAoIXN0YXRlLndlYWtSZWZlcmVuY2VzLmlzRW1wdHkoKSkgeworICAgICAg
ICBzdGF0ZS53ZWFrUmVmZXJlbmNlcy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3dlYWtSZWZl
cmVuY2VzID0gbWFrZVVuaXF1ZTxWZWN0b3I8V3JpdGVCYXJyaWVyPEpTQ2VsbD4+PihXVEZNb3Zl
KHN0YXRlLndlYWtSZWZlcmVuY2VzKSk7CisgICAgfQogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vz
c0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZXR1cm5pbmc6ICIsIGNvZGUu
Y29kZSgpLCAiXG4iKTsKICAgICAKICAgICBtX2xpc3QgPSBXVEZNb3ZlKGNhc2VzKTsKKyAgICBt
X2xpc3Quc2hyaW5rVG9GaXQoKTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpL
aW5kIHJlc3VsdEtpbmQ7CiAgICAgaWYgKG1fbGlzdC5zaXplKCkgPj0gT3B0aW9uczo6bWF4QWNj
ZXNzVmFyaWFudExpc3RTaXplKCkgfHwgZ2VuZXJhdGVkRmluYWxDb2RlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmlsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmlsZS5oCmluZGV4IDkwZjkzZGQxYzkxMTFj
ZTNiY2FmYjBhYjNiMDNkOGI3ZGJiZjlmZGQuLjk4NmZmNzcyMTU5NGFjMmE4MGM3ZTNmMzllZjYy
MWQ1MTcxOTQwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9W
YWx1ZVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVQ
cm9maWxlLmgKQEAgLTE2MywxMiArMTYzLDEyIEBAIHN0cnVjdCBWYWx1ZVByb2ZpbGUgOiBwdWJs
aWMgVmFsdWVQcm9maWxlV2l0aExvZ051bWJlck9mQnVja2V0czwwPiB7CiBzdHJ1Y3QgUmFyZUNh
c2VQcm9maWxlIHsKICAgICBSYXJlQ2FzZVByb2ZpbGUoQnl0ZWNvZGVJbmRleCBieXRlY29kZUlu
ZGV4KQogICAgICAgICA6IG1fYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQotICAgICAgICAs
IG1fY291bnRlcigwKQogICAgIHsKICAgICB9CisgICAgUmFyZUNhc2VQcm9maWxlKCkgPSBkZWZh
dWx0OwogICAgIAotICAgIEJ5dGVjb2RlSW5kZXggbV9ieXRlY29kZUluZGV4OwotICAgIHVpbnQz
Ml90IG1fY291bnRlcjsKKyAgICBCeXRlY29kZUluZGV4IG1fYnl0ZWNvZGVJbmRleCB7IH07Cisg
ICAgdWludDMyX3QgbV9jb3VudGVyIHsgMCB9OwogfTsKIAogaW5saW5lIEJ5dGVjb2RlSW5kZXgg
Z2V0UmFyZUNhc2VQcm9maWxlQnl0ZWNvZGVJbmRleChSYXJlQ2FzZVByb2ZpbGUqIHJhcmVDYXNl
UHJvZmlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCAzMGQ0MjRhOTNmOTE3OGRm
NzY5OTE4YWI0OGZlODM2YTJlMDczYzBmLi5lYzEzYjZmMWE3YjA4NmMxNTE5MTk2MjQ2OTIwMzE4
ODI2MzY5Zjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0xMzksMTMgKzEzOSwx
OCBAQCB2b2lkIEpJVDo6YXNzZXJ0U3RhY2tQb2ludGVyT2Zmc2V0KCkKICAgICBtX2J5dGVjb2Rl
SW5kZXggPSBCeXRlY29kZUluZGV4KG1fYnl0ZWNvZGVJbmRleC5vZmZzZXQoKSArIGN1cnJlbnRJ
bnN0cnVjdGlvbi0+c2l6ZSgpKTsgXAogICAgIGJyZWFrOwogCisjZGVmaW5lIE5FWFRfT1BDT0RF
X0lOX01BSU4obmFtZSkgXAorICAgIGlmIChzbG93Q2FzZXNCZWZvcmUgIT0gbV9zbG93Q2FzZXMu
c2l6ZSgpKSBcCisgICAgICAgICsrbV9ieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2U7IFwKKyAg
ICBORVhUX09QQ09ERShuYW1lKQorCiAjZGVmaW5lIERFRklORV9TTE9XX09QKG5hbWUpIFwKICAg
ICBjYXNlIG9wXyMjbmFtZTogeyBcCiAgICAgICAgIGlmIChtX2J5dGVjb2RlSW5kZXggPj0gc3Rh
cnRCeXRlY29kZUluZGV4KSB7IFwKICAgICAgICAgICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0
aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfIyNuYW1lKTsgXAogICAg
ICAgICAgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsgXAogICAgICAgICB9IFwKLSAgICAgICAgTkVY
VF9PUENPREUob3BfIyNuYW1lKTsgXAorICAgICAgICBORVhUX09QQ09ERV9JTl9NQUlOKG9wXyMj
bmFtZSk7IFwKICAgICB9CiAKICNkZWZpbmUgREVGSU5FX09QKG5hbWUpIFwKQEAgLTE1Myw3ICsx
NTgsNyBAQCB2b2lkIEpJVDo6YXNzZXJ0U3RhY2tQb2ludGVyT2Zmc2V0KCkKICAgICAgICAgaWYg
KG1fYnl0ZWNvZGVJbmRleCA+PSBzdGFydEJ5dGVjb2RlSW5kZXgpIHsgXAogICAgICAgICAgICAg
ZW1pdF8jI25hbWUoY3VycmVudEluc3RydWN0aW9uKTsgXAogICAgICAgICB9IFwKLSAgICAgICAg
TkVYVF9PUENPREUobmFtZSk7IFwKKyAgICAgICAgTkVYVF9PUENPREVfSU5fTUFJTihuYW1lKTsg
XAogICAgIH0KIAogI2RlZmluZSBERUZJTkVfU0xPV0NBU0VfT1AobmFtZSkgXApAQCAtMjMyLDcg
KzIzNyw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgfQog
ICAgIH0KIAorICAgIG1fYnl0ZWNvZGVDb3VudEhhdmluZ1Nsb3dDYXNlID0gMDsKICAgICBmb3Ig
KG1fYnl0ZWNvZGVJbmRleCA9IEJ5dGVjb2RlSW5kZXgoMCk7IG1fYnl0ZWNvZGVJbmRleC5vZmZz
ZXQoKSA8IGluc3RydWN0aW9uQ291bnQ7ICkgeworICAgICAgICB1bnNpZ25lZCBzbG93Q2FzZXNC
ZWZvcmUgPSBtX3Nsb3dDYXNlcy5zaXplKCk7CiAgICAgICAgIGlmIChtX2J5dGVjb2RlSW5kZXgg
PT0gc3RhcnRCeXRlY29kZUluZGV4ICYmIHN0YXJ0Qnl0ZWNvZGVJbmRleC5vZmZzZXQoKSA+IDAp
IHsKICAgICAgICAgICAgIC8vIFdlJ3ZlIHByb3ZlbiBhbGwgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25z
IHVwIHVudGlsIGhlcmUgYXJlIHVucmVhY2hhYmxlLgogICAgICAgICAgICAgLy8gTGV0J3MgZW5z
dXJlIHRoYXQgYnkgY3Jhc2hpbmcgaWYgaXQncyBldmVyIGhpdC4KQEAgLTQ5Niw3ICs1MDMsMTIg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICBtX2luc3RhbmNlT2ZJ
bmRleCA9IDA7CiAgICAgbV9ieVZhbEluc3RydWN0aW9uSW5kZXggPSAwOwogICAgIG1fY2FsbExp
bmtJbmZvSW5kZXggPSAwOworCisgICAgUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4g
cmFyZUNhc2VQcm9maWxlczsKKyAgICBpZiAoc2hvdWxkRW1pdFByb2ZpbGluZygpKQorICAgICAg
ICByYXJlQ2FzZVByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PFJhcmVDYXNlUHJvZmlsZT4obV9i
eXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UpOwogICAgIAorICAgIHVuc2lnbmVkIGJ5dGVjb2Rl
Q291bnRIYXZpbmdTbG93Q2FzZSA9IDA7CiAgICAgZm9yIChWZWN0b3I8U2xvd0Nhc2VFbnRyeT46
Oml0ZXJhdG9yIGl0ZXIgPSBtX3Nsb3dDYXNlcy5iZWdpbigpOyBpdGVyICE9IG1fc2xvd0Nhc2Vz
LmVuZCgpOykgewogICAgICAgICBtX2J5dGVjb2RlSW5kZXggPSBpdGVyLT50bzsKIApAQCAtNTA2
LDkgKzUxOCw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAKICAgICAg
ICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IG1fY29kZUJsb2NrLT5p
bnN0cnVjdGlvbnMoKS5hdChtX2J5dGVjb2RlSW5kZXgpLnB0cigpOwogICAgICAgICAKLSAgICAg
ICAgUmFyZUNhc2VQcm9maWxlKiByYXJlQ2FzZVByb2ZpbGUgPSAwOworICAgICAgICBSYXJlQ2Fz
ZVByb2ZpbGUqIHJhcmVDYXNlUHJvZmlsZSA9IG51bGxwdHI7CiAgICAgICAgIGlmIChzaG91bGRF
bWl0UHJvZmlsaW5nKCkpCi0gICAgICAgICAgICByYXJlQ2FzZVByb2ZpbGUgPSBtX2NvZGVCbG9j
ay0+YWRkUmFyZUNhc2VQcm9maWxlKG1fYnl0ZWNvZGVJbmRleCk7CisgICAgICAgICAgICByYXJl
Q2FzZVByb2ZpbGUgPSAmcmFyZUNhc2VQcm9maWxlcy5hdChieXRlY29kZUNvdW50SGF2aW5nU2xv
d0Nhc2UpOwogCiAgICAgICAgIGlmIChKSVRJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAg
IGRhdGFMb2dMbigiT2xkIEpJVCBlbWl0dGluZyBzbG93IGNvZGUgZm9yICIsIG1fYnl0ZWNvZGVJ
bmRleCwgIiBhdCBvZmZzZXQgIiwgKGxvbmcpZGVidWdPZmZzZXQoKSk7CkBAIC02MTcsOCArNjI5
LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICBh
ZGQzMihUcnVzdGVkSW1tMzIoMSksIEFic29sdXRlQWRkcmVzcygmcmFyZUNhc2VQcm9maWxlLT5t
X2NvdW50ZXIpKTsKIAogICAgICAgICBlbWl0SnVtcFNsb3dUb0hvdChqdW1wKCksIDApOworICAg
ICAgICArK2J5dGVjb2RlQ291bnRIYXZpbmdTbG93Q2FzZTsKICAgICB9CiAKKyAgICBSRUxFQVNF
X0FTU0VSVChieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UgPT0gbV9ieXRlY29kZUNvdW50SGF2
aW5nU2xvd0Nhc2UpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fZ2V0QnlJZEluZGV4ID09IG1fZ2V0
QnlJZHMuc2l6ZSgpKTsKICAgICBSRUxFQVNFX0FTU0VSVChtX2dldEJ5SWRXaXRoVGhpc0luZGV4
ID09IG1fZ2V0QnlJZHNXaXRoVGhpcy5zaXplKCkpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fcHV0
QnlJZEluZGV4ID09IG1fcHV0QnlJZHMuc2l6ZSgpKTsKQEAgLTYyNiw2ICs2NDAsOSBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogICAgIFJFTEVBU0VfQVNTRVJUKG1faW5z
dGFuY2VPZkluZGV4ID09IG1faW5zdGFuY2VPZnMuc2l6ZSgpKTsKICAgICBSRUxFQVNFX0FTU0VS
VChtX2NhbGxMaW5rSW5mb0luZGV4ID09IG1fY2FsbENvbXBpbGF0aW9uSW5mby5zaXplKCkpOwog
CisgICAgaWYgKHNob3VsZEVtaXRQcm9maWxpbmcoKSkKKyAgICAgICAgbV9jb2RlQmxvY2stPnNl
dFJhcmVDYXNlUHJvZmlsZXMoV1RGTW92ZShyYXJlQ2FzZVByb2ZpbGVzKSk7CisKICNpZm5kZWYg
TkRFQlVHCiAgICAgLy8gUmVzZXQgdGhpcywgaW4gb3JkZXIgdG8gZ3VhcmQgaXRzIHVzZSB3aXRo
IEFTU0VSVHMuCiAgICAgbV9ieXRlY29kZUluZGV4ID0gQnl0ZWNvZGVJbmRleCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmgKaW5kZXggNTgxMjBmMjAxYzBmYzQxOGUyOGEyMDFiOTkxNDU2MjViNGNm
MWRiNy4uNjk1N2E3MjI1NzU2YjQ0YzZkZmU3OWM5MzQwZTU0ZGI3ZTVlMmU3NyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCkBAIC05MzksNiArOTM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHVuc2lnbmVkIG1faW5zdGFuY2VPZkluZGV4IHsgVUlOVF9NQVggfTsKICAgICAgICAgdW5z
aWduZWQgbV9ieVZhbEluc3RydWN0aW9uSW5kZXggeyBVSU5UX01BWCB9OwogICAgICAgICB1bnNp
Z25lZCBtX2NhbGxMaW5rSW5mb0luZGV4IHsgVUlOVF9NQVggfTsKKyAgICAgICAgdW5zaWduZWQg
bV9ieXRlY29kZUNvdW50SGF2aW5nU2xvd0Nhc2UgeyAwIH07CiAgICAgICAgIAogICAgICAgICBM
YWJlbCBtX2FyaXR5Q2hlY2s7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMaW5rQnVmZmVyPiBt
X2xpbmtCdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1BvbHlt
b3JwaGljQ2FsbFN0dWJSb3V0aW5lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9s
eW1vcnBoaWNDYWxsU3R1YlJvdXRpbmUuY3BwCmluZGV4IDNmZTgyZjg0NjlhNzJiYTRlOTE1MmEx
Mjk0MzU1MjQzNTMwMmQ2ZTMuLjQ0MDRlMGM0MjllMjlmODYxNjk5NWJjZjU1N2MzNmMwNTkzMDcx
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUG9seW1vcnBo
aWNDYWxsU3R1YlJvdXRpbmUuY3BwCkBAIC02OCwxNiArNjgsMTcgQEAgUG9seW1vcnBoaWNDYWxs
U3R1YlJvdXRpbmU6OlBvbHltb3JwaGljQ2FsbFN0dWJSb3V0aW5lKAogICAgIENhbGxMaW5rSW5m
byYgaW5mbywgY29uc3QgVmVjdG9yPFBvbHltb3JwaGljQ2FsbENhc2U+JiBjYXNlcywKICAgICBV
bmlxdWVBcnJheTx1aW50MzJfdD4mJiBmYXN0Q291bnRzKQogICAgIDogR0NBd2FyZUpJVFN0dWJS
b3V0aW5lKGNvZGVSZWYsIHZtKQorICAgICwgbV92YXJpYW50cyhjYXNlcy5zaXplKCkpCiAgICAg
LCBtX2Zhc3RDb3VudHMoV1RGTW92ZShmYXN0Q291bnRzKSkKIHsKLSAgICBmb3IgKFBvbHltb3Jw
aGljQ2FsbENhc2UgY2FsbENhc2UgOiBjYXNlcykgewotICAgICAgICBtX3ZhcmlhbnRzLmFwcGVu
ZChXcml0ZUJhcnJpZXI8SlNDZWxsPih2bSwgb3duZXIsIGNhbGxDYXNlLnZhcmlhbnQoKS5yYXdD
YWxsZWVDZWxsKCkpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBjYXNl
cy5zaXplKCk7ICsraW5kZXgpIHsKKyAgICAgICAgY29uc3QgUG9seW1vcnBoaWNDYWxsQ2FzZSYg
Y2FsbENhc2UgPSBjYXNlc1tpbmRleF07CisgICAgICAgIG1fdmFyaWFudHNbaW5kZXhdLnNldCh2
bSwgb3duZXIsIGNhbGxDYXNlLnZhcmlhbnQoKS5yYXdDYWxsZWVDZWxsKCkpOwogICAgICAgICBp
ZiAoc2hvdWxkRHVtcERpc2Fzc2VtYmx5Rm9yKGNhbGxlckZyYW1lLT5jb2RlQmxvY2soKSkpCiAg
ICAgICAgICAgICBkYXRhTG9nKCJMaW5raW5nIHBvbHltb3JwaGljIGNhbGwgaW4gIiwgRnVsbENv
ZGVPcmlnaW4oY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpLCBjYWxsZXJGcmFtZS0+Y29kZU9yaWdp
bigpKSwgIiB0byAiLCBjYWxsQ2FzZS52YXJpYW50KCksICIsIGNvZGVCbG9jayA9ICIsIHBvaW50
ZXJEdW1wKGNhbGxDYXNlLmNvZGVCbG9jaygpKSwgIlxuIik7CiAgICAgICAgIGlmIChDb2RlQmxv
Y2sqIGNvZGVCbG9jayA9IGNhbGxDYXNlLmNvZGVCbG9jaygpKQogICAgICAgICAgICAgY29kZUJs
b2NrLT5saW5rSW5jb21pbmdQb2x5bW9ycGhpY0NhbGwoY2FsbGVyRnJhbWUsIG1fY2FsbE5vZGVz
LmFkZCgmaW5mbykpOwogICAgIH0KLSAgICBtX3ZhcmlhbnRzLnNocmlua1RvRml0KCk7CiAgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKIH0KIAo=
</data>
<flag name="review"
          id="405119"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>