<?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>149062</bug_id>
          
          <creation_ts>2015-09-11 05:18:48 -0700</creation_ts>
          <short_desc>Add initial support for floats in WebAsssembly</short_desc>
          <delta_ts>2015-09-11 11:41:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125168</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-11 05:18:48 -0700</bug_when>
    <thetext>Implement the ConstantPoolIndex, Immediate, GetLocal, and GetGlobal instructions for floats (float32) in WebAssembly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125169</commentid>
    <comment_count>1</comment_count>
      <attachid>261003</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-11 05:25:06 -0700</bug_when>
    <thetext>Created attachment 261003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125219</commentid>
    <comment_count>2</comment_count>
      <attachid>261003</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-11 10:53:27 -0700</bug_when>
    <thetext>Comment on attachment 261003
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125225</commentid>
    <comment_count>3</comment_count>
      <attachid>261003</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-11 11:41:05 -0700</bug_when>
    <thetext>Comment on attachment 261003
Patch

Clearing flags on attachment: 261003

Committed r189624: &lt;http://trac.webkit.org/changeset/189624&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125226</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-11 11:41:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261003</attachid>
            <date>2015-09-11 05:25:06 -0700</date>
            <delta_ts>2015-09-11 11:41:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149062-20150911082459.patch</filename>
            <type>text/plain</type>
            <size>22467</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
