<?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>37132</bug_id>
          
          <creation_ts>2010-04-05 19:41:45 -0700</creation_ts>
          <short_desc>Support weak maps in JSC</short_desc>
          <delta_ts>2010-04-07 16:18:49 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208860</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-05 19:41:45 -0700</bug_when>
    <thetext>Support weak maps in JSC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208864</commentid>
    <comment_count>1</comment_count>
      <attachid>52599</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-05 20:00:16 -0700</bug_when>
    <thetext>Created attachment 52599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208888</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-05 21:18:34 -0700</bug_when>
    <thetext>Committed r57120: &lt;http://trac.webkit.org/changeset/57120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209895</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-04-07 16:18:49 -0700</bug_when>
    <thetext>You should remove deregisterWeakMap since it&apos;s not called.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52599</attachid>
            <date>2010-04-05 20:00:16 -0700</date>
            <delta_ts>2010-04-05 20:18:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37132-20100405200015.patch</filename>
            <type>text/plain</type>
            <size>18500</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5h
bC5oIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlMWY0ZAotLS0gL2Rldi9udWxsCisr
KyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5hbC5oCkBAIC0w
LDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTV2Vha09iamVjdE1hcFJlZkludGVy
bmFsX2gKKyNkZWZpbmUgSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWxfaAorCisjaW5jbHVkZSAi
V2Vha0dDTWFwLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK2NsYXNzIEpTT2JqZWN0OworCit9CisKK3R5cGVkZWYgdm9pZCAoKkpTV2Vha01hcERl
c3Ryb3llZENhbGxiYWNrKShzdHJ1Y3QgT3BhcXVlSlNXZWFrT2JqZWN0TWFwKiwgdm9pZCopOwor
Cit0eXBlZGVmIEpTQzo6V2Vha0dDTWFwPHZvaWQqLCBKU0M6OkpTT2JqZWN0Kj4gV2Vha01hcFR5
cGU7CisKK3N0cnVjdCBPcGFxdWVKU1dlYWtPYmplY3RNYXAgOiBwdWJsaWMgUmVmQ291bnRlZDxP
cGFxdWVKU1dlYWtPYmplY3RNYXA+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxP
cGFxdWVKU1dlYWtPYmplY3RNYXA+IGNyZWF0ZSh2b2lkKiBkYXRhLCBKU1dlYWtNYXBEZXN0cm95
ZWRDYWxsYmFjayBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
T3BhcXVlSlNXZWFrT2JqZWN0TWFwKGRhdGEsIGNhbGxiYWNrKSk7CisgICAgfQorCisgICAgV2Vh
a01hcFR5cGUmIG1hcCgpIHsgcmV0dXJuIG1fbWFwOyB9CisgICAgCisgICAgfk9wYXF1ZUpTV2Vh
a09iamVjdE1hcCgpCisgICAgeworICAgICAgICBtX2NhbGxiYWNrKHRoaXMsIG1fZGF0YSk7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIE9wYXF1ZUpTV2Vha09iamVjdE1hcCh2b2lkKiBkYXRhLCBK
U1dlYWtNYXBEZXN0cm95ZWRDYWxsYmFjayBjYWxsYmFjaykKKyAgICAgICAgOiBtX2RhdGEoZGF0
YSkKKyAgICAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQorICAgIHsKKyAgICB9CisgICAgV2Vh
a01hcFR5cGUgbV9tYXA7CisgICAgdm9pZCogbV9kYXRhOworICAgIEpTV2Vha01hcERlc3Ryb3ll
ZENhbGxiYWNrIG1fY2FsbGJhY2s7Cit9OworCisKKyNlbmRpZiAvLyBKU1dlYWtPYmplY3RNYXBJ
bnRlcm5hbF9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJp
dmF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM3N2VhMAotLS0g
L2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2
YXRlLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuaCIKKworI2luY2x1ZGUgIkFQ
SUNhc3QuaCIKKyNpbmNsdWRlICJBUElTaGltcy5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tPYmpl
Y3QuaCIKKyNpbmNsdWRlICJKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNXZWFrT2JqZWN0TWFwUmVm
SW50ZXJuYWwuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXVEY7Cit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK0pTV2Vha09iamVj
dE1hcFJlZiBKU1dlYWtPYmplY3RNYXBDcmVhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIHZvaWQq
IHByaXZhdGVEYXRhLCBKU1dlYWtNYXBEZXN0cm95ZWRDYWxsYmFjayBjYWxsYmFjaykKK3sKKyAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRy
eVNoaW0oZXhlYyk7CisgICAgUmVmUHRyPE9wYXF1ZUpTV2Vha09iamVjdE1hcD4gbWFwID0gT3Bh
cXVlSlNXZWFrT2JqZWN0TWFwOjpjcmVhdGUocHJpdmF0ZURhdGEsIGNhbGxiYWNrKTsKKyAgICBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPnJlZ2lzdGVyV2Vha01hcChtYXAuZ2V0KCkpOwor
ICAgIHJldHVybiBtYXAuZ2V0KCk7Cit9CisKK3ZvaWQgSlNXZWFrT2JqZWN0TWFwU2V0KEpTQ29u
dGV4dFJlZiBjdHgsIEpTV2Vha09iamVjdE1hcFJlZiBtYXAsIHZvaWQqIGtleSwgSlNPYmplY3RS
ZWYgb2JqZWN0KQoreworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY3R4KTsKKyAgICBBUElF
bnRyeVNoaW0gZW50cnlTaGltKGV4ZWMpOworICAgIEpTT2JqZWN0KiBvYmogPSB0b0pTKG9iamVj
dCk7CisgICAgaWYgKCFvYmopCisgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQob2JqLT5pbmhl
cml0cygmSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmluZm8pIHx8IG9iai0+aW5o
ZXJpdHMoJkpTQ2FsbGJhY2tPYmplY3Q8SlNPYmplY3Q+OjppbmZvKSk7CisgICAgbWFwLT5tYXAo
KS5zZXQoa2V5LCBvYmopOworfQorCitKU09iamVjdFJlZiBKU1dlYWtPYmplY3RNYXBHZXQoSlND
b250ZXh0UmVmIGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5KQoreworICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY3R4KTsKKyAgICBBUElFbnRyeVNoaW0gZW50cnlTaGlt
KGV4ZWMpOworICAgIHJldHVybiB0b1JlZihzdGF0aWNfY2FzdDxKU09iamVjdCo+KG1hcC0+bWFw
KCkuZ2V0KGtleSkpKTsKK30KKworYm9vbCBKU1dlYWtPYmplY3RNYXBDbGVhcihKU0NvbnRleHRS
ZWYgY3R4LCBKU1dlYWtPYmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXksIEpTT2JqZWN0UmVmIG9i
amVjdCkKK3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGN0eCk7CisgICAgQVBJRW50cnlT
aGltIGVudHJ5U2hpbShleGVjKTsKKyAgICBKU09iamVjdCogb2JqID0gdG9KUyhvYmplY3QpOwor
ICAgIGlmIChtYXAtPm1hcCgpLnVuY2hlY2tlZFJlbW92ZShrZXksIG9iaikpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBmYWxzZTsKK30KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9
CisjZW5kaWYKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBS
ZWZQcml2YXRlLmggYi9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjM2MwMjUKLS0tIC9kZXYv
bnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5o
CkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTV2Vha09iamVjdE1hcFJl
ZlByaXZhdGVfaAorI2RlZmluZSBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlX2gKKworI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ29udGV4dFJlZi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTVmFsdWVSZWYuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNl
bmRpZgorICAgIAorLyohIEB0eXBlZGVmIEpTV2Vha09iamVjdE1hcFJlZiBBIHdlYWsgbWFwIGZv
ciBzdG9yaW5nIEpTT2JqZWN0UmVmcyAqLwordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNXZWFrT2Jq
ZWN0TWFwKiBKU1dlYWtPYmplY3RNYXBSZWY7CisKKy8qISAKKyBAdHlwZWRlZiBKU1dlYWtNYXBE
ZXN0cm95ZWRDYWxsYmFjaworIEBhYnN0cmFjdCBUaGUgY2FsbGJhY2sgaW52b2tlZCB3aGVuIGEg
SlNXZWFrT2JqZWN0TWFwUmVmIGlzIGJlaW5nIGRlc3Ryb3llZC4KKyBAcGFyYW0gbWFwIFRoZSBt
YXAgdGhhdCBpcyBiZWluZyBkZXN0cm95ZWQuCisgQHBhcmFtIGRhdGEgVGhlIHByaXZhdGUgZGF0
YSAoaWYgYW55KSB0aGF0IHdhcyBhc3NvY2lhdGVkIHdpdGggdGhlIG1hcCBpbnN0YW5jZS4KKyAq
LwordHlwZWRlZiB2b2lkICgqSlNXZWFrTWFwRGVzdHJveWVkQ2FsbGJhY2spKEpTV2Vha09iamVj
dE1hcFJlZiBtYXAsIHZvaWQqIGRhdGEpOworCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3Qg
Q3JlYXRlcyBhIHdlYWsgdmFsdWUgbWFwIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIHVz
ZXIgZGVmaW5lZCBvYmplY3RzIHdpdGhvdXQgcHJldmVudGluZyB0aGVtIGZyb20gYmVpbmcgY29s
bGVjdGVkLgorIEBwYXJhbSBjdHggVGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KKyBAcGFy
YW0gZGF0YSBBIHZvaWQqIHRvIHNldCBhcyB0aGUgbWFwJ3MgcHJpdmF0ZSBkYXRhLiBQYXNzIE5V
TEwgdG8gc3BlY2lmeSBubyBwcml2YXRlIGRhdGEuCisgQHBhcmFtIGRlc3RydWN0b3IgQSBmdW5j
dGlvbiB0byBjYWxsIHdoZW4gdGhlIHdlYWsgbWFwIGlzIGRlc3Ryb3llZC4KKyBAcmVzdWx0IEEg
SlNXZWFrT2JqZWN0TWFwUmVmIGJvdW5kIHRvIHRoZSBnaXZlbiBjb250ZXh0LCBkYXRhIGFuZCBk
ZXN0cnVjdG9yLgorIEBkaXNjdXNzaW9uIFRoZSBKU1dlYWtPYmplY3RNYXBSZWYgY2FuIGJlIHVz
ZWQgYXMgYSBzdG9yYWdlIG1lY2hhbmlzbSB0byBob2xkIGN1c3RvbSBKUyBvYmplY3RzIHdpdGhv
dXQgZm9yY2luZyB0aG9zZSBvYmplY3RzIHRvCisgcmVtYWluIGxpdmUgYXMgSlNWYWx1ZVByb3Rl
Y3Qgd291bGQuICBBbnkgb2JqZWN0cyB0aGF0IGFyZSBpbnRlbmRlZCB0byBiZSBzdG9yZWQgaW4g
YSB3ZWFrIG1hcCBtdXN0IGJlIHVzZXIgZGVmaW5lZCBvYmplY3RzIHRoYXQKKyByZW1vdmUgdGhl
bXNlbHZlcyBmcm9tIHRoZSBtYXAgaW4gdGhlaXIgZmluYWxpemVyLgorICovCitKU1dlYWtPYmpl
Y3RNYXBSZWYgSlNXZWFrT2JqZWN0TWFwQ3JlYXRlKEpTQ29udGV4dFJlZiBjdHgsIHZvaWQqIGRh
dGEsIEpTV2Vha01hcERlc3Ryb3llZENhbGxiYWNrIGRlc3RydWN0b3IpOworCisvKiEKKyBAZnVu
Y3Rpb24KKyBAYWJzdHJhY3QgQXNzb2NpYXRlcyBhIEpTT2JqZWN0UmVmIHdpdGggdGhlIGdpdmVu
IGtleSBpbiBhIEpTV2Vha09iamVjdE1hcC4KKyBAcGFyYW0gY3R4IFRoZSBleGVjdXRpb24gY29u
dGV4dCB0byB1c2UuCisgQHBhcmFtIG1hcCBUaGUgbWFwIHRvIG9wZXJhdGUgb24uCisgQHBhcmFt
IGtleSBUaGUga2V5IHRvIGFzc29jaWF0ZSBhIHdlYWsgcmVmZXJlbmNlIHdpdGguCisgQHBhcmFt
IG9iamVjdCBUaGUgdXNlciBkZWZpbmVkIG9iamVjdCB0byBhc3NvY2lhdGUgd2l0aCB0aGUga2V5
LgorICovCit2b2lkIEpTV2Vha09iamVjdE1hcFNldChKU0NvbnRleHRSZWYgY3R4LCBKU1dlYWtP
YmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXksIEpTT2JqZWN0UmVmKTsKKworLyohCisgQGZ1bmN0
aW9uCisgQGFic3RyYWN0IFJldHJpZXZlcyB0aGUgSlNPYmplY3RSZWYgYXNzb2NpYXRlZCB3aXRo
IGEga2V5LgorIEBwYXJhbSBjdHggVGhlIGV4ZWN1dGlvbiBjb250ZXh0IHRvIHVzZS4KKyBAcGFy
YW0gbWFwIFRoZSBtYXAgdG8gcXVlcnkuCisgQHBhcmFtIGtleSBUaGUga2V5IHRvIHNlYXJjaCBm
b3IuCisgQHJlc3VsdCBFaXRoZXIgdGhlIGxpdmUgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUg
cHJvdmlkZWQga2V5LCBvciBOVUxMLgorICovCitKU09iamVjdFJlZiBKU1dlYWtPYmplY3RNYXBH
ZXQoSlNDb250ZXh0UmVmIGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5KTsK
KworLyohCisgQGZ1bmN0aW9uCisgQGFic3RyYWN0IENsZWFycyB0aGUgYXNzb2NpYXRpb24gYmV0
d2VlbiBhIGtleSBhbmQgYW4gb2JqZWN0IGluIGEgSlNXZWFrT2JqZWN0TWFwUmVmCisgQHBhcmFt
IGN0eCBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSBtYXAgVGhlIG1hcCB0
byBjbGVhciB0aGUga2V5IGFzc29jaWF0aW9uIGZyb20uCisgQHBhcmFtIGtleSBUaGUga2V5IHRv
IHVzZS4KKyBAcGFyYW0gb2JqZWN0IFRoZSBvbGQgb2JqZWN0IHZhbHVlLgorIEByZXN1bHQgUmV0
dXJucyB0cnVlIGlmIHRoZSBrZXkvb2JqZWN0IGFzc29jaWF0aW9uIHdhcyBwcmVzZW50IGluIG1h
cCwgYW5kIGhhcyBiZWVuIHJlbW92ZWQuCisgKi8KK2Jvb2wgSlNXZWFrT2JqZWN0TWFwQ2xlYXIo
SlNDb250ZXh0UmVmIGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5LCBKU09i
amVjdFJlZiBvYmplY3QpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5k
aWYgLy8gSlNXZWFrT2JqZWN0TWFwUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMzNjOTYxNC4uNjYz
N2Q5YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEwLTA0LTA1ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU3VwcG9ydCB3ZWFrIG1hcHMgaW4gSlNDCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzEzMgorCisgICAgICAgIEV4cG9zZSBh
biBBUEkgdG8gYWxsb3cgY3JlYXRpb24gb2YgYSBtYXAgZm9yIHN0b3JpbmcKKyAgICAgICAgd2Vh
ayBKUyByZWZlcmVuY2VzLgorCisgICAgICAgICogQVBJL0pTV2Vha09iamVjdE1hcFJlZkludGVy
bmFsLmg6IEFkZGVkLgorICAgICAgICAoT3BhcXVlSlNXZWFrT2JqZWN0TWFwOjpjcmVhdGUpOgor
ICAgICAgICAoT3BhcXVlSlNXZWFrT2JqZWN0TWFwOjptYXApOgorICAgICAgICAoT3BhcXVlSlNX
ZWFrT2JqZWN0TWFwOjp+T3BhcXVlSlNXZWFrT2JqZWN0TWFwKToKKyAgICAgICAgKE9wYXF1ZUpT
V2Vha09iamVjdE1hcDo6T3BhcXVlSlNXZWFrT2JqZWN0TWFwKToKKyAgICAgICAgKiBBUEkvSlNX
ZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHA6IEFkZGVkLgorICAgICAgICAqIEFQSS9KU1dlYWtP
YmplY3RNYXBSZWZQcml2YXRlLmg6IEFkZGVkLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmV4
cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9i
YWxPYmplY3Q6OnJlZ2lzdGVyV2Vha01hcCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
OjpkZXJlZ2lzdGVyV2Vha01hcCk6CisKIDIwMTAtMDQtMDMgIHlhZWwgYWhhcm9uICA8eWFlbC5h
aGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGUyNmQ3YzYuLjFlMGM3MmMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAKQEAgLTg0LDYgKzg0LDEwIEBAIF9KU1ZhbHVlVG9OdW1iZXIKIF9K
U1ZhbHVlVG9PYmplY3QKIF9KU1ZhbHVlVG9TdHJpbmdDb3B5CiBfSlNWYWx1ZVVucHJvdGVjdAor
X0pTV2Vha09iamVjdE1hcENsZWFyCitfSlNXZWFrT2JqZWN0TWFwQ3JlYXRlCitfSlNXZWFrT2Jq
ZWN0TWFwR2V0CitfSlNXZWFrT2JqZWN0TWFwU2V0CiBfV1RGTG9nCiBfV1RGTG9nVmVyYm9zZQog
X1dURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDRm
YTNhOC4uNjFiNzhjYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNzMsNiArMjczLDkgQEAKIAkJQTcy
NzAxQjkwREFERTk0OTAwRTU0OEQ3IC8qIEV4Y2VwdGlvbkhlbHBlcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjcwMUIzMERBREU5NDkwMEU1NDhE
NyAvKiBFeGNlcHRpb25IZWxwZXJzLmggKi87IH07CiAJCUE3MjdGRjZCMERBMzA5MjIwMEU1NDhE
NyAvKiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MjdGRjY2MERBMzA1M0IwMEU1NDhENyAvKiBKU1Byb3Bl
cnR5TmFtZUl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJQTcyODBBMjgxMTU1N0UzMDAwRDU2OTU3IC8q
IEpTT2JqZWN0UmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTc5RURCMDgxMTUzMUNENjAwMTlFOTEyIC8qIEpTT2JqZWN0UmVmUHJpdmF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3
NDgyQjkzMTE2NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ4MkI3OTExNjZD
REVBMDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE3NDgyQjk0MTE2NzExNDcwMDNC
MDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDgyQjdBMTE2NkNERUEwMDNCMDcxMiAvKiBK
U1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCAqLzsgfTsKKwkJQTc0ODJFOTMxMTZBN0NBRDAw
M0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzQ4MkUzNzExNkE2OTdCMDAzQjA3MTIgLyog
SlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzRCMzQ5OTEwMkE1RjhFMDAzMkFCOTggLyogTWFya1N0
YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NEIzNDk4MTAyQTVGOEUwMDMyQUI5OCAvKiBNYXJrU3RhY2suY3BwICovOyB9OwogCQlBNzY2QjQ0
RjBFRThEQ0QxMDA5NTE4Q0EgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCNDhEQjUwRUU3NENGQzAwRENCREI2
IC8qIEV4ZWN1dGFibGVBbGxvY2F0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlBNzZFRTY1OTBGQUU1OUQ1MDAzRjA2OUEgLyogTmF0aXZlRnVu
Y3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNzZFRTY1ODBGQUU1OUQ1MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyOCw2
ICs4MzEsOSBAQAogCQlBNzI3MDFCMzBEQURFOTQ5MDBFNTQ4RDcgLyogRXhjZXB0aW9uSGVscGVy
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGNlcHRpb25IZWxwZXJzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MjdGRjY1MERBMzA1M0IwMEU1NDhENyAv
KiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTcyN0ZGNjYwREEzMDUzQjAwRTU0OEQ3IC8qIEpTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQcm9wZXJ0eU5hbWVJdGVy
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3NDgyQjc5MTE2NkNERUEw
MDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTc0ODJCN0ExMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVj
dE1hcFJlZlByaXZhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE3NDgyRTM3MTE2QTY5N0IwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYWtPYmplY3RNYXBSZWZJ
bnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzRCMzQ5ODEwMkE1RjhF
MDAzMkFCOTggLyogTWFya1N0YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1hcmtTdGFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NkVF
NjU4MEZBRTU5RDUwMDNGMDY5QSAvKiBOYXRpdmVGdW5jdGlvbldyYXBwZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3Nzk1NThGMTAxQTc0RDUwMDExNEU1NSAvKiBNYXJrU3Rh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFya1N0YWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjE0LDYgKzEyMjAsOSBAQAogCQkJCUUxMjRBOEY2
MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5jcHAgKi8sCiAJCQkJRTEyNEE4RjUw
RTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi8sCiAJCQkJNURFM0QwRjQwREQ4
RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWlsYWJpbGl0eS5oICovLAorCQkJCUE3NDgyQjc5MTE2
NkNERUEwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmggKi8sCisJCQkJQTc0
ODJCN0ExMTY2Q0RFQTAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwICov
LAorCQkJCUE3NDgyRTM3MTE2QTY5N0IwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZJbnRl
cm5hbC5oICovLAogCQkJKTsKIAkJCXBhdGggPSBBUEk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwpAQCAtMjAyMCw2ICsyMDI5LDggQEAKIAkJCQk5Njg4Q0IxNjBFRDEyQjRFMDAxRDY0OUYg
LyogWDg2QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzI4MEEyODExNTU3RTMwMDBE
NTY5NTcgLyogSlNPYmplY3RSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjU2NTc0
MzExNUJFM0RBMDAyOTFGNDAgLyogQ1N0cmluZy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTc0ODJC
OTMxMTY3MTE0NzAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUE3NDgyRTkzMTE2QTdDQUQwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBS
ZWZJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNDYyLDYgKzI0NzMsNyBAQAogCQkJCTg2
OThCQjNBMTBEODZCQUYwMEQ4RDAxQiAvKiBVU3RyaW5nSW1wbC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFMUVGNzlBQTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4NjU2NTc0MjExNUJFM0RBMDAyOTFGNDAgLyogQ1N0cmluZy5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBNzQ4MkI5NDExNjcxMTQ3MDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFwUmVmUHJp
dmF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAppbmRleCBiYmI2ZDVlLi5kZjk0MmNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2lu
Y2x1ZGUgIkpTR2xvYmFsRGF0YS5oIgogI2luY2x1ZGUgIkpTVmFyaWFibGVPYmplY3QuaCIKKyNp
bmNsdWRlICJKU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5hbC5oIgogI2luY2x1ZGUgIk5hdGl2ZUZ1
bmN0aW9uV3JhcHBlci5oIgogI2luY2x1ZGUgIk51bWJlclByb3RvdHlwZS5oIgogI2luY2x1ZGUg
IlN0cmluZ1Byb3RvdHlwZS5oIgpAQCAtNTYsNiArNTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1ZhcmlhYmxlT2JqZWN0IHsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIHVzaW5nIEpTVmFyaWFibGVPYmplY3Q6OkpTVmFyaWFibGVPYmpl
Y3REYXRhOworICAgICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPE9wYXF1ZUpTV2Vha09iamVj
dE1hcD4gPiBXZWFrTWFwU2V0OwogCiAgICAgICAgIHN0cnVjdCBKU0dsb2JhbE9iamVjdERhdGEg
OiBwdWJsaWMgSlNWYXJpYWJsZU9iamVjdERhdGEgewogICAgICAgICAgICAgLy8gV2UgdXNlIGFu
IGV4cGxpY2l0IGRlc3RydWN0b3IgZnVuY3Rpb24gcG9pbnRlciBpbnN0ZWFkIG9mIGEKQEAgLTE1
Myw2ICsxNTUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFJlZlB0cjxKU0dsb2Jh
bERhdGE+IGdsb2JhbERhdGE7CiAKICAgICAgICAgICAgIEhhc2hTZXQ8R2xvYmFsQ29kZUJsb2Nr
Kj4gY29kZUJsb2NrczsKKyAgICAgICAgICAgIFdlYWtNYXBTZXQgd2Vha01hcHM7CiAgICAgICAg
IH07CiAKICAgICBwdWJsaWM6CkBAIC0yNzAsNiArMjczLDE2IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8o
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBBbm9ueW1vdXNTbG90Q291bnQpOwogICAgICAg
ICB9CiAKKyAgICAgICAgdm9pZCByZWdpc3RlcldlYWtNYXAoT3BhcXVlSlNXZWFrT2JqZWN0TWFw
KiBtYXApCisgICAgICAgIHsKKyAgICAgICAgICAgIGQoKS0+d2Vha01hcHMuYWRkKG1hcCk7Cisg
ICAgICAgIH0KKworICAgICAgICB2b2lkIGRlcmVnaXN0ZXJXZWFrTWFwKE9wYXF1ZUpTV2Vha09i
amVjdE1hcCogbWFwKQorICAgICAgICB7CisgICAgICAgICAgICBkKCktPndlYWtNYXBzLnJlbW92
ZShtYXApOworICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
IHwgT3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpT
VmFyaWFibGVPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwo=
</data>
<flag name="review"
          id="36116"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>