<?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>149411</bug_id>
          
          <creation_ts>2015-09-21 12:23:35 -0700</creation_ts>
          <short_desc>Implement call statements and call expressions of type void in WebAssembly</short_desc>
          <delta_ts>2015-09-21 14:20:48 -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>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>1127718</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 12:23:35 -0700</bug_when>
    <thetext>Call instructions in WebAssembly can be both statements and expressions. We haven&apos;t implemented call statements. We haven&apos;t implemented call expressions of type void either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127720</commentid>
    <comment_count>1</comment_count>
      <attachid>261676</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 12:32:11 -0700</bug_when>
    <thetext>Created attachment 261676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127721</commentid>
    <comment_count>2</comment_count>
      <attachid>261676</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-21 12:34:02 -0700</bug_when>
    <thetext>Comment on attachment 261676
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127722</commentid>
    <comment_count>3</comment_count>
      <attachid>261677</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 12:34:16 -0700</bug_when>
    <thetext>Created attachment 261677
Fix a typo in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127737</commentid>
    <comment_count>4</comment_count>
      <attachid>261677</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-09-21 13:34:07 -0700</bug_when>
    <thetext>Comment on attachment 261677
Fix a typo in ChangeLog

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127758</commentid>
    <comment_count>5</comment_count>
      <attachid>261677</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 14:20:44 -0700</bug_when>
    <thetext>Comment on attachment 261677
Fix a typo in ChangeLog

Clearing flags on attachment: 261677

Committed r190080: &lt;http://trac.webkit.org/changeset/190080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127759</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 14:20:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261676</attachid>
            <date>2015-09-21 12:32:11 -0700</date>
            <delta_ts>2015-09-21 12:34:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149411-20150921123301.patch</filename>
            <type>text/plain</type>
            <size>20206</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NmI4NzA5NWJiNTQ2NzZlMmIzYzdjZDY2NTI5NzlhMGNmMzg0YzI3Li41OWJhNmZiNTcyMjZhMjBj