Y2M4Mzc5MGIwNGQxZGNiNDNjZmVkYmIxNTRjZjdjYmRhMmY1Y2E5Li5hYmM2NjhhMzU3NzczNTgw
ZTVmOGM4NzkyMGQyZDE4OTI4NDc5M2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNS0wOS0xMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBmbG9hdHMgaW4gV2Vi
QXNzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDkwNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBsZW1lbnQgdGhlIENvbnN0YW50UG9vbEluZGV4LCBJbW1lZGlhdGUsIEdldExvY2FsLCBh
bmQgR2V0R2xvYmFsCisgICAgICAgIGluc3RydWN0aW9ucyBmb3IgZmxvYXRzIChmbG9hdDMyKSBp
biBXZWJBc3NlbWJseS4KKworICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMt
ZmxvYXQzMi5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL3dhc20tZ2xvYmFscy5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS10eXBl
LWNvbnZlcnNpb24uanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1m
bG9hdDMyLndhc206IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtL2dsb2JhbHMu
d2FzbToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS90eXBlLWNvbnZlcnNpb24ud2FzbToK
KyAgICAgICAgKiB3YXNtL1dBU01Db25zdGFudHMuaDoKKyAgICAgICAgKiB3YXNtL1dBU01GdW5j
dGlvbkNvbXBpbGVyLmg6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvbkNvbXBpbGVyOjpidWls
ZFNldExvY2FsKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxkUmV0
dXJuKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxkSW1tZWRpYXRl
RjMyKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxkR2V0TG9jYWwp
OgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkYzMik6CisgICAgICAgIChKU0M6OldBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25GMzIpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlSW1tZWRpYXRlRXhwcmVzc2lvbkYz
Mik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VHZXRMb2NhbEV4cHJl
c3Npb25GMzIpOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlR2V0R2xv
YmFsRXhwcmVzc2lvbkYzMik6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoK
KyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpT
Qzo6V0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlcjo6YnVpbGRJbW1lZGlhdGVGMzIpOgorICAgICAg
ICAqIHdhc20vV0FTTVJlYWRlci5jcHA6CisgICAgICAgIChKU0M6OldBU01SZWFkZXI6OnJlYWRP
cEV4cHJlc3Npb25GMzIpOgorICAgICAgICAqIHdhc20vV0FTTVJlYWRlci5oOgorCiAyMDE1LTA5
LTEwICBTdWtvbHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAg
IEltcGxlbWVudCBzd2l0Y2ggc3RhdGVtZW50cyBpbiBXZWJBc3NlbWJseQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQz
Mi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGlj
LWZsb2F0MzIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgxY2JmYTYyOTJkNDdkMzJhZWFiNDczN2ZhOWY3NDkw
MjkzOWNhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0MzIuanMKQEAgLTAsMCArMSwyOCBAQAorLy9AIHNr
aXAKKworZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyAr
IGFjdHVhbCk7Cit9CisKKy8qCit3YXNtL2FyaXRobWV0aWMtZmxvYXQzMi53YXNtIGlzIGdlbmVy
YXRlZCBieSBwYWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvcG9seWZp
bGwtcHJvdG90eXBlLTE+IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6CisKK2Z1bmN0aW9uIGFz
bU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CisgICAgInVzZSBhc20iOworCisgICAgdmFy
IGZyb3VuZCA9IGdsb2JhbC5NYXRoLmZyb3VuZDsKKworICAgIGZ1bmN0aW9uIG51bWJlcigpIHsK
KyAgICAgICAgcmV0dXJuIGZyb3VuZCgwLjUpOworICAgIH0KKworICAgIHJldHVybiB7CisgICAg
ICAgIG51bWJlcjogbnVtYmVyLAorICAgIH07Cit9CisqLworCit2YXIgbW9kdWxlID0gbG9hZFdl
YkFzc2VtYmx5KCJ3YXNtL2FyaXRobWV0aWMtZmxvYXQzMi53YXNtIik7CisKK3Nob3VsZEJlKG1v
ZHVsZS5udW1iZXIoKSwgMC41KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvd2FzbS1nbG9iYWxzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy93YXNtLWdsb2JhbHMuanMKaW5kZXggOWIxYjY4NzEwMWFkOTU1YWIwNTgwOTIzNzJi
ODc5ZTcxZTI5YzNmMS4uNGVlOGM3MzFiODZlZmExMTMzNjIzNDk4NjE3MjVlZDhmZjA3Y2Q3NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWdsb2Jh
bHMuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWdsb2Jh
bHMuanMKQEAgLTExLDggKzExLDEwIEBAIHdhc20vZ2xvYmFscy53YXNtIGlzIGdlbmVyYXRlZCBi
eSBwYWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvcG9sCiBmdW5jdGlv
biBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICJ1c2UgYXNtIjsKIAorICAg
IHZhciBmcm91bmQgPSBnbG9iYWwuTWF0aC5mcm91bmQ7CiAgICAgdmFyIHggPSAwOwotICAgIHZh
ciB5ID0gMC4wOworICAgIHZhciB5ID0gZnJvdW5kKDApOworICAgIHZhciB6ID0gMC4wOwogCiAg
ICAgZnVuY3Rpb24gZ2V0WCgpIHsKICAgICAgICAgcmV0dXJuIHg7CkBAIC0yMiwyMSArMjQsMzIg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgcmV0
dXJuIHk7CiAgICAgfQogCisgICAgZnVuY3Rpb24gZ2V0WigpIHsKKyAgICAgICAgcmV0dXJuIHo7
CisgICAgfQorCiAgICAgZnVuY3Rpb24gc2V0WChuZXdYKSB7CiAgICAgICAgIG5ld1ggPSBuZXdY
IHwgMDsKICAgICAgICAgeCA9IG5ld1g7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc2V0WShuZXdZ
KSB7Ci0gICAgICAgIG5ld1kgPSArbmV3WTsKKyAgICAgICAgbmV3WSA9IGZyb3VuZChuZXdZKTsK
ICAgICAgICAgeSA9IG5ld1k7CiAgICAgfQogCisgICAgZnVuY3Rpb24gc2V0WihuZXdaKSB7Cisg
ICAgICAgIG5ld1ogPSArbmV3WjsKKyAgICAgICAgeiA9IG5ld1o7CisgICAgfQorCiAgICAgcmV0
dXJuIHsKICAgICAgICAgZ2V0WDogZ2V0WCwKICAgICAgICAgZ2V0WTogZ2V0WSwKKyAgICAgICAg
Z2V0WjogZ2V0WiwKICAgICAgICAgc2V0WDogc2V0WCwKICAgICAgICAgc2V0WTogc2V0WSwKKyAg
ICAgICAgc2V0Wjogc2V0WiwKICAgICB9OwogfQogKi8KQEAgLTQ1LDEzICs1OCwyMiBAQCB2YXIg
bW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3YXNtL2dsb2JhbHMud2FzbSIpOwogCiBzaG91bGRC
ZShtb2R1bGUuZ2V0WCgpLCAwKTsKIHNob3VsZEJlKG1vZHVsZS5nZXRZKCksIDApOworc2hvdWxk
QmUobW9kdWxlLmdldFooKSwgMCk7CiAKIG1vZHVsZS5zZXRYKDEpOwogCiBzaG91bGRCZShtb2R1
bGUuZ2V0WCgpLCAxKTsKIHNob3VsZEJlKG1vZHVsZS5nZXRZKCksIDApOworc2hvdWxkQmUobW9k
dWxlLmdldFooKSwgMCk7CisKK21vZHVsZS5zZXRZKDAuMSk7CisKK3Nob3VsZEJlKG1vZHVsZS5n
ZXRYKCksIDEpOworc2hvdWxkQmUobW9kdWxlLmdldFkoKSwgMC4xMDAwMDAwMDE0OTAxMTYxMik7
CitzaG91bGRCZShtb2R1bGUuZ2V0WigpLCAwKTsKIAotbW9kdWxlLnNldFkoMC41KTsKK21vZHVs
ZS5zZXRaKDAuMSk7CiAKIHNob3VsZEJlKG1vZHVsZS5nZXRYKCksIDEpOwotc2hvdWxkQmUobW9k
dWxlLmdldFkoKSwgMC41KTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRZKCksIDAuMTAwMDAwMDAxNDkw
MTE2MTIpOworc2hvdWxkQmUobW9kdWxlLmdldFooKSwgMC4xKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS10eXBlLWNvbnZlcnNpb24uanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tdHlwZS1jb252ZXJzaW9uLmpz
CmluZGV4IGE5YzAwODc1OWQ1YjJjOWExNGU1MTdmYWM2Y2E5YTc5YWQ3Y2YwOTIuLjg0YjNiODk3
ZDVlMTRiYWViMGFjNWNkNWViZDIzYTk3Y2Q3MGU4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS10eXBlLWNvbnZlcnNpb24uanMKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLXR5cGUtY29udmVyc2lvbi5qcwpA
QCAtMTEsMTEgKzExLDE4IEBAIHdhc20vdHlwZS1jb252ZXJzaW9uLndhc20gaXMgZ2VuZXJhdGVk
IGJ5IHBhY2stYXNtanMgPGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlCiBmdW5jdGlvbiBhc21N
b2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICJ1c2UgYXNtIjsKIAorICAgIHZhciBm
cm91bmQgPSBnbG9iYWwuTWF0aC5mcm91bmQ7CisKICAgICBmdW5jdGlvbiB0YWtlQW5kUmV0dXJu
SW50MzIoeCkgewogICAgICAgICB4ID0geCB8IDA7CiAgICAgICAgIHJldHVybiB4OwogICAgIH0K
IAorICAgIGZ1bmN0aW9uIHRha2VBbmRSZXR1cm5GbG9hdCh4KSB7CisgICAgICAgIHggPSBmcm91
bmQoeCk7CisgICAgICAgIHJldHVybiB4OworICAgIH0KKwogICAgIGZ1bmN0aW9uIHRha2VBbmRS
ZXR1cm5Eb3VibGUoeCkgewogICAgICAgICB4ID0gK3g7CiAgICAgICAgIHJldHVybiB4OwpAQCAt
NDQsNiArNTEsMTYgQEAgc2hvdWxkQmUobW9kdWxlLnRha2VBbmRSZXR1cm5JbnQzMih7IH0pLCAw
KTsKIHNob3VsZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIoWzIuNV0pLCAyKTsKIHNob3Vs
ZEJlKG1vZHVsZS50YWtlQW5kUmV0dXJuSW50MzIodHdvKSwgMik7CiAKK3Nob3VsZEJlKG1vZHVs
ZS50YWtlQW5kUmV0dXJuRmxvYXQoMC4xKSwgMC4xMDAwMDAwMDE0OTAxMTYxMik7CitzaG91bGRC
ZShtb2R1bGUudGFrZUFuZFJldHVybkZsb2F0KCIwLjEiKSwgMC4xMDAwMDAwMDE0OTAxMTYxMik7
CitzaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVybkZsb2F0KDEpLCAxKTsKK3Nob3VsZEJlKG1v
ZHVsZS50YWtlQW5kUmV0dXJuRmxvYXQodHJ1ZSksIDEpOworc2hvdWxkQmUobW9kdWxlLnRha2VB
bmRSZXR1cm5GbG9hdChmYWxzZSksIDApOworc2hvdWxkQmUoaXNOYU4obW9kdWxlLnRha2VBbmRS
ZXR1cm5GbG9hdCgib25lIikpLCB0cnVlKTsKK3Nob3VsZEJlKGlzTmFOKG1vZHVsZS50YWtlQW5k
UmV0dXJuRmxvYXQoeyB9KSksIHRydWUpOworc2hvdWxkQmUobW9kdWxlLnRha2VBbmRSZXR1cm5G
bG9hdChbMi41XSksIDIuNSk7CitzaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVybkZsb2F0KHR3
byksIDIpOworCiBzaG91bGRCZShtb2R1bGUudGFrZUFuZFJldHVybkRvdWJsZSgxLjUpLCAxLjUp
Owogc2hvdWxkQmUobW9kdWxlLnRha2VBbmRSZXR1cm5Eb3VibGUoIjEuNSIpLCAxLjUpOwogc2hv
dWxkQmUobW9kdWxlLnRha2VBbmRSZXR1cm5Eb3VibGUoMSksIDEpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMtZmxvYXQzMi53
YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMt
ZmxvYXQzMi53YXNtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNDdiYWU2ZTJjZjYyZjIxZGVjMzNkNzM5NDNjNDAy
ODYwZDhhNTIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDQzCm1jbVhSPEVZQUpUIX5nPH1qOT8x
UFdNRjd1PE9sS1g4NSMzUmJDWGh3NyNJTUVxWHJORgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2dsb2Jh
bHMud2FzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS9nbG9iYWxz
Lndhc20KaW5kZXggM2Y5YzhhYzFjZjk2ZGQ5ZjI1MGYwOGQ3MjM5ODNmZTA2OWU4ZTIxNy4uZGFj
NTY4YjE1ZGViMTdlYjYxMDk3MmZjNTE2ZWE4NTBhZmNiOTNiMyAxMDA2NDQKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDEwOAp6Y21XO0F1Pz5KUTM8U1ZgSjR3cldCcG41IXFEbXhNan1uLUs4Skd3
c3VoK0BgWXBkc3s3KWJ5alA8cDhwZjYyTDEKakcoO0V8b3A0LVk/NjJ8ZSMtfXFLZHNfaUZnS21N
O3Y4YkM3Kz1CUTZHOTQ0SgoKbGl0ZXJhbCA4MAp6Y21YUjxFWTdXRFcmaTtlMV9tWXVXPTBAbFZx
am5kTFhaJDY2RWl+dEJSXzstWSt6aClwbi1BVzAhRWhmKVJHN1cKUzF8Uyo5eipyMW9HWGNwKzI0
KD1Ldjw7dkQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3dhc20vdHlwZS1jb252ZXJzaW9uLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL3dhc20vdHlwZS1jb252ZXJzaW9uLndhc20KaW5kZXggZjZhMzk0ZjZlNGNkZTg1Yzcw
MmJmOWFkYTFkZWVkNzZhNjY3Mzc0Yy4uMDY4NmI5MWVmM2U0NzU0NTkxNmU4NGY0NmZmNzQ4NTUx
OTUwZGY0OCAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEwOQp6Y21YUjxFWTdXRlcm
aTxaMjFXKShNbil6XkNOTEt3IW88K1AkYlNIYzdsMUckYjRnLSRzJCpWQ1AtO25PUUohYUIKY2lM
bnNfMUIjZWlQSlV0dTEwI3g8T01Zb21QQVVUdjBHOzAoaTJ3aXEKCmRlbHRhIDU1CnljbWN9fClG
QDlaJlVJdkYwMEFaak1nfUhFQ05MWXlaRDhhLTBLXkx6bkk7LTJhPTdHfENncjN1RmFpTUVGJGxL
KwoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01Db25zdGFudHMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01Db25zdGFudHMuaAppbmRleCAxYTE3
YmY2NmFmYzFhNjQwZjZjZGM3MmJhNmRlZGM5YmQ4YmY2N2NmLi4xYjk5NDVlMWFjOTYwOTE4ZTEy
M2FiZWRkYjVlZmQzNTdiNWZiMTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XQVNNQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FT
TUNvbnN0YW50cy5oCkBAIC0xNzAsNiArMTcwLDQyIEBAIGVudW0gY2xhc3MgV0FTTU9wRXhwcmVz
c2lvbkkzMldpdGhJbW1lZGlhdGUgOiB1aW50OF90IHsKICAgICBOdW1iZXJPZldBU01PcEV4cHJl
c3Npb25JMzJXaXRoSW1tZWRpYXRlcwogfTsKIAorZW51bSBjbGFzcyBXQVNNT3BFeHByZXNzaW9u
RjMyIDogdWludDhfdCB7CisgICAgQ29uc3RhbnRQb29sSW5kZXgsCisgICAgSW1tZWRpYXRlLAor
ICAgIEdldExvY2FsLAorICAgIEdldEdsb2JhbCwKKyAgICBTZXRMb2NhbCwKKyAgICBTZXRHbG9i
YWwsCisgICAgTG9hZCwKKyAgICBMb2FkV2l0aE9mZnNldCwKKyAgICBTdG9yZSwKKyAgICBTdG9y
ZVdpdGhPZmZzZXQsCisgICAgQ2FsbEludGVybmFsLAorICAgIENhbGxJbmRpcmVjdCwKKyAgICBD
b25kaXRpb25hbCwKKyAgICBDb21tYSwKKyAgICBGcm9tUzMyLAorICAgIEZyb21VMzIsCisgICAg
RnJvbUY2NCwKKyAgICBOZWdhdGUsCisgICAgQWRkLAorICAgIFN1YiwKKyAgICBNdWwsCisgICAg
RGl2LAorICAgIEFicywKKyAgICBDZWlsLAorICAgIEZsb29yLAorICAgIFNxcnQsCisgICAgTnVt
YmVyT2ZXQVNNT3BFeHByZXNzaW9uRjMycworfTsKKworZW51bSBjbGFzcyBXQVNNT3BFeHByZXNz
aW9uRjMyV2l0aEltbWVkaWF0ZSA6IHVpbnQ4X3QgeworICAgIENvbnN0YW50UG9vbEluZGV4LAor
ICAgIEdldExvY2FsLAorICAgIE51bWJlck9mV0FTTU9wRXhwcmVzc2lvbkYzMldpdGhJbW1lZGlh
dGVzCit9OworCiBlbnVtIGNsYXNzIFdBU01PcEV4cHJlc3Npb25GNjQgOiB1aW50OF90IHsKICAg
ICBDb25zdGFudFBvb2xJbmRleCwKICAgICBJbW1lZGlhdGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAppbmRleCBmZmQ1OTM3YzRiZGM1
M2E1OTQ0MmRkNmQwY2I0OWNmNWMxNWI1ZWRhLi42YTVkN2JjNmQ5NzVkNGYzYzljMjhiMDA0ZGYy
OWUyNWRiZjIwYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25Db21waWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvbkNvbXBpbGVyLmgKQEAgLTIxMCw2ICsyMTAsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAgY2FzZSBXQVNNVHlwZTo6STMyOgorICAgICAg
ICBjYXNlIFdBU01UeXBlOjpGMzI6CiAgICAgICAgICAgICBsb2FkMzIodGVtcG9yYXJ5QWRkcmVz
cyhtX3RlbXBTdGFja1RvcCAtIDEpLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgICAgICAgICBtX3Rl
bXBTdGFja1RvcC0tOwogICAgICAgICAgICAgc3RvcmUzMihHUFJJbmZvOjpyZWdUMCwgbG9jYWxB
ZGRyZXNzKGxvY2FsSW5kZXgpKTsKQEAgLTI1NSw4ICsyNTYsMTEgQEAgcHVibGljOgogI2VuZGlm
CiAgICAgICAgICAgICBtX3RlbXBTdGFja1RvcC0tOwogICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzI6CiAgICAgICAgIGNhc2UgV0FTTUV4cHJl
c3Npb25UeXBlOjpGNjQ6CiAgICAgICAgICAgICBsb2FkRG91YmxlKHRlbXBvcmFyeUFkZHJlc3Mo
bV90ZW1wU3RhY2tUb3AgLSAxKSwgRlBSSW5mbzo6ZnBSZWdUMCk7CisgICAgICAgICAgICBpZiAo
cmV0dXJuVHlwZSA9PSBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMikKKyAgICAgICAgICAgICAgICBj
b252ZXJ0RmxvYXRUb0RvdWJsZShGUFJJbmZvOjpmcFJlZ1QwLCBGUFJJbmZvOjpmcFJlZ1QwKTsK
ICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgYm94RG91YmxlKEZQUkluZm86OmZwUmVn
VDAsIEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKICNlbHNlCkBAIC0yODAsNiArMjg0LDEyIEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFVOVVNFRDsKICAgICB9CiAKKyAgICBpbnQgYnVpbGRJ
bW1lZGlhdGVGMzIoZmxvYXQgaW1tZWRpYXRlKQorICAgIHsKKyAgICAgICAgc3RvcmUzMihJbW0z
MihiaXR3aXNlX2Nhc3Q8aW50MzJfdD4oaW1tZWRpYXRlKSksIHRlbXBvcmFyeUFkZHJlc3MobV90
ZW1wU3RhY2tUb3ArKykpOworICAgICAgICByZXR1cm4gVU5VU0VEOworICAgIH0KKwogICAgIGlu
dCBidWlsZEltbWVkaWF0ZUY2NChkb3VibGUgaW1tZWRpYXRlKQogICAgIHsKICNpZiBVU0UoSlNW
QUxVRTY0KQpAQCAtMzAwLDYgKzMxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHN3aXRj
aCAodHlwZSkgewogICAgICAgICBjYXNlIFdBU01UeXBlOjpJMzI6CisgICAgICAgIGNhc2UgV0FT
TVR5cGU6OkYzMjoKICAgICAgICAgICAgIGxvYWQzMihsb2NhbEFkZHJlc3MobG9jYWxJbmRleCks
IEdQUkluZm86OnJlZ1QwKTsKICAgICAgICAgICAgIHN0b3JlMzIoR1BSSW5mbzo6cmVnVDAsIHRl
bXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3ArKykpOwogICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApp
bmRleCA4OTE4MmU4NTZlMzk3NmE4NGJkMmE0YTBlY2JlYzQzYmU5OTY3OGY4Li4wNmYyYzUyMzgx
NDg5OTU4M2Q5ZGYxMmNmZTRkMWZjNGNlNmFmNzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKQEAgLTM0LDExICszNCwxMyBAQAog
CiAjZGVmaW5lIFBST1BBR0FURV9FUlJPUigpIGRvIHsgaWYgKCFtX2Vycm9yTWVzc2FnZS5pc051
bGwoKSkgcmV0dXJuIDA7IH0gd2hpbGUgKDApCiAjZGVmaW5lIEZBSUxfV0lUSF9NRVNTQUdFKGVy
cm9yTWVzc2FnZSkgZG8geyAgbV9lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7IHJldHVybiAw
OyB9IHdoaWxlICgwKQorI2RlZmluZSBSRUFEX0ZMT0FUX09SX0ZBSUwocmVzdWx0LCBlcnJvck1l
c3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkRmxvYXQocmVzdWx0KSkgRkFJTF9XSVRIX01F
U1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9ET1VCTEVfT1Jf
RkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWREb3VibGUo
cmVzdWx0KSkgRkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNk
ZWZpbmUgUkVBRF9DT01QQUNUX0lOVDMyX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3NhZ2UpIGRv
IHsgaWYgKCFtX3JlYWRlci5yZWFkQ29tcGFjdEludDMyKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNT
QUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfQ09NUEFDVF9VSU5U
MzJfT1JfRkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWRD
b21wYWN0VUludDMyKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0g
d2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfU1RBVEVNRU5UX09SX0ZBSUwoaGFzSW1tZWRpYXRl
LCBvcCwgb3BXaXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAo
IW1fcmVhZGVyLnJlYWRPcFN0YXRlbWVudChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlh
dGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUg
KDApCiAjZGVmaW5lIFJFQURfT1BfRVhQUkVTU0lPTl9JMzJfT1JfRkFJTChoYXNJbW1lZGlhdGUs
IG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICgh
bV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkkzMihoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1l
ZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hp
bGUgKDApCisjZGVmaW5lIFJFQURfT1BfRVhQUkVTU0lPTl9GMzJfT1JfRkFJTChoYXNJbW1lZGlh
dGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlm
ICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkYzMihoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJ
bW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0g
d2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfRVhQUkVTU0lPTl9GNjRfT1JfRkFJTChoYXNJbW1l
ZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7
IGlmICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkY2NChoYXNJbW1lZGlhdGUsIG9wLCBvcFdp
dGhJbW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7
IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfVkFSSUFCTEVfVFlQRVNfT1JfRkFJTChoYXNJbW1l
ZGlhdGUsIHZhcmlhYmxlVHlwZXMsIHZhcmlhYmxlVHlwZXNXaXRoSW1tZWRpYXRlLCBpbW1lZGlh
dGUsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWRWYXJpYWJsZVR5cGVzKGhh
c0ltbWVkaWF0ZSwgdmFyaWFibGVUeXBlcywgdmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUsIGlt
bWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAj
ZGVmaW5lIFJFQURfU1dJVENIX0NBU0VfT1JfRkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8g
eyBpZiAoIW1fcmVhZGVyLnJlYWRTd2l0Y2hDYXNlKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdF
KGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCkBAIC00OTQsOSArNDk2LDEwIEBAIENvbnRleHRF
eHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uKENvbnRleHQmIGNv
bnRleHQsIFdBU01FeHByCiAgICAgc3dpdGNoIChleHByZXNzaW9uVHlwZSkgewogICAgIGNhc2Ug
V0FTTUV4cHJlc3Npb25UeXBlOjpJMzI6CiAgICAgICAgIHJldHVybiBwYXJzZUV4cHJlc3Npb25J
MzIoY29udGV4dCk7CisgICAgY2FzZSBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMjoKKyAgICAgICAg
cmV0dXJuIHBhcnNlRXhwcmVzc2lvbkYzMihjb250ZXh0KTsKICAgICBjYXNlIFdBU01FeHByZXNz
aW9uVHlwZTo6RjY0OgogICAgICAgICByZXR1cm4gcGFyc2VFeHByZXNzaW9uRjY0KGNvbnRleHQp
OwotICAgIGNhc2UgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzI6CiAgICAgY2FzZSBXQVNNRXhwcmVz
c2lvblR5cGU6OlZvaWQ6CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlc2UgaW5zdHJ1
Y3Rpb25zLgogICAgICAgICBGQUlMX1dJVEhfTUVTU0FHRSgiVW5zdXBwb3J0ZWQgaW5zdHJ1Y3Rp
b24uIik7CkBAIC03MTgsNiArNzIxLDExMyBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlUmVsYXRpb25hbEY2NEV4cHJlc3Npb25JMzIoQ29udGV4dCYgYwogfQog
CiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlv
blBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCit7CisgICAgYm9v
bCBoYXNJbW1lZGlhdGU7CisgICAgV0FTTU9wRXhwcmVzc2lvbkYzMiBvcDsKKyAgICBXQVNNT3BF
eHByZXNzaW9uRjMyV2l0aEltbWVkaWF0ZSBvcFdpdGhJbW1lZGlhdGU7CisgICAgdWludDhfdCBp
bW1lZGlhdGU7CisgICAgUkVBRF9PUF9FWFBSRVNTSU9OX0YzMl9PUl9GQUlMKGhhc0ltbWVkaWF0
ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlLCAiQ2Fubm90IHJlYWQgdGhlIGZsb2F0
MzIgZXhwcmVzc2lvbiBvcGNvZGUuIik7CisgICAgaWYgKCFoYXNJbW1lZGlhdGUpIHsKKyAgICAg
ICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNvbnN0
YW50UG9vbEluZGV4OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ29uc3RhbnRQb29sSW5kZXhF
eHByZXNzaW9uRjMyKGNvbnRleHQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6
OkltbWVkaWF0ZToKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUltbWVkaWF0ZUV4cHJlc3Npb25G
MzIoY29udGV4dCk7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6R2V0TG9jYWw6
CisgICAgICAgICAgICByZXR1cm4gcGFyc2VHZXRMb2NhbEV4cHJlc3Npb25GMzIoY29udGV4dCk7
CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6R2V0R2xvYmFsOgorICAgICAgICAg
ICAgcmV0dXJuIHBhcnNlR2V0R2xvYmFsRXhwcmVzc2lvbkYzMihjb250ZXh0KTsKKyAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTZXRMb2NhbDoKKyAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uRjMyOjpTZXRHbG9iYWw6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYz
Mjo6TG9hZDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpMb2FkV2l0aE9mZnNl
dDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTdG9yZToKKyAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTdG9yZVdpdGhPZmZzZXQ6CisgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkYzMjo6Q2FsbEludGVybmFsOgorICAgICAgICBjYXNlIFdBU01PcEV4cHJl
c3Npb25GMzI6OkNhbGxJbmRpcmVjdDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMy
OjpDb25kaXRpb25hbDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpDb21tYToK
KyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpGcm9tUzMyOgorICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25GMzI6OkZyb21VMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkYzMjo6RnJvbUY2NDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpOZWdh
dGU6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6QWRkOgorICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25GMzI6OlN1YjoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
RjMyOjpNdWw6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6RGl2OgorICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkFiczoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uRjMyOjpDZWlsOgorICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkZsb29y
OgorICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OlNxcnQ6CisgICAgICAgICAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KKyAgICAgICAgICAgIEZBSUxf
V0lUSF9NRVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgc3dpdGNoIChvcFdpdGhJbW1lZGlhdGUpIHsKKyAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uRjMyV2l0aEltbWVkaWF0ZTo6Q29uc3RhbnRQb29sSW5kZXg6CisgICAg
ICAgICAgICByZXR1cm4gcGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25GMzIoY29udGV4
dCwgaW1tZWRpYXRlKTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyV2l0aEltbWVk
aWF0ZTo6R2V0TG9jYWw6CisgICAgICAgICAgICByZXR1cm4gcGFyc2VHZXRMb2NhbEV4cHJlc3Np
b25GMzIoY29udGV4dCwgaW1tZWRpYXRlKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOwor
fQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25GMzIoQ29udGV4dCYg
Y29udGV4dCwgdWludDMyX3QgY29uc3RhbnRJbmRleCkKK3sKKyAgICBGQUlMX0lGX0ZBTFNFKGNv
bnN0YW50SW5kZXggPCBtX21vZHVsZS0+ZjMyQ29uc3RhbnRzKCkuc2l6ZSgpLCAiVGhlIGNvbnN0
YW50IHBvb2wgaW5kZXggaXMgaW5jb3JyZWN0LiIpOworICAgIHJldHVybiBjb250ZXh0LmJ1aWxk
SW1tZWRpYXRlRjMyKG1fbW9kdWxlLT5mMzJDb25zdGFudHMoKVtjb25zdGFudEluZGV4XSk7Cit9
CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZUNvbnN0YW50UG9vbEluZGV4RXhwcmVzc2lvbkYzMihDb250ZXh0JiBj
b250ZXh0KQoreworICAgIHVpbnQzMl90IGNvbnN0YW50SW5kZXg7CisgICAgUkVBRF9DT01QQUNU
X1VJTlQzMl9PUl9GQUlMKGNvbnN0YW50SW5kZXgsICJDYW5ub3QgcmVhZCB0aGUgY29uc3RhbnQg
cG9vbCBpbmRleC4iKTsKKyAgICByZXR1cm4gcGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Np
b25GMzIoY29udGV4dCwgY29uc3RhbnRJbmRleCk7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PgorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUltbWVkaWF0
ZUV4cHJlc3Npb25GMzIoQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBmbG9hdCBpbW1lZGlhdGU7
CisgICAgUkVBRF9GTE9BVF9PUl9GQUlMKGltbWVkaWF0ZSwgIkNhbm5vdCByZWFkIHRoZSBpbW1l
ZGlhdGUuIik7CisgICAgcmV0dXJuIGNvbnRleHQuYnVpbGRJbW1lZGlhdGVGMzIoaW1tZWRpYXRl
KTsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0RXhwcmVzc2lvbiBXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlR2V0TG9jYWxFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRl
eHQsIHVpbnQzMl90IGxvY2FsSW5kZXgpCit7CisgICAgRkFJTF9JRl9GQUxTRShsb2NhbEluZGV4
IDwgbV9sb2NhbFR5cGVzLnNpemUoKSwgIlRoZSBsb2NhbCBpbmRleCBpcyBpbmNvcnJlY3QuIik7
CisgICAgRkFJTF9JRl9GQUxTRShtX2xvY2FsVHlwZXNbbG9jYWxJbmRleF0gPT0gV0FTTVR5cGU6
OkYzMiwgIkV4cGVjdGVkIGEgbG9jYWwgb2YgdHlwZSBmbG9hdDMyLiIpOworICAgIHJldHVybiBj
b250ZXh0LmJ1aWxkR2V0TG9jYWwobG9jYWxJbmRleCwgV0FTTVR5cGU6OkYzMik7Cit9CisKK3Rl
bXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFy
c2VyOjpwYXJzZUdldExvY2FsRXhwcmVzc2lvbkYzMihDb250ZXh0JiBjb250ZXh0KQoreworICAg
IHVpbnQzMl90IGxvY2FsSW5kZXg7CisgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGxv
Y2FsSW5kZXgsICJDYW5ub3QgcmVhZCB0aGUgbG9jYWwgaW5kZXguIik7CisgICAgcmV0dXJuIHBh
cnNlR2V0TG9jYWxFeHByZXNzaW9uRjMyKGNvbnRleHQsIGxvY2FsSW5kZXgpOworfQorCit0ZW1w
bGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNl
cjo6cGFyc2VHZXRHbG9iYWxFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCit7CisgICAg
dWludDMyX3QgZ2xvYmFsSW5kZXg7CisgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGds
b2JhbEluZGV4LCAiQ2Fubm90IHJlYWQgdGhlIGdsb2JhbCBpbmRleC4iKTsKKyAgICBGQUlMX0lG
X0ZBTFNFKGdsb2JhbEluZGV4IDwgbV9tb2R1bGUtPmdsb2JhbFZhcmlhYmxlVHlwZXMoKS5zaXpl
KCksICJUaGUgZ2xvYmFsIGluZGV4IGlzIGluY29ycmVjdC4iKTsKKyAgICBGQUlMX0lGX0ZBTFNF
KG1fbW9kdWxlLT5nbG9iYWxWYXJpYWJsZVR5cGVzKClbZ2xvYmFsSW5kZXhdID09IFdBU01UeXBl
OjpGMzIsICJFeHBlY3RlZCBhIGdsb2JhbCB2YXJpYWJsZSBvZiB0eXBlIGZsb2F0MzIuIik7Cisg
ICAgcmV0dXJuIGNvbnRleHQuYnVpbGRHZXRHbG9iYWwoZ2xvYmFsSW5kZXgsIFdBU01UeXBlOjpG
MzIpOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KIENvbnRleHRFeHByZXNzaW9uIFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjY0KENvbnRleHQmIGNvbnRleHQpCiB7
CiAgICAgYm9vbCBoYXNJbW1lZGlhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01GdW5jdGlvblBhcnNlci5oCmluZGV4IGJlNjQyN2Y5M2I1ODQwMmYyZWJmYzc3N2U5ODZm
MGQ4ZTdjZjk3YzguLjA1YzE2N2QxMzZiYWE1ZjFiYTcxNDVmMzEwNmYyYjM4OTMyNGI5MDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCkBA
IC05NSw2ICs5NSwxNCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBD
b250ZXh0RXhwcmVzc2lvbiBwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNzaW9uSTMyKENvbnRleHQm
LCBXQVNNT3BFeHByZXNzaW9uSTMyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29u
dGV4dEV4cHJlc3Npb24gcGFyc2VSZWxhdGlvbmFsRjY0RXhwcmVzc2lvbkkzMihDb250ZXh0Jiwg
V0FTTU9wRXhwcmVzc2lvbkkzMik7CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29u
dGV4dEV4cHJlc3Npb24gcGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDb25zdGFudFBvb2xJbmRl
eEV4cHJlc3Npb25GMzIoQ29udGV4dCYsIHVpbnQzMl90IGNvbnN0YW50SW5kZXgpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNvbnN0YW50UG9v
bEluZGV4RXhwcmVzc2lvbkYzMihDb250ZXh0Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlSW1tZWRpYXRlRXhwcmVzc2lvbkYzMihDb250ZXh0
Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNl
R2V0TG9jYWxFeHByZXNzaW9uRjMyKENvbnRleHQmLCB1aW50MzJfdCBsb2NhbEluZGV4KTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VHZXRMb2Nh
bEV4cHJlc3Npb25GMzIoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBD
b250ZXh0RXhwcmVzc2lvbiBwYXJzZUdldEdsb2JhbEV4cHJlc3Npb25GMzIoQ29udGV4dCYpOwor
CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlRXhw
cmVzc2lvbkY2NChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRl
eHRFeHByZXNzaW9uIHBhcnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uRjY0KENvbnRleHQm
LCB1aW50MzJfdCBjb25zdGFudEluZGV4KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4g
Q29udGV4dEV4cHJlc3Npb24gcGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25GNjQoQ29u
dGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uU3ludGF4Q2hlY2tlci5oCmluZGV4IDE3OWM4NjdkNDE3ODRhZDM0ZGExM2Q4ZjNmNDk0Yzlk
NjM4OWIyYTYuLjBiY2Y4ZDVmZDg0NjY1MmJhYzg3ZmM4YzM1NDYzZGJiMTE2MmIxZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNr
ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhD
aGVja2VyLmgKQEAgLTczLDYgKzczLDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFVOVVNF
RDsKICAgICB9CiAKKyAgICBpbnQgYnVpbGRJbW1lZGlhdGVGMzIodWludDMyX3QpCisgICAgewor
ICAgICAgICBtX3RlbXBTdGFja1RvcCsrOworICAgICAgICB1cGRhdGVUZW1wU3RhY2tIZWlnaHQo
KTsKKyAgICAgICAgcmV0dXJuIFVOVVNFRDsKKyAgICB9CisKICAgICBpbnQgYnVpbGRJbW1lZGlh
dGVGNjQodWludDMyX3QpCiAgICAgewogICAgICAgICBtX3RlbXBTdGFja1RvcCsrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmNwcAppbmRleCAyYzVjOGU3YjU4NGM1YjA5
YTBhYmEwZGJjYTgxZTNhZTc1MjQyNDA1Li44MDA5MjczMWFlMGVhNWE4ZmJlMWUwYTExNGVhZDVh
YTg1NGU3ZDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVh
ZGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmNwcApA
QCAtMTg5LDYgKzE4OSwxMyBAQCBib29sIFdBU01SZWFkZXI6OnJlYWRPcEV4cHJlc3Npb25JMzIo
Ym9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BFeHByZXNzaW9uSTMyJiBvcAogICAgICAgICBzdGF0
aWNfY2FzdDx1aW50OF90PihXQVNNT3BFeHByZXNzaW9uSTMyV2l0aEltbWVkaWF0ZTo6TnVtYmVy
T2ZXQVNNT3BFeHByZXNzaW9uSTMyV2l0aEltbWVkaWF0ZXMpKTsKIH0KIAorYm9vbCBXQVNNUmVh
ZGVyOjpyZWFkT3BFeHByZXNzaW9uRjMyKGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wRXhwcmVz
c2lvbkYzMiYgb3AsIFdBU01PcEV4cHJlc3Npb25GMzJXaXRoSW1tZWRpYXRlJiBvcFdpdGhJbW1l
ZGlhdGUsIHVpbnQ4X3QmIGltbWVkaWF0ZSkKK3sKKyAgICByZXR1cm4gcmVhZE9wKGhhc0ltbWVk
aWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlLAorICAgICAgICBzdGF0aWNfY2Fz
dDx1aW50OF90PihXQVNNT3BFeHByZXNzaW9uRjMyOjpOdW1iZXJPZldBU01PcEV4cHJlc3Npb25G
MzJzKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDhfdD4oV0FTTU9wRXhwcmVzc2lvbkYzMldp
dGhJbW1lZGlhdGU6Ok51bWJlck9mV0FTTU9wRXhwcmVzc2lvbkYzMldpdGhJbW1lZGlhdGVzKSk7
Cit9CisKIGJvb2wgV0FTTVJlYWRlcjo6cmVhZE9wRXhwcmVzc2lvbkY2NChib29sJiBoYXNJbW1l
ZGlhdGUsIFdBU01PcEV4cHJlc3Npb25GNjQmIG9wLCBXQVNNT3BFeHByZXNzaW9uRjY0V2l0aElt
bWVkaWF0ZSYgb3BXaXRoSW1tZWRpYXRlLCB1aW50OF90JiBpbW1lZGlhdGUpCiB7CiAgICAgcmV0
dXJuIHJlYWRPcChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuaAppbmRleCA3YTJkMTMzN2EwNzFh
ZjllNzY2YmEzM2JhOGUxNTY0NDRhMGNkYmY5Li5lZjA2N2IyNmE0MTQxNGM1Mzc0ZjAyMmJhZTYz
Zjg2NTBlMTNjNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
UmVhZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5oCkBA
IC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICBib29sIHJlYWRFeHBvcnRGb3JtYXQoV0FTTUV4
cG9ydEZvcm1hdCYgcmVzdWx0KTsKICAgICBib29sIHJlYWRPcFN0YXRlbWVudChib29sJiBoYXNJ
bW1lZGlhdGUsIFdBU01PcFN0YXRlbWVudCYsIFdBU01PcFN0YXRlbWVudFdpdGhJbW1lZGlhdGUm
LCB1aW50OF90JiBpbW1lZGlhdGUpOwogICAgIGJvb2wgcmVhZE9wRXhwcmVzc2lvbkkzMihib29s
JiBoYXNJbW1lZGlhdGUsIFdBU01PcEV4cHJlc3Npb25JMzImLCBXQVNNT3BFeHByZXNzaW9uSTMy
V2l0aEltbWVkaWF0ZSYsIHVpbnQ4X3QmIGltbWVkaWF0ZSk7CisgICAgYm9vbCByZWFkT3BFeHBy
ZXNzaW9uRjMyKGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wRXhwcmVzc2lvbkYzMiYsIFdBU01P
cEV4cHJlc3Npb25GMzJXaXRoSW1tZWRpYXRlJiwgdWludDhfdCYgaW1tZWRpYXRlKTsKICAgICBi
b29sIHJlYWRPcEV4cHJlc3Npb25GNjQoYm9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BFeHByZXNz
aW9uRjY0JiwgV0FTTU9wRXhwcmVzc2lvbkY2NFdpdGhJbW1lZGlhdGUmLCB1aW50OF90JiBpbW1l
ZGlhdGUpOwogICAgIGJvb2wgcmVhZFZhcmlhYmxlVHlwZXMoYm9vbCYgaGFzSW1tZWRpYXRlLCBX
QVNNVmFyaWFibGVUeXBlcyYsIFdBU01WYXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSYsIHVpbnQ4
X3QmIGltbWVkaWF0ZSk7CiAgICAgYm9vbCByZWFkU3dpdGNoQ2FzZShXQVNNU3dpdGNoQ2FzZSYg
cmVzdWx0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>