YTVhNjUzY2Q4YmQzOTkwY2FhYzdiZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNS0wOS0yMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY2FsbCBzdGF0ZW1lbnRzIGFuZCBjYWxsIGV4
cHJlc3Npb25zIG9mIHR5cGUgdm9pZCBpbiBXZWJBc3NlbWJseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NDExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbCBpbnN0cnVjdGlvbnMgaW4gV2ViQXNz
ZW1ibHkgY2FuIGJlIGJvdGggc3RhdGVtZW50cyBhbmQgZXhwcmVzc2lvbnMuCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBjYWxsIHN0YXRlbWVudHMuIEl0IGFsc28gaW1wbGVtZW50IGNh
bGwKKyAgICAgICAgZXhwcmVzc2lvbnMgb2YgdHlwZSB2b2lkLiBUaGUgb25seSBwbGFjZSB3aGVy
ZSBjYWxsIGV4cHJlc3Npb25zIG9mIHR5cGUKKyAgICAgICAgdm9pZCBjYW4gb2NjdXIgaXMgdGhl
IGxlZnQtaGFuZCBzaWRlIG9mIHRoZSBjb21tYSAoLCkgb3BlcmF0b3IsIHdoaWNoCisgICAgICAg
IHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gYSBzdWJzZXF1ZW50IHBhdGNoLiBUaGUgY29tbWEgb3Bl
cmF0b3IgcmVxdWlyZXMKKyAgICAgICAgYm90aCBvZiBpdHMgb3BlcmFuZHMgdG8gYmUgZXhwcmVz
c2lvbnMuCisKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1jYWxscy5qczoKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3Mvd2FzbS9jYWxscy53YXNtOgorICAgICAgICAqIHdhc20vV0FTTUNvbnN0
YW50cy5oOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6V0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIpOgorICAgICAgICAoSlNDOjpXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkYzMik6CisgICAgICAgIChKU0M6OldBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjY0KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25Wb2lkKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZUNhbGxJbnRlcm5hbCk6CisgICAgICAgIChKU0M6OldBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VDYWxsSW5kaXJlY3QpOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlQ2FsbEltcG9ydCk6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Q
YXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dBU01SZWFkZXIuY3BwOgorICAgICAgICAoSlNDOjpX
QVNNUmVhZGVyOjpyZWFkT3BFeHByZXNzaW9uVm9pZCk6CisgICAgICAgICogd2FzbS9XQVNNUmVh
ZGVyLmg6CisKIDIwMTUtMDktMjEgQWxla3NhbmRyIFNrYWNoa292ICAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYXJyb3cgZnVuY3Rpb24gbmFtZXMgYXJl
IG5ldmVyIGluZmVycmVkLCBjYWxsIGZyYW1lcyBhcmUgbGFiZWxlZCAoYW5vbnltb3VzIGZ1bmN0
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNt
LWNhbGxzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWNhbGxz
LmpzCmluZGV4IGNmODZjMDY4MzUzNDVlNTI3OGUxOTA1MDJhNjFjNjNhOWIxZWE1OTUuLjY5OGFm
NzM5YjhiNmYwZDhiM2I5Mjc2ODlmODk0OTJiZGM2M2JmMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1jYWxscy5qcworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tY2FsbHMuanMKQEAgLTE0LDYgKzE0LDcgQEAg
ZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgdmFyIGlt
dWwgPSBnbG9iYWwuTWF0aC5pbXVsOwogICAgIHZhciBzdW0gPSBpbXBvcnRzLnN1bTsKICAgICB2
YXIgbWF4ID0gaW1wb3J0cy5tYXg7CisgICAgdmFyIGcgPSAwOwogCiAgICAgZnVuY3Rpb24gZmli
b25hY2NpKHgpIHsKICAgICAgICAgeCA9IHggfCAwOwpAQCAtMzYsNiArMzcsMTcgQEAgZnVuY3Rp
b24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAgIHJldHVybiAo
aW11bCh4LCB5KSAvIChnY2QoeCwgeSkgfCAwKSkgfCAwOwogICAgIH0KIAorICAgIGZ1bmN0aW9u
IHNldEcoeCkgeworICAgICAgICB4ID0geCB8IDA7CisgICAgICAgIGcgPSB4OworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHRlc3RDYWxsU3RhdGVtZW50KHgpIHsKKyAgICAgICAgeCA9IHggfCAwOwor
ICAgICAgICBzZXRHKHgpOworICAgICAgICByZXR1cm4gZyB8IDA7CisgICAgfQorCiAgICAgZnVu
Y3Rpb24gYWRkU3ViTXVsRGl2KGksIHgsIHkpIHsKICAgICAgICAgaSA9IGkgfCAwOwogICAgICAg
ICB4ID0geCB8IDA7CkBAIC04NSw2ICs5Nyw3IEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWws
IGltcG9ydHMsIGJ1ZmZlcikgewogICAgICAgICBmaWJvbmFjY2k6IGZpYm9uYWNjaSwKICAgICAg
ICAgZ2NkOiBnY2QsCiAgICAgICAgIGxjbTogbGNtLAorICAgICAgICB0ZXN0Q2FsbFN0YXRlbWVu
dDogdGVzdENhbGxTdGF0ZW1lbnQsCiAKICAgICAgICAgYWRkU3ViTXVsRGl2OiBhZGRTdWJNdWxE
aXYsCiAKQEAgLTEwMyw2ICsxMTYsNyBAQCB2YXIgbW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3
YXNtL2NhbGxzLndhc20iLCBpbXBvcnRzKTsKIHNob3VsZEJlKG1vZHVsZS5maWJvbmFjY2koMTAp
LCA4OSk7CiBzaG91bGRCZShtb2R1bGUuZ2NkKDE1LCAyNSksIDUpOwogc2hvdWxkQmUobW9kdWxl
LmxjbSgxNSwgMjUpLCA3NSk7CitzaG91bGRCZShtb2R1bGUudGVzdENhbGxTdGF0ZW1lbnQoNDIp
LCA0Mik7CiAKIHNob3VsZEJlKG1vZHVsZS5hZGRTdWJNdWxEaXYoMCwgNiwgMiksIDgpOwogc2hv
dWxkQmUobW9kdWxlLmFkZFN1Yk11bERpdigxLCA2LCAyKSwgNCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vY2FsbHMud2FzbSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS9jYWxscy53YXNtCmluZGV4IDAwYzI4ZTJh
MmNmMjljZTFlMWNhNzE3NGFhNTgyODBlNTAxMTJiNTYuLjQ3MWMwNGFiODllNmY0YjllNzI3OWVi
ZDFkMjAxYmJjNTM5Yjc3NjYgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTYzCnpjbWNi
fV8/Nk1RSmgzPWVqKlM1WFNRcj0/Nz8+Q3NuMUt7Q2trNzxhVCQ7PGskZTVkMDBWSUtmSyk/ZkpG
IyVPVAp6MFNnO0QyakBnUDFGaSlKOGtsJlA1QVpXSE93N151V0tZWFglRmp6b1BSP1h0Tktafi1W
OVpJKlduZH52RWlRM1IKcyUqaEVaTmkwZHRQMGNHfFVgYjMjMmApfFlFek5Qc0VNczZ6MjF4Pn48
TmA1I2Z3cG8zMFB1cSZafnk9UgoKZGVsdGEgMTI4CnpjbWV5JGMjK1lySmgzPTtHYjtsS0ZmJVlS
RmZmNGBLJEB3ekc/IyZxRiptVVNOUF5gVnhQVUFzTWtydW1WUCN7Vgp6PXhpe3RVZX1CKkVpKS1V
RkVLZWVsWXQ+VUlmYTJTQ3BuamFES1JBX3hIUVNQR3srXmdqRGF+aEYoKVMmWGUwLVMKSjtSYGdD
Njk5dTM4WVRiJAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01D
b25zdGFudHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01Db25zdGFudHMuaApp
bmRleCAyYzYwYTdjNTJlY2QwMzA3NDFiNDU1N2Y0MjczYmZlYjkzNmQ1ZjY5Li40ZTNiZDQ0M2Y1
NWI4NDhlMTVjMzdjMTJmZDZiMDVmOWYyZjEzNTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTUNvbnN0YW50cy5oCkBAIC0yNjEsNiArMjYxLDEzIEBAIGVudW0gY2xhc3MgV0FT
TU9wRXhwcmVzc2lvbkY2NFdpdGhJbW1lZGlhdGUgOiB1aW50OF90IHsKICAgICBOdW1iZXJPZldB
U01PcEV4cHJlc3Npb25GNjRXaXRoSW1tZWRpYXRlcwogfTsKIAorZW51bSBjbGFzcyBXQVNNT3BF
eHByZXNzaW9uVm9pZCA6IHVpbnQ4X3QgeworICAgIENhbGxJbnRlcm5hbCwKKyAgICBDYWxsSW5k
aXJlY3QsCisgICAgQ2FsbEltcG9ydCwKKyAgICBOdW1iZXJPZldBU01PcEV4cHJlc3Npb25Wb2lk
cworfTsKKwogZW51bSBjbGFzcyBXQVNNVmFyaWFibGVUeXBlcyA6IHVpbnQ4X3QgewogICAgIEkz
MiA9IDEgPDwgMCwKICAgICBGMzIgPSAxIDw8IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcAppbmRleCAzNmJjNmZiYTY0NzRkNWVkZmY3
N2M2ZGZiZjMwM2FjMjMzMzM5MGUzLi4xYTg2Y2QwMjhlNjI3ODZkMWVjZjk4MGQ0YTdhYzA3ODZi
Mjg2NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlv
blBhcnNlci5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNkZWZpbmUgUkVBRF9PUF9FWFBSRVNTSU9O
X0kzMl9PUl9GQUlMKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRl
LCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkT3BFeHByZXNzaW9uSTMyKGhh
c0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkgRkFJTF9XSVRIX01F
U1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9PUF9FWFBSRVNT
SU9OX0YzMl9PUl9GQUlMKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRp
YXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkT3BFeHByZXNzaW9uRjMy
KGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkgRkFJTF9XSVRI
X01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9PUF9FWFBS
RVNTSU9OX0Y2NF9PUl9GQUlMKGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1t
ZWRpYXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkT3BFeHByZXNzaW9u
RjY0KGhhc0ltbWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlKSkgRkFJTF9X
SVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgUkVBRF9PUF9F
WFBSRVNTSU9OX1ZPSURfT1JfRkFJTChvcCwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFk
ZXIucmVhZE9wRXhwcmVzc2lvblZvaWQob3ApKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3Nh
Z2UpOyB9IHdoaWxlICgwKQogI2RlZmluZSBSRUFEX1ZBUklBQkxFX1RZUEVTX09SX0ZBSUwoaGFz
SW1tZWRpYXRlLCB2YXJpYWJsZVR5cGVzLCB2YXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSwgaW1t
ZWRpYXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkVmFyaWFibGVUeXBl
cyhoYXNJbW1lZGlhdGUsIHZhcmlhYmxlVHlwZXMsIHZhcmlhYmxlVHlwZXNXaXRoSW1tZWRpYXRl
LCBpbW1lZGlhdGUpKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgw
KQogI2RlZmluZSBSRUFEX1NXSVRDSF9DQVNFX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3NhZ2Up
IGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkU3dpdGNoQ2FzZShyZXN1bHQpKSBGQUlMX1dJVEhfTUVT
U0FHRShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgwKQogI2RlZmluZSBGQUlMX0lGX0ZBTFNFKGNv
bmRpdGlvbiwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghKGNvbmRpdGlvbikpIEZBSUxfV0lUSF9N
RVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCkBAIC0xODcsNiArMTg4LDE1IEBAIENv
bnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVudChDb250ZXh0
JiBjb250ZXh0KQogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6RjY0U3RvcmVXaXRoT2Zm
c2V0OgogICAgICAgICAgICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1l
bnQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0LCBXQVNNTWVtb3J5VHlwZTo6RjY0LCBNZW1vcnlB
Y2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFdBU01PcFN0YXRlbWVudDo6Q2FsbEludGVybmFsOgorICAgICAgICAgICAgcGFyc2VD
YWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50LCBXQVNNRXhwcmVzc2lv
blR5cGU6OlZvaWQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9wU3Rh
dGVtZW50OjpDYWxsSW5kaXJlY3Q6CisgICAgICAgICAgICBwYXJzZUNhbGxJbmRpcmVjdChjb250
ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6Vm9pZCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkNhbGxJbXBv
cnQ6CisgICAgICAgICAgICBwYXJzZUNhbGxJbXBvcnQoY29udGV4dCwgV0FTTU9wS2luZDo6U3Rh
dGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OlZvaWQpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpSZXR1cm46CiAgICAgICAgICAgICBwYXJzZVJl
dHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjIzLDExICsy
MzMsNiBAQCBDb250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdGF0ZW1l
bnQoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OlN3aXRj
aDoKICAgICAgICAgICAgIHBhcnNlU3dpdGNoU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpDYWxsSW50ZXJuYWw6Ci0g
ICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpDYWxsSW5kaXJlY3Q6Ci0gICAgICAgIGNhc2Ug
V0FTTU9wU3RhdGVtZW50OjpDYWxsSW1wb3J0OgotICAgICAgICAgICAgLy8gRklYTUU6IEltcGxl
bWVudCB0aGVzZSBpbnN0cnVjdGlvbnMuCi0gICAgICAgICAgICBGQUlMX1dJVEhfTUVTU0FHRSgi
VW5zdXBwb3J0ZWQgaW5zdHJ1Y3Rpb24uIik7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQpAQCAtNDk4LDEyICs1MDMsMTAgQEAg
Q29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb24oQ29u
dGV4dCYgY29udGV4dCwgV0FTTUV4cHIKICAgICBjYXNlIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0
OgogICAgICAgICByZXR1cm4gcGFyc2VFeHByZXNzaW9uRjY0KGNvbnRleHQpOwogICAgIGNhc2Ug
V0FTTUV4cHJlc3Npb25UeXBlOjpWb2lkOgotICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRo
ZXNlIGluc3RydWN0aW9ucy4KLSAgICAgICAgRkFJTF9XSVRIX01FU1NBR0UoIlVuc3VwcG9ydGVk
IGluc3RydWN0aW9uLiIpOworICAgICAgICByZXR1cm4gcGFyc2VFeHByZXNzaW9uVm9pZChjb250
ZXh0KTsKICAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9Ci0gICAgcmV0dXJuIDA7CiB9
CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgpAQCAtNTYxLDExICs1NjQsMTEgQEAgQ29udGV4
dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIoQ29udGV4
dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZVdpdGhP
ZmZzZXQzMjoKICAgICAgICAgICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtp
bmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6
STMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpDYWxsSW50ZXJuYWw6Ci0gICAgICAgICAgICByZXR1cm4gcGFy
c2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIpOworICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlQ2FsbEludGVybmFsKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJl
c3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6STMyKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpDYWxsSW5kaXJlY3Q6Ci0gICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW5k
aXJlY3QoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIpOworICAgICAgICAgICAgcmV0
dXJuIHBhcnNlQ2FsbEluZGlyZWN0KGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdB
U01FeHByZXNzaW9uVHlwZTo6STMyKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpDYWxsSW1wb3J0OgotICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEltcG9ydChjb250ZXh0
LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxs
SW1wb3J0KGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlw
ZTo6STMyKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpGcm9tRjMyOgogICAg
ICAgICAgICAgcmV0dXJuIHBhcnNlQ29udmVydFR5cGUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25U
eXBlOjpGMzIsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNVHlwZUNvbnZlcnNpb246OkNv
bnZlcnRTaWduZWQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkZyb21GNjQ6
CkBAIC03NDksOSArNzUyLDkgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2Vy
OjpwYXJzZUV4cHJlc3Npb25GMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNN
T3BFeHByZXNzaW9uRjMyOjpTdG9yZVdpdGhPZmZzZXQ6CiAgICAgICAgICAgICByZXR1cm4gcGFy
c2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5
cGU6OkYzMiwgV0FTTU1lbW9yeVR5cGU6OkYzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0
aE9mZnNldCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q2FsbEludGVybmFs
OgotICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEludGVybmFsKGNvbnRleHQsIFdBU01FeHBy
ZXNzaW9uVHlwZTo6RjMyKTsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChj
b250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMik7
CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q2FsbEluZGlyZWN0OgotICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlQ2FsbEluZGlyZWN0KGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlw
ZTo6RjMyKTsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbmRpcmVjdChjb250ZXh0LCBX
QVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMik7CiAgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6RnJvbVMzMjoKICAgICAgICAgICAgIHJldHVybiBw
YXJzZUNvbnZlcnRUeXBlKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNRXhw
cmVzc2lvblR5cGU6OkYzMiwgV0FTTVR5cGVDb252ZXJzaW9uOjpDb252ZXJ0U2lnbmVkKTsKICAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpGcm9tVTMyOgpAQCAtODYxLDExICs4NjQs
MTEgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Np
b25GNjQoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0
OjpTdG9yZVdpdGhPZmZzZXQ6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0
LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1l
bW9yeVR5cGU6OkY2NCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6Q2FsbEludGVybmFsOgotICAgICAgICAgICAg
cmV0dXJuIHBhcnNlQ2FsbEludGVybmFsKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0
KTsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNNT3BL
aW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkY2NDo6Q2FsbEltcG9ydDoKLSAgICAgICAgICAgIHJldHVybiBwYXJz
ZUNhbGxJbXBvcnQoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQpOworICAgICAgICAg
ICAgcmV0dXJuIHBhcnNlQ2FsbEltcG9ydChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9u
LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkY2NDo6Q2FsbEluZGlyZWN0OgotICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEluZGlyZWN0
KGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0KTsKKyAgICAgICAgICAgIHJldHVybiBw
YXJzZUNhbGxJbmRpcmVjdChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhw
cmVzc2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6RnJv
bVMzMjoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUNvbnZlcnRUeXBlKGNvbnRleHQsIFdBU01F
eHByZXNzaW9uVHlwZTo6STMyLCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTVR5cGVDb252
ZXJzaW9uOjpDb252ZXJ0U2lnbmVkKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0
OjpGcm9tVTMyOgpAQCAtOTU4LDYgKzk2MSwyMyBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlQmluYXJ5RXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0LAog
fQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uVm9pZChDb250ZXh0JiBjb250ZXh0KQoreworICAg
IFdBU01PcEV4cHJlc3Npb25Wb2lkIG9wOworICAgIFJFQURfT1BfRVhQUkVTU0lPTl9WT0lEX09S
X0ZBSUwob3AsICJDYW5ub3QgcmVhZCB0aGUgdm9pZCBleHByZXNzaW9uIG9wY29kZS4iKTsKKyAg
ICBzd2l0Y2ggKG9wKSB7CisgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uVm9pZDo6Q2FsbEludGVy
bmFsOgorICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTU9wS2lu
ZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpWb2lkKTsKKyAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25Wb2lkOjpDYWxsSW5kaXJlY3Q6CisgICAgICAgIHJldHVybiBwYXJzZUNhbGxJ
bmRpcmVjdChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5
cGU6OlZvaWQpOworICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvblZvaWQ6OkNhbGxJbXBvcnQ6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNhbGxJbXBvcnQoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVz
c2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpWb2lkKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKwordGVtcGxhdGUgPGNsYXNz
IENvbnRleHQ+CiBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlR2V0
TG9jYWxFeHByZXNzaW9uKENvbnRleHQmIGNvbnRleHQsIFdBU01UeXBlIHR5cGUsIHVpbnQzMl90
IGxvY2FsSW5kZXgpCiB7CiAgICAgRkFJTF9JRl9GQUxTRShsb2NhbEluZGV4IDwgbV9sb2NhbFR5
cGVzLnNpemUoKSwgIlRoZSBsb2NhbCBpbmRleCBpcyBpbmNvcnJlY3QuIik7CkBAIC0xMDY4LDEz
ICsxMDg4LDE0IEBAIENvbnRleHRFeHByZXNzaW9uTGlzdCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlQ2FsbEFyZ3VtZW50cyhDb250ZXh0JiBjb250ZXh0LCBjCiB9CiAKIHRlbXBsYXRlIDxjbGFz
cyBDb250ZXh0PgotQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNh
bGxJbnRlcm5hbChDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlw
ZSkKK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDYWxsSW50ZXJu
YWwoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQsIFdBU01FeHByZXNzaW9uVHlw
ZSByZXR1cm5UeXBlKQogewogICAgIHVpbnQzMl90IGZ1bmN0aW9uSW5kZXg7CiAgICAgUkVBRF9D
T01QQUNUX1VJTlQzMl9PUl9GQUlMKGZ1bmN0aW9uSW5kZXgsICJDYW5ub3QgcmVhZCB0aGUgZnVu
Y3Rpb24gaW5kZXguIik7CiAgICAgRkFJTF9JRl9GQUxTRShmdW5jdGlvbkluZGV4IDwgbV9tb2R1
bGUtPmZ1bmN0aW9uRGVjbGFyYXRpb25zKCkuc2l6ZSgpLCAiVGhlIGZ1bmN0aW9uIGluZGV4IGlz
IGluY29ycmVjdC4iKTsKICAgICBjb25zdCBXQVNNU2lnbmF0dXJlJiBzaWduYXR1cmUgPSBtX21v
ZHVsZS0+c2lnbmF0dXJlcygpW21fbW9kdWxlLT5mdW5jdGlvbkRlY2xhcmF0aW9ucygpW2Z1bmN0
aW9uSW5kZXhdLnNpZ25hdHVyZUluZGV4XTsKLSAgICBGQUlMX0lGX0ZBTFNFKHNpZ25hdHVyZS5y
ZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1cm4gdHlwZS4iKTsKKyAgICBpZiAo
b3BLaW5kID09IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24pCisgICAgICAgIEZBSUxfSUZfRkFMU0Uo
c2lnbmF0dXJlLnJldHVyblR5cGUgPT0gcmV0dXJuVHlwZSwgIldyb25nIHJldHVybiB0eXBlLiIp
OwogCiAgICAgQ29udGV4dEV4cHJlc3Npb25MaXN0IGFyZ3VtZW50TGlzdCA9IHBhcnNlQ2FsbEFy
Z3VtZW50cyhjb250ZXh0LCBzaWduYXR1cmUuYXJndW1lbnRzKTsKICAgICBQUk9QQUdBVEVfRVJS
T1IoKTsKQEAgLTEwODIsMTQgKzExMDMsMTUgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZUNhbGxJbnRlcm5hbChDb250ZXh0JiBjb250ZXh0LCBXQVNNRXgKIH0K
IAogdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+Ci1Db250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlQ2FsbEluZGlyZWN0KENvbnRleHQmIGNvbnRleHQsIFdBU01FeHByZXNz
aW9uVHlwZSByZXR1cm5UeXBlKQorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2Vy
OjpwYXJzZUNhbGxJbmRpcmVjdChDb250ZXh0JiBjb250ZXh0LCBXQVNNT3BLaW5kIG9wS2luZCwg
V0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpCiB7CiAgICAgdWludDMyX3QgZnVuY3Rpb25Q
b2ludGVyVGFibGVJbmRleDsKICAgICBSRUFEX0NPTVBBQ1RfVUlOVDMyX09SX0ZBSUwoZnVuY3Rp
b25Qb2ludGVyVGFibGVJbmRleCwgIkNhbm5vdCByZWFkIHRoZSBmdW5jdGlvbiBwb2ludGVyIHRh
YmxlIGluZGV4LiIpOwogICAgIEZBSUxfSUZfRkFMU0UoZnVuY3Rpb25Qb2ludGVyVGFibGVJbmRl
eCA8IG1fbW9kdWxlLT5mdW5jdGlvblBvaW50ZXJUYWJsZXMoKS5zaXplKCksICJUaGUgZnVuY3Rp
b24gcG9pbnRlciB0YWJsZSBpbmRleCBpcyBpbmNvcnJlY3QuIik7CiAgICAgY29uc3QgV0FTTUZ1
bmN0aW9uUG9pbnRlclRhYmxlJiBmdW5jdGlvblBvaW50ZXJUYWJsZSA9IG1fbW9kdWxlLT5mdW5j
dGlvblBvaW50ZXJUYWJsZXMoKVtmdW5jdGlvblBvaW50ZXJUYWJsZUluZGV4XTsKICAgICBjb25z
dCBXQVNNU2lnbmF0dXJlJiBzaWduYXR1cmUgPSBtX21vZHVsZS0+c2lnbmF0dXJlcygpW2Z1bmN0
aW9uUG9pbnRlclRhYmxlLnNpZ25hdHVyZUluZGV4XTsKLSAgICBGQUlMX0lGX0ZBTFNFKHNpZ25h
dHVyZS5yZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1cm4gdHlwZS4iKTsKKyAg
ICBpZiAob3BLaW5kID09IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24pCisgICAgICAgIEZBSUxfSUZf
RkFMU0Uoc2lnbmF0dXJlLnJldHVyblR5cGUgPT0gcmV0dXJuVHlwZSwgIldyb25nIHJldHVybiB0
eXBlLiIpOwogCiAgICAgQ29udGV4dEV4cHJlc3Npb24gaW5kZXggPSBwYXJzZUV4cHJlc3Npb25J
MzIoY29udGV4dCk7CiAgICAgUFJPUEFHQVRFX0VSUk9SKCk7CkBAIC0xMTAwLDE0ICsxMTIyLDE1
IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDYWxsSW5kaXJl
Y3QoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0
PgotQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNhbGxJbXBvcnQo
Q29udGV4dCYgY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpCitDb250ZXh0
RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQ2FsbEltcG9ydChDb250ZXh0JiBj
b250ZXh0LCBXQVNNT3BLaW5kIG9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUp
CiB7CiAgICAgdWludDMyX3QgZnVuY3Rpb25JbXBvcnRTaWduYXR1cmVJbmRleDsKICAgICBSRUFE
X0NPTVBBQ1RfVUlOVDMyX09SX0ZBSUwoZnVuY3Rpb25JbXBvcnRTaWduYXR1cmVJbmRleCwgIkNh
bm5vdCByZWFkIHRoZSBmdW5jdGlvbiBpbXBvcnQgc2lnbmF0dXJlIGluZGV4LiIpOwogICAgIEZB
SUxfSUZfRkFMU0UoZnVuY3Rpb25JbXBvcnRTaWduYXR1cmVJbmRleCA8IG1fbW9kdWxlLT5mdW5j
dGlvbkltcG9ydFNpZ25hdHVyZXMoKS5zaXplKCksICJUaGUgZnVuY3Rpb24gaW1wb3J0IHNpZ25h
dHVyZSBpbmRleCBpcyBpbmNvcnJlY3QuIik7CiAgICAgY29uc3QgV0FTTUZ1bmN0aW9uSW1wb3J0
U2lnbmF0dXJlJiBmdW5jdGlvbkltcG9ydFNpZ25hdHVyZSA9IG1fbW9kdWxlLT5mdW5jdGlvbklt
cG9ydFNpZ25hdHVyZXMoKVtmdW5jdGlvbkltcG9ydFNpZ25hdHVyZUluZGV4XTsKICAgICBjb25z
dCBXQVNNU2lnbmF0dXJlJiBzaWduYXR1cmUgPSBtX21vZHVsZS0+c2lnbmF0dXJlcygpW2Z1bmN0
aW9uSW1wb3J0U2lnbmF0dXJlLnNpZ25hdHVyZUluZGV4XTsKLSAgICBGQUlMX0lGX0ZBTFNFKHNp
Z25hdHVyZS5yZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1cm4gdHlwZS4iKTsK
KyAgICBpZiAob3BLaW5kID09IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24pCisgICAgICAgIEZBSUxf
SUZfRkFMU0Uoc2lnbmF0dXJlLnJldHVyblR5cGUgPT0gcmV0dXJuVHlwZSwgIldyb25nIHJldHVy
biB0eXBlLiIpOwogCiAgICAgQ29udGV4dEV4cHJlc3Npb25MaXN0IGFyZ3VtZW50TGlzdCA9IHBh
cnNlQ2FsbEFyZ3VtZW50cyhjb250ZXh0LCBzaWduYXR1cmUuYXJndW1lbnRzKTsKICAgICBQUk9Q
QUdBVEVfRVJST1IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblBhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uUGFyc2VyLmgKaW5kZXggODkyMDE1NzA2ZTk4N2Y2NmY3MjQyMWIwZjg4ZTZmMDA5Y2U1YWM4
MC4uNzI2ODRkNTg0ZmU3NmYwM2I0OWEyOTg2ZGY5ZWQ3NzkyNTdlNGI4YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTEwMyw2ICsx
MDMsOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhw
cmVzc2lvbiBwYXJzZVVuYXJ5RXhwcmVzc2lvbkY2NChDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lv
bkY2NCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBh
cnNlQmluYXJ5RXhwcmVzc2lvbkY2NChDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkY2NCk7CiAK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VFeHBy
ZXNzaW9uVm9pZChDb250ZXh0Jik7CisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29u
dGV4dEV4cHJlc3Npb24gcGFyc2VHZXRMb2NhbEV4cHJlc3Npb24oQ29udGV4dCYsIFdBU01UeXBl
LCB1aW50MzJfdCBsb2NhbEluZGV4KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29u
dGV4dEV4cHJlc3Npb24gcGFyc2VHZXRMb2NhbEV4cHJlc3Npb24oQ29udGV4dCYsIFdBU01UeXBl
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VH
ZXRHbG9iYWxFeHByZXNzaW9uKENvbnRleHQmLCBXQVNNVHlwZSk7CkBAIC0xMTQsOSArMTE2LDkg
QEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Np
b24gcGFyc2VMb2FkKENvbnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlUeXBl
LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlLCBNZW1vcnlBY2Nlc3NDb252ZXJzaW9uID0gTWVtb3J5
QWNjZXNzQ29udmVyc2lvbjo6Tm9Db252ZXJzaW9uKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29u
dGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VTdG9yZShDb250ZXh0JiwgV0FTTU9wS2luZCwg
V0FTTUV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9k
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uTGlzdCBw
YXJzZUNhbGxBcmd1bWVudHMoQ29udGV4dCYsIGNvbnN0IFZlY3RvcjxXQVNNVHlwZT4mIGFyZ3Vt
ZW50cyk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBh
cnNlQ2FsbEludGVybmFsKENvbnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSk7
Ci0gICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlQ2Fs
bEluZGlyZWN0KENvbnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSk7Ci0gICAg
dGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlQ2FsbEltcG9y
dChDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOworICAgIHRlbXBsYXRl
IDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJbnRlcm5hbChDb250
ZXh0JiwgV0FTTU9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJbmRpcmVj
dChDb250ZXh0JiwgV0FTTU9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJ
bXBvcnQoQ29udGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBl
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VD
b252ZXJ0VHlwZShDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlIGZyb21UeXBlLCBXQVNNRXhw
cmVzc2lvblR5cGUgdG9UeXBlLCBXQVNNVHlwZUNvbnZlcnNpb24pOwogCiAgICAgSlNXQVNNTW9k
dWxlKiBtX21vZHVsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01SZWFkZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5jcHAK
aW5kZXggODAwOTI3MzFhZTBlYTVhOGZiZTFlMGExMTRlYWQ1YWE4NTRlN2Q0Mi4uZjZhYzhlMmZj
YWMwZWRiYTE5NjViNTBhOWIxNWYyYWQzNmIzYzJhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTVJlYWRlci5jcHAKQEAgLTIwMyw2ICsyMDMsMTIgQEAgYm9vbCBXQVNNUmVhZGVy
OjpyZWFkT3BFeHByZXNzaW9uRjY0KGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wRXhwcmVzc2lv
bkY2NCYgb3AKICAgICAgICAgc3RhdGljX2Nhc3Q8dWludDhfdD4oV0FTTU9wRXhwcmVzc2lvbkY2
NFdpdGhJbW1lZGlhdGU6Ok51bWJlck9mV0FTTU9wRXhwcmVzc2lvbkY2NFdpdGhJbW1lZGlhdGVz
KSk7CiB9CiAKK2Jvb2wgV0FTTVJlYWRlcjo6cmVhZE9wRXhwcmVzc2lvblZvaWQoV0FTTU9wRXhw
cmVzc2lvblZvaWQmIG9wKQoreworICAgIHJldHVybiByZWFkQnl0ZTxXQVNNT3BFeHByZXNzaW9u
Vm9pZD4ob3AsCisgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KFdBU01PcEV4cHJlc3Npb25W
b2lkOjpOdW1iZXJPZldBU01PcEV4cHJlc3Npb25Wb2lkcykpOworfQorCiBib29sIFdBU01SZWFk
ZXI6OnJlYWRWYXJpYWJsZVR5cGVzKGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTVZhcmlhYmxlVHlw
ZXMmIHZhcmlhYmxlVHlwZXMsIFdBU01WYXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSYgdmFyaWFi
bGVUeXBlc1dpdGhJbW1lZGlhdGUsIHVpbnQ4X3QmIGltbWVkaWF0ZSkKIHsKICAgICByZXR1cm4g
cmVhZE9wKGhhc0ltbWVkaWF0ZSwgdmFyaWFibGVUeXBlcywgdmFyaWFibGVUeXBlc1dpdGhJbW1l
ZGlhdGUsIGltbWVkaWF0ZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01SZWFkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuaApp
bmRleCBlZjA2N2IyNmE0MTQxNGM1Mzc0ZjAyMmJhZTYzZjg2NTBlMTNjNTVhLi44M2RjMjk2ODEw
MmRiMmM4YzliYjVjNWY5YjQyMTRlYThjZjlkN2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTVJlYWRlci5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICBib29sIHJlYWRP
cEV4cHJlc3Npb25JMzIoYm9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BFeHByZXNzaW9uSTMyJiwg
V0FTTU9wRXhwcmVzc2lvbkkzMldpdGhJbW1lZGlhdGUmLCB1aW50OF90JiBpbW1lZGlhdGUpOwog
ICAgIGJvb2wgcmVhZE9wRXhwcmVzc2lvbkYzMihib29sJiBoYXNJbW1lZGlhdGUsIFdBU01PcEV4
cHJlc3Npb25GMzImLCBXQVNNT3BFeHByZXNzaW9uRjMyV2l0aEltbWVkaWF0ZSYsIHVpbnQ4X3Qm
IGltbWVkaWF0ZSk7CiAgICAgYm9vbCByZWFkT3BFeHByZXNzaW9uRjY0KGJvb2wmIGhhc0ltbWVk
aWF0ZSwgV0FTTU9wRXhwcmVzc2lvbkY2NCYsIFdBU01PcEV4cHJlc3Npb25GNjRXaXRoSW1tZWRp
YXRlJiwgdWludDhfdCYgaW1tZWRpYXRlKTsKKyAgICBib29sIHJlYWRPcEV4cHJlc3Npb25Wb2lk
KFdBU01PcEV4cHJlc3Npb25Wb2lkJik7CiAgICAgYm9vbCByZWFkVmFyaWFibGVUeXBlcyhib29s
JiBoYXNJbW1lZGlhdGUsIFdBU01WYXJpYWJsZVR5cGVzJiwgV0FTTVZhcmlhYmxlVHlwZXNXaXRo
SW1tZWRpYXRlJiwgdWludDhfdCYgaW1tZWRpYXRlKTsKICAgICBib29sIHJlYWRTd2l0Y2hDYXNl
KFdBU01Td2l0Y2hDYXNlJiByZXN1bHQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261677</attachid>
            <date>2015-09-21 12:34:16 -0700</date>
            <delta_ts>2015-09-21 14:20:44 -0700</delta_ts>
            <desc>Fix a typo in ChangeLog</desc>
            <filename>bug-149411-20150921123504.patch</filename>
            <type>text/plain</type>
            <size>20207</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NmI4NzA5NWJiNTQ2NzZlMmIzYzdjZDY2NTI5NzlhMGNmMzg0YzI3Li5jNjFiOTQ3ZWU2MmQxOTQw
Y2QwNjJhYWJlMjBkNzZkZGE0YTFmZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNS0wOS0yMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgY2FsbCBzdGF0ZW1lbnRzIGFuZCBjYWxsIGV4
cHJlc3Npb25zIG9mIHR5cGUgdm9pZCBpbiBXZWJBc3NlbWJseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NDExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbCBpbnN0cnVjdGlvbnMgaW4gV2ViQXNz
ZW1ibHkgY2FuIGJlIGJvdGggc3RhdGVtZW50cyBhbmQgZXhwcmVzc2lvbnMuCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBjYWxsIHN0YXRlbWVudHMuIEl0IGFsc28gaW1wbGVtZW50cyBj
YWxsCisgICAgICAgIGV4cHJlc3Npb25zIG9mIHR5cGUgdm9pZC4gVGhlIG9ubHkgcGxhY2Ugd2hl
cmUgY2FsbCBleHByZXNzaW9ucyBvZiB0eXBlCisgICAgICAgIHZvaWQgY2FuIG9jY3VyIGlzIHRo
ZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgY29tbWEgKCwpIG9wZXJhdG9yLCB3aGljaAorICAgICAg
ICB3aWxsIGJlIGltcGxlbWVudGVkIGluIGEgc3Vic2VxdWVudCBwYXRjaC4gVGhlIGNvbW1hIG9w
ZXJhdG9yIHJlcXVpcmVzCisgICAgICAgIGJvdGggb2YgaXRzIG9wZXJhbmRzIHRvIGJlIGV4cHJl
c3Npb25zLgorCisgICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20tY2FsbHMuanM6CisgICAgICAg
ICogdGVzdHMvc3RyZXNzL3dhc20vY2FsbHMud2FzbToKKyAgICAgICAgKiB3YXNtL1dBU01Db25z
dGFudHMuaDoKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHA6CisgICAgICAg
IChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlND
OjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OldB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKToKKyAgICAgICAgKEpTQzo6V0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GMzIpOgorICAgICAgICAoSlNDOjpXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NCk6CisgICAgICAgIChKU0M6OldBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uVm9pZCk6CisgICAgICAgIChKU0M6OldBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VDYWxsSW50ZXJuYWwpOgorICAgICAgICAoSlNDOjpXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlQ2FsbEluZGlyZWN0KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZUNhbGxJbXBvcnQpOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9u
UGFyc2VyLmg6CisgICAgICAgICogd2FzbS9XQVNNUmVhZGVyLmNwcDoKKyAgICAgICAgKEpTQzo6
V0FTTVJlYWRlcjo6cmVhZE9wRXhwcmVzc2lvblZvaWQpOgorICAgICAgICAqIHdhc20vV0FTTVJl
YWRlci5oOgorCiAyMDE1LTA5LTIxIEFsZWtzYW5kciBTa2FjaGtvdiAgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFycm93IGZ1bmN0aW9uIG5hbWVzIGFy
ZSBuZXZlciBpbmZlcnJlZCwgY2FsbCBmcmFtZXMgYXJlIGxhYmVsZWQgKGFub255bW91cyBmdW5j
dGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2Fz
bS1jYWxscy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1jYWxs
cy5qcwppbmRleCBjZjg2YzA2ODM1MzQ1ZTUyNzhlMTkwNTAyYTYxYzYzYTliMWVhNTk1Li42OThh
ZjczOWI4YjZmMGQ4YjNiOTI3Njg5Zjg5NDkyYmRjNjNiZjA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tY2FsbHMuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWNhbGxzLmpzCkBAIC0xNCw2ICsxNCw3IEBA
IGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGltcG9ydHMsIGJ1ZmZlcikgewogICAgIHZhciBp
bXVsID0gZ2xvYmFsLk1hdGguaW11bDsKICAgICB2YXIgc3VtID0gaW1wb3J0cy5zdW07CiAgICAg
dmFyIG1heCA9IGltcG9ydHMubWF4OworICAgIHZhciBnID0gMDsKIAogICAgIGZ1bmN0aW9uIGZp
Ym9uYWNjaSh4KSB7CiAgICAgICAgIHggPSB4IHwgMDsKQEAgLTM2LDYgKzM3LDE3IEBAIGZ1bmN0
aW9uIGFzbU1vZHVsZShnbG9iYWwsIGltcG9ydHMsIGJ1ZmZlcikgewogICAgICAgICByZXR1cm4g
KGltdWwoeCwgeSkgLyAoZ2NkKHgsIHkpIHwgMCkpIHwgMDsKICAgICB9CiAKKyAgICBmdW5jdGlv
biBzZXRHKHgpIHsKKyAgICAgICAgeCA9IHggfCAwOworICAgICAgICBnID0geDsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB0ZXN0Q2FsbFN0YXRlbWVudCh4KSB7CisgICAgICAgIHggPSB4IHwgMDsK
KyAgICAgICAgc2V0Ryh4KTsKKyAgICAgICAgcmV0dXJuIGcgfCAwOworICAgIH0KKwogICAgIGZ1
bmN0aW9uIGFkZFN1Yk11bERpdihpLCB4LCB5KSB7CiAgICAgICAgIGkgPSBpIHwgMDsKICAgICAg
ICAgeCA9IHggfCAwOwpAQCAtODUsNiArOTcsNyBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFs
LCBpbXBvcnRzLCBidWZmZXIpIHsKICAgICAgICAgZmlib25hY2NpOiBmaWJvbmFjY2ksCiAgICAg
ICAgIGdjZDogZ2NkLAogICAgICAgICBsY206IGxjbSwKKyAgICAgICAgdGVzdENhbGxTdGF0ZW1l
bnQ6IHRlc3RDYWxsU3RhdGVtZW50LAogCiAgICAgICAgIGFkZFN1Yk11bERpdjogYWRkU3ViTXVs
RGl2LAogCkBAIC0xMDMsNiArMTE2LDcgQEAgdmFyIG1vZHVsZSA9IGxvYWRXZWJBc3NlbWJseSgi
d2FzbS9jYWxscy53YXNtIiwgaW1wb3J0cyk7CiBzaG91bGRCZShtb2R1bGUuZmlib25hY2NpKDEw
KSwgODkpOwogc2hvdWxkQmUobW9kdWxlLmdjZCgxNSwgMjUpLCA1KTsKIHNob3VsZEJlKG1vZHVs
ZS5sY20oMTUsIDI1KSwgNzUpOworc2hvdWxkQmUobW9kdWxlLnRlc3RDYWxsU3RhdGVtZW50KDQy
KSwgNDIpOwogCiBzaG91bGRCZShtb2R1bGUuYWRkU3ViTXVsRGl2KDAsIDYsIDIpLCA4KTsKIHNo
b3VsZEJlKG1vZHVsZS5hZGRTdWJNdWxEaXYoMSwgNiwgMiksIDQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2NhbGxzLndhc20gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vY2FsbHMud2FzbQppbmRleCAwMGMyOGUy
YTJjZjI5Y2UxZTFjYTcxNzRhYTU4MjgwZTUwMTEyYjU2Li40NzFjMDRhYjg5ZTZmNGI5ZTcyNzll
YmQxZDIwMWJiYzUzOWI3NzY2IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDE2Mwp6Y21j
Yn1fPzZNUUpoMz1laipTNVhTUXI9Pzc/PkNzbjFLe0Nrazc8YVQkOzxrJGU1ZDAwVklLZkspP2ZK
RiMlT1QKejBTZztEMmpAZ1AxRmkpSjhrbCZQNUFaV0hPdzdedVdLWVhYJUZqem9QUj9YdE5LWn4t
VjlaSSpXbmR+dkVpUTNSCnMlKmhFWk5pMGR0UDBjR3xVYGIzIzJgKXxZRXpOUHNFTXM2ejIxeD5+
PE5gNSNmd3BvMzBQdXEmWn55PVIKCmRlbHRhIDEyOAp6Y21leSRjIytZckpoMz07R2I7bEtGZiVZ
UkZmZjRgSyRAd3pHPyMmcUYqbVVTTlBeYFZ4UFVBc01rcnVtVlAje1YKej14aXt0VWV9QipFaSkt
VUZFS2VlbFl0PlVJZmEyU0NwbmphREtSQV94SFFTUEd7K15nakRhfmhGKClTJlhlMC1TCko7UmBn
QzY5OXUzOFlUYiQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
Q29uc3RhbnRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNQ29uc3RhbnRzLmgK
aW5kZXggMmM2MGE3YzUyZWNkMDMwNzQxYjQ1NTdmNDI3M2JmZWI5MzZkNWY2OS4uNGUzYmQ0NDNm
NTViODQ4ZTE1YzM3YzEyZmQ2YjA1ZjlmMmYxMzUzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dBU01Db25zdGFudHMuaApAQCAtMjYxLDYgKzI2MSwxMyBAQCBlbnVtIGNsYXNzIFdB
U01PcEV4cHJlc3Npb25GNjRXaXRoSW1tZWRpYXRlIDogdWludDhfdCB7CiAgICAgTnVtYmVyT2ZX
QVNNT3BFeHByZXNzaW9uRjY0V2l0aEltbWVkaWF0ZXMKIH07CiAKK2VudW0gY2xhc3MgV0FTTU9w
RXhwcmVzc2lvblZvaWQgOiB1aW50OF90IHsKKyAgICBDYWxsSW50ZXJuYWwsCisgICAgQ2FsbElu
ZGlyZWN0LAorICAgIENhbGxJbXBvcnQsCisgICAgTnVtYmVyT2ZXQVNNT3BFeHByZXNzaW9uVm9p
ZHMKK307CisKIGVudW0gY2xhc3MgV0FTTVZhcmlhYmxlVHlwZXMgOiB1aW50OF90IHsKICAgICBJ
MzIgPSAxIDw8IDAsCiAgICAgRjMyID0gMSA8PCAxLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKaW5kZXggMzZiYzZmYmE2NDc0ZDVlZGZm
NzdjNmRmYmYzMDNhYzIzMzMzOTBlMy4uMWE4NmNkMDI4ZTYyNzg2ZDFlY2Y5ODBkNGE3YWMwNzg2
YjI4NjRkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjZGVmaW5lIFJFQURfT1BfRVhQUkVTU0lP
Tl9JMzJfT1JfRkFJTChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0
ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkkzMiho
YXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9N
RVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfRVhQUkVT
U0lPTl9GMzJfT1JfRkFJTChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVk
aWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkYz
MihoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lU
SF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfRVhQ
UkVTU0lPTl9GNjRfT1JfRkFJTChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGlt
bWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lv
bkY2NChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxf
V0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCisjZGVmaW5lIFJFQURfT1Bf
RVhQUkVTU0lPTl9WT0lEX09SX0ZBSUwob3AsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVh
ZGVyLnJlYWRPcEV4cHJlc3Npb25Wb2lkKG9wKSkgRkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNz
YWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgUkVBRF9WQVJJQUJMRV9UWVBFU19PUl9GQUlMKGhh
c0ltbWVkaWF0ZSwgdmFyaWFibGVUeXBlcywgdmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUsIGlt
bWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZFZhcmlhYmxlVHlw
ZXMoaGFzSW1tZWRpYXRlLCB2YXJpYWJsZVR5cGVzLCB2YXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0
ZSwgaW1tZWRpYXRlKSkgRkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAo
MCkKICNkZWZpbmUgUkVBRF9TV0lUQ0hfQ0FTRV9PUl9GQUlMKHJlc3VsdCwgZXJyb3JNZXNzYWdl
KSBkbyB7IGlmICghbV9yZWFkZXIucmVhZFN3aXRjaENhc2UocmVzdWx0KSkgRkFJTF9XSVRIX01F
U1NBR0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgRkFJTF9JRl9GQUxTRShj
b25kaXRpb24sIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIShjb25kaXRpb24pKSBGQUlMX1dJVEhf
TUVTU0FHRShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgwKQpAQCAtMTg3LDYgKzE4OCwxNSBAQCBD
b250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQoQ29udGV4
dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkY2NFN0b3JlV2l0aE9m
ZnNldDoKICAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVt
ZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2NCwgTWVtb3J5
QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkNhbGxJbnRlcm5hbDoKKyAgICAgICAgICAgIHBhcnNl
Q2FsbEludGVybmFsKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Np
b25UeXBlOjpWb2lkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcFN0
YXRlbWVudDo6Q2FsbEluZGlyZWN0OgorICAgICAgICAgICAgcGFyc2VDYWxsSW5kaXJlY3QoY29u
dGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OlZvaWQpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpDYWxsSW1w
b3J0OgorICAgICAgICAgICAgcGFyc2VDYWxsSW1wb3J0KGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0
YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBlOjpWb2lkKTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6UmV0dXJuOgogICAgICAgICAgICAgcGFyc2VS
ZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTIyMywxMSAr
MjMzLDYgQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU3RhdGVt
ZW50KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpTd2l0
Y2g6CiAgICAgICAgICAgICBwYXJzZVN3aXRjaFN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6Q2FsbEludGVybmFsOgot
ICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6Q2FsbEluZGlyZWN0OgotICAgICAgICBjYXNl
IFdBU01PcFN0YXRlbWVudDo6Q2FsbEltcG9ydDoKLSAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhlc2UgaW5zdHJ1Y3Rpb25zLgotICAgICAgICAgICAgRkFJTF9XSVRIX01FU1NBR0Uo
IlVuc3VwcG9ydGVkIGluc3RydWN0aW9uLiIpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KQEAgLTQ5OCwxMiArNTAzLDEwIEBA
IENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uKENv
bnRleHQmIGNvbnRleHQsIFdBU01FeHByCiAgICAgY2FzZSBXQVNNRXhwcmVzc2lvblR5cGU6OkY2
NDoKICAgICAgICAgcmV0dXJuIHBhcnNlRXhwcmVzc2lvbkY2NChjb250ZXh0KTsKICAgICBjYXNl
IFdBU01FeHByZXNzaW9uVHlwZTo6Vm9pZDoKLSAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0
aGVzZSBpbnN0cnVjdGlvbnMuCi0gICAgICAgIEZBSUxfV0lUSF9NRVNTQUdFKCJVbnN1cHBvcnRl
ZCBpbnN0cnVjdGlvbi4iKTsKKyAgICAgICAgcmV0dXJuIHBhcnNlRXhwcmVzc2lvblZvaWQoY29u
dGV4dCk7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIHJldHVybiAwOwog
fQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KQEAgLTU2MSwxMSArNTY0LDExIEBAIENvbnRl
eHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRl
eHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U3RvcmVXaXRo
T2Zmc2V0MzI6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BL
aW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6
OkkzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkkzMjo6Q2FsbEludGVybmFsOgotICAgICAgICAgICAgcmV0dXJuIHBh
cnNlQ2FsbEludGVybmFsKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyKTsKKyAgICAg
ICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHBy
ZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6Q2FsbEluZGlyZWN0OgotICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbElu
ZGlyZWN0KGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyKTsKKyAgICAgICAgICAgIHJl
dHVybiBwYXJzZUNhbGxJbmRpcmVjdChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBX
QVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6Q2FsbEltcG9ydDoKLSAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbXBvcnQoY29udGV4
dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIpOworICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2Fs
bEltcG9ydChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5
cGU6OkkzMik7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6RnJvbUYzMjoKICAg
ICAgICAgICAgIHJldHVybiBwYXJzZUNvbnZlcnRUeXBlKGNvbnRleHQsIFdBU01FeHByZXNzaW9u
VHlwZTo6RjMyLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTVR5cGVDb252ZXJzaW9uOjpD
b252ZXJ0U2lnbmVkKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpGcm9tRjY0
OgpAQCAtNzQ5LDkgKzc1Miw5IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNl
cjo6cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkYzMjo6U3RvcmVXaXRoT2Zmc2V0OgogICAgICAgICAgICAgcmV0dXJuIHBh
cnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25U
eXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Oldp
dGhPZmZzZXQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNhbGxJbnRlcm5h
bDoKLSAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNNRXhw
cmVzc2lvblR5cGU6OkYzMik7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW50ZXJuYWwo
Y29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIp
OwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNhbGxJbmRpcmVjdDoKLSAgICAg
ICAgICAgIHJldHVybiBwYXJzZUNhbGxJbmRpcmVjdChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5
cGU6OkYzMik7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW5kaXJlY3QoY29udGV4dCwg
V0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIpOwogICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkZyb21TMzI6CiAgICAgICAgICAgICByZXR1cm4g
cGFyc2VDb252ZXJ0VHlwZShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTUV4
cHJlc3Npb25UeXBlOjpGMzIsIFdBU01UeXBlQ29udmVyc2lvbjo6Q29udmVydFNpZ25lZCk7CiAg
ICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6RnJvbVUzMjoKQEAgLTg2MSwxMSArODY0
LDExIEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNz
aW9uRjY0KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2
NDo6U3RvcmVXaXRoT2Zmc2V0OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4
dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQsIFdBU01N
ZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOwogICAg
ICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNhbGxJbnRlcm5hbDoKLSAgICAgICAgICAg
IHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2
NCk7CisgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTU9w
S2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQpOwogICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25GNjQ6OkNhbGxJbXBvcnQ6Ci0gICAgICAgICAgICByZXR1cm4gcGFy
c2VDYWxsSW1wb3J0KGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0KTsKKyAgICAgICAg
ICAgIHJldHVybiBwYXJzZUNhbGxJbXBvcnQoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lv
biwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Np
b25GNjQ6OkNhbGxJbmRpcmVjdDoKLSAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbmRpcmVj
dChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCk7CisgICAgICAgICAgICByZXR1cm4g
cGFyc2VDYWxsSW5kaXJlY3QoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4
cHJlc3Npb25UeXBlOjpGNjQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkZy
b21TMzI6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VDb252ZXJ0VHlwZShjb250ZXh0LCBXQVNN
RXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQsIFdBU01UeXBlQ29u
dmVyc2lvbjo6Q29udmVydFNpZ25lZCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2
NDo6RnJvbVUzMjoKQEAgLTk1OCw2ICs5NjEsMjMgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZUJpbmFyeUV4cHJlc3Npb25GNjQoQ29udGV4dCYgY29udGV4dCwK
IH0KIAogdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvblZvaWQoQ29udGV4dCYgY29udGV4dCkKK3sKKyAg
ICBXQVNNT3BFeHByZXNzaW9uVm9pZCBvcDsKKyAgICBSRUFEX09QX0VYUFJFU1NJT05fVk9JRF9P
Ul9GQUlMKG9wLCAiQ2Fubm90IHJlYWQgdGhlIHZvaWQgZXhwcmVzc2lvbiBvcGNvZGUuIik7Cisg
ICAgc3dpdGNoIChvcCkgeworICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvblZvaWQ6OkNhbGxJbnRl
cm5hbDoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEludGVybmFsKGNvbnRleHQsIFdBU01PcEtp
bmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6Vm9pZCk7CisgICAgY2FzZSBXQVNN
T3BFeHByZXNzaW9uVm9pZDo6Q2FsbEluZGlyZWN0OgorICAgICAgICByZXR1cm4gcGFyc2VDYWxs
SW5kaXJlY3QoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25U
eXBlOjpWb2lkKTsKKyAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25Wb2lkOjpDYWxsSW1wb3J0Ogor
ICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW1wb3J0KGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJl
c3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6Vm9pZCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9Cit9CisKK3RlbXBsYXRlIDxjbGFz
cyBDb250ZXh0PgogQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUdl
dExvY2FsRXhwcmVzc2lvbihDb250ZXh0JiBjb250ZXh0LCBXQVNNVHlwZSB0eXBlLCB1aW50MzJf
dCBsb2NhbEluZGV4KQogewogICAgIEZBSUxfSUZfRkFMU0UobG9jYWxJbmRleCA8IG1fbG9jYWxU
eXBlcy5zaXplKCksICJUaGUgbG9jYWwgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwpAQCAtMTA2OCwx
MyArMTA4OCwxNCBAQCBDb250ZXh0RXhwcmVzc2lvbkxpc3QgV0FTTUZ1bmN0aW9uUGFyc2VyOjpw
YXJzZUNhbGxBcmd1bWVudHMoQ29udGV4dCYgY29udGV4dCwgYwogfQogCiB0ZW1wbGF0ZSA8Y2xh
c3MgQ29udGV4dD4KLUNvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VD
YWxsSW50ZXJuYWwoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5
cGUpCitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQ2FsbEludGVy
bmFsKENvbnRleHQmIGNvbnRleHQsIFdBU01PcEtpbmQgb3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5
cGUgcmV0dXJuVHlwZSkKIHsKICAgICB1aW50MzJfdCBmdW5jdGlvbkluZGV4OwogICAgIFJFQURf
Q09NUEFDVF9VSU5UMzJfT1JfRkFJTChmdW5jdGlvbkluZGV4LCAiQ2Fubm90IHJlYWQgdGhlIGZ1
bmN0aW9uIGluZGV4LiIpOwogICAgIEZBSUxfSUZfRkFMU0UoZnVuY3Rpb25JbmRleCA8IG1fbW9k
dWxlLT5mdW5jdGlvbkRlY2xhcmF0aW9ucygpLnNpemUoKSwgIlRoZSBmdW5jdGlvbiBpbmRleCBp
cyBpbmNvcnJlY3QuIik7CiAgICAgY29uc3QgV0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlID0gbV9t
b2R1bGUtPnNpZ25hdHVyZXMoKVttX21vZHVsZS0+ZnVuY3Rpb25EZWNsYXJhdGlvbnMoKVtmdW5j
dGlvbkluZGV4XS5zaWduYXR1cmVJbmRleF07Ci0gICAgRkFJTF9JRl9GQUxTRShzaWduYXR1cmUu
cmV0dXJuVHlwZSA9PSByZXR1cm5UeXBlLCAiV3JvbmcgcmV0dXJuIHR5cGUuIik7CisgICAgaWYg
KG9wS2luZCA9PSBXQVNNT3BLaW5kOjpFeHByZXNzaW9uKQorICAgICAgICBGQUlMX0lGX0ZBTFNF
KHNpZ25hdHVyZS5yZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1cm4gdHlwZS4i
KTsKIAogICAgIENvbnRleHRFeHByZXNzaW9uTGlzdCBhcmd1bWVudExpc3QgPSBwYXJzZUNhbGxB
cmd1bWVudHMoY29udGV4dCwgc2lnbmF0dXJlLmFyZ3VtZW50cyk7CiAgICAgUFJPUEFHQVRFX0VS
Uk9SKCk7CkBAIC0xMDgyLDE0ICsxMTAzLDE1IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VDYWxsSW50ZXJuYWwoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4CiB9
CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgotQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZUNhbGxJbmRpcmVjdChDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVz
c2lvblR5cGUgcmV0dXJuVHlwZSkKK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNl
cjo6cGFyc2VDYWxsSW5kaXJlY3QoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQs
IFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKQogewogICAgIHVpbnQzMl90IGZ1bmN0aW9u
UG9pbnRlclRhYmxlSW5kZXg7CiAgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGZ1bmN0
aW9uUG9pbnRlclRhYmxlSW5kZXgsICJDYW5ub3QgcmVhZCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0
YWJsZSBpbmRleC4iKTsKICAgICBGQUlMX0lGX0ZBTFNFKGZ1bmN0aW9uUG9pbnRlclRhYmxlSW5k
ZXggPCBtX21vZHVsZS0+ZnVuY3Rpb25Qb2ludGVyVGFibGVzKCkuc2l6ZSgpLCAiVGhlIGZ1bmN0
aW9uIHBvaW50ZXIgdGFibGUgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwogICAgIGNvbnN0IFdBU01G
dW5jdGlvblBvaW50ZXJUYWJsZSYgZnVuY3Rpb25Qb2ludGVyVGFibGUgPSBtX21vZHVsZS0+ZnVu
Y3Rpb25Qb2ludGVyVGFibGVzKClbZnVuY3Rpb25Qb2ludGVyVGFibGVJbmRleF07CiAgICAgY29u
c3QgV0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlID0gbV9tb2R1bGUtPnNpZ25hdHVyZXMoKVtmdW5j
dGlvblBvaW50ZXJUYWJsZS5zaWduYXR1cmVJbmRleF07Ci0gICAgRkFJTF9JRl9GQUxTRShzaWdu
YXR1cmUucmV0dXJuVHlwZSA9PSByZXR1cm5UeXBlLCAiV3JvbmcgcmV0dXJuIHR5cGUuIik7Cisg
ICAgaWYgKG9wS2luZCA9PSBXQVNNT3BLaW5kOjpFeHByZXNzaW9uKQorICAgICAgICBGQUlMX0lG
X0ZBTFNFKHNpZ25hdHVyZS5yZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1cm4g
dHlwZS4iKTsKIAogICAgIENvbnRleHRFeHByZXNzaW9uIGluZGV4ID0gcGFyc2VFeHByZXNzaW9u
STMyKGNvbnRleHQpOwogICAgIFBST1BBR0FURV9FUlJPUigpOwpAQCAtMTEwMCwxNCArMTEyMiwx
NSBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQ2FsbEluZGly
ZWN0KENvbnRleHQmIGNvbnRleHQsIFdBU01FeAogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4KLUNvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDYWxsSW1wb3J0
KENvbnRleHQmIGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKQorQ29udGV4
dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNhbGxJbXBvcnQoQ29udGV4dCYg
Y29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBl
KQogewogICAgIHVpbnQzMl90IGZ1bmN0aW9uSW1wb3J0U2lnbmF0dXJlSW5kZXg7CiAgICAgUkVB
RF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGZ1bmN0aW9uSW1wb3J0U2lnbmF0dXJlSW5kZXgsICJD
YW5ub3QgcmVhZCB0aGUgZnVuY3Rpb24gaW1wb3J0IHNpZ25hdHVyZSBpbmRleC4iKTsKICAgICBG
QUlMX0lGX0ZBTFNFKGZ1bmN0aW9uSW1wb3J0U2lnbmF0dXJlSW5kZXggPCBtX21vZHVsZS0+ZnVu
Y3Rpb25JbXBvcnRTaWduYXR1cmVzKCkuc2l6ZSgpLCAiVGhlIGZ1bmN0aW9uIGltcG9ydCBzaWdu
YXR1cmUgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwogICAgIGNvbnN0IFdBU01GdW5jdGlvbkltcG9y
dFNpZ25hdHVyZSYgZnVuY3Rpb25JbXBvcnRTaWduYXR1cmUgPSBtX21vZHVsZS0+ZnVuY3Rpb25J
bXBvcnRTaWduYXR1cmVzKClbZnVuY3Rpb25JbXBvcnRTaWduYXR1cmVJbmRleF07CiAgICAgY29u
c3QgV0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlID0gbV9tb2R1bGUtPnNpZ25hdHVyZXMoKVtmdW5j
dGlvbkltcG9ydFNpZ25hdHVyZS5zaWduYXR1cmVJbmRleF07Ci0gICAgRkFJTF9JRl9GQUxTRShz
aWduYXR1cmUucmV0dXJuVHlwZSA9PSByZXR1cm5UeXBlLCAiV3JvbmcgcmV0dXJuIHR5cGUuIik7
CisgICAgaWYgKG9wS2luZCA9PSBXQVNNT3BLaW5kOjpFeHByZXNzaW9uKQorICAgICAgICBGQUlM
X0lGX0ZBTFNFKHNpZ25hdHVyZS5yZXR1cm5UeXBlID09IHJldHVyblR5cGUsICJXcm9uZyByZXR1
cm4gdHlwZS4iKTsKIAogICAgIENvbnRleHRFeHByZXNzaW9uTGlzdCBhcmd1bWVudExpc3QgPSBw
YXJzZUNhbGxBcmd1bWVudHMoY29udGV4dCwgc2lnbmF0dXJlLmFyZ3VtZW50cyk7CiAgICAgUFJP
UEFHQVRFX0VSUk9SKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
QVNNRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5j
dGlvblBhcnNlci5oCmluZGV4IDg5MjAxNTcwNmU5ODdmNjZmNzI0MjFiMGY4OGU2ZjAwOWNlNWFj
ODAuLjcyNjg0ZDU4NGZlNzZmMDNiNDlhMjk4NmRmOWVkNzc5MjU3ZTRiOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCkBAIC0xMDMsNiAr
MTAzLDggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4
cHJlc3Npb24gcGFyc2VVbmFyeUV4cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Np
b25GNjQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBw
YXJzZUJpbmFyeUV4cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Npb25GNjQpOwog
CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlRXhw
cmVzc2lvblZvaWQoQ29udGV4dCYpOworCiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENv
bnRleHRFeHByZXNzaW9uIHBhcnNlR2V0TG9jYWxFeHByZXNzaW9uKENvbnRleHQmLCBXQVNNVHlw
ZSwgdWludDMyX3QgbG9jYWxJbmRleCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENv
bnRleHRFeHByZXNzaW9uIHBhcnNlR2V0TG9jYWxFeHByZXNzaW9uKENvbnRleHQmLCBXQVNNVHlw
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNl
R2V0R2xvYmFsRXhwcmVzc2lvbihDb250ZXh0JiwgV0FTTVR5cGUpOwpAQCAtMTE0LDkgKzExNiw5
IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNz
aW9uIHBhcnNlTG9hZChDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlw
ZSwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZSwgTWVtb3J5QWNjZXNzQ29udmVyc2lvbiA9IE1lbW9y
eUFjY2Vzc0NvbnZlcnNpb246Ok5vQ29udmVyc2lvbik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENv
bnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlU3RvcmUoQ29udGV4dCYsIFdBU01PcEtpbmQs
IFdBU01FeHByZXNzaW9uVHlwZSwgV0FTTU1lbW9yeVR5cGUsIE1lbW9yeUFjY2Vzc09mZnNldE1v
ZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbkxpc3Qg
cGFyc2VDYWxsQXJndW1lbnRzKENvbnRleHQmLCBjb25zdCBWZWN0b3I8V0FTTVR5cGU+JiBhcmd1
bWVudHMpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBw
YXJzZUNhbGxJbnRlcm5hbChDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUp
OwotICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNh
bGxJbmRpcmVjdChDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOwotICAg
IHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJbXBv
cnQoQ29udGV4dCYsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxsSW50ZXJuYWwoQ29u
dGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxsSW5kaXJl
Y3QoQ29udGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxs
SW1wb3J0KENvbnRleHQmLCBXQVNNT3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlw
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNl
Q29udmVydFR5cGUoQ29udGV4dCYsIFdBU01FeHByZXNzaW9uVHlwZSBmcm9tVHlwZSwgV0FTTUV4
cHJlc3Npb25UeXBlIHRvVHlwZSwgV0FTTVR5cGVDb252ZXJzaW9uKTsKIAogICAgIEpTV0FTTU1v
ZHVsZSogbV9tb2R1bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
QVNNUmVhZGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuY3Bw
CmluZGV4IDgwMDkyNzMxYWUwZWE1YThmYmUxZTBhMTE0ZWFkNWFhODU0ZTdkNDIuLmY2YWM4ZTJm
Y2FjMGVkYmExOTY1YjUwYTliMTVmMmFkMzZiM2MyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dBU01SZWFkZXIuY3BwCkBAIC0yMDMsNiArMjAzLDEyIEBAIGJvb2wgV0FTTVJlYWRl
cjo6cmVhZE9wRXhwcmVzc2lvbkY2NChib29sJiBoYXNJbW1lZGlhdGUsIFdBU01PcEV4cHJlc3Np
b25GNjQmIG9wCiAgICAgICAgIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KFdBU01PcEV4cHJlc3Npb25G
NjRXaXRoSW1tZWRpYXRlOjpOdW1iZXJPZldBU01PcEV4cHJlc3Npb25GNjRXaXRoSW1tZWRpYXRl
cykpOwogfQogCitib29sIFdBU01SZWFkZXI6OnJlYWRPcEV4cHJlc3Npb25Wb2lkKFdBU01PcEV4
cHJlc3Npb25Wb2lkJiBvcCkKK3sKKyAgICByZXR1cm4gcmVhZEJ5dGU8V0FTTU9wRXhwcmVzc2lv
blZvaWQ+KG9wLAorICAgICAgICBzdGF0aWNfY2FzdDx1aW50OF90PihXQVNNT3BFeHByZXNzaW9u
Vm9pZDo6TnVtYmVyT2ZXQVNNT3BFeHByZXNzaW9uVm9pZHMpKTsKK30KKwogYm9vbCBXQVNNUmVh
ZGVyOjpyZWFkVmFyaWFibGVUeXBlcyhib29sJiBoYXNJbW1lZGlhdGUsIFdBU01WYXJpYWJsZVR5
cGVzJiB2YXJpYWJsZVR5cGVzLCBXQVNNVmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUmIHZhcmlh
YmxlVHlwZXNXaXRoSW1tZWRpYXRlLCB1aW50OF90JiBpbW1lZGlhdGUpCiB7CiAgICAgcmV0dXJu
IHJlYWRPcChoYXNJbW1lZGlhdGUsIHZhcmlhYmxlVHlwZXMsIHZhcmlhYmxlVHlwZXNXaXRoSW1t
ZWRpYXRlLCBpbW1lZGlhdGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XQVNNUmVhZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmgK
aW5kZXggZWYwNjdiMjZhNDE0MTRjNTM3NGYwMjJiYWU2M2Y4NjUwZTEzYzU1YS4uODNkYzI5Njgx
MDJkYjJjOGM5YmI1YzVmOWI0MjE0ZWE4Y2Y5ZDdkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dBU01SZWFkZXIuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCByZWFk
T3BFeHByZXNzaW9uSTMyKGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wRXhwcmVzc2lvbkkzMiYs
IFdBU01PcEV4cHJlc3Npb25JMzJXaXRoSW1tZWRpYXRlJiwgdWludDhfdCYgaW1tZWRpYXRlKTsK
ICAgICBib29sIHJlYWRPcEV4cHJlc3Npb25GMzIoYm9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BF
eHByZXNzaW9uRjMyJiwgV0FTTU9wRXhwcmVzc2lvbkYzMldpdGhJbW1lZGlhdGUmLCB1aW50OF90
JiBpbW1lZGlhdGUpOwogICAgIGJvb2wgcmVhZE9wRXhwcmVzc2lvbkY2NChib29sJiBoYXNJbW1l
ZGlhdGUsIFdBU01PcEV4cHJlc3Npb25GNjQmLCBXQVNNT3BFeHByZXNzaW9uRjY0V2l0aEltbWVk
aWF0ZSYsIHVpbnQ4X3QmIGltbWVkaWF0ZSk7CisgICAgYm9vbCByZWFkT3BFeHByZXNzaW9uVm9p
ZChXQVNNT3BFeHByZXNzaW9uVm9pZCYpOwogICAgIGJvb2wgcmVhZFZhcmlhYmxlVHlwZXMoYm9v
bCYgaGFzSW1tZWRpYXRlLCBXQVNNVmFyaWFibGVUeXBlcyYsIFdBU01WYXJpYWJsZVR5cGVzV2l0
aEltbWVkaWF0ZSYsIHVpbnQ4X3QmIGltbWVkaWF0ZSk7CiAgICAgYm9vbCByZWFkU3dpdGNoQ2Fz
ZShXQVNNU3dpdGNoQ2FzZSYgcmVzdWx0KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>