<?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>149395</bug_id>
          
          <creation_ts>2015-09-20 23:36:38 -0700</creation_ts>
          <short_desc>Implement Store expressions in WebAssembly</short_desc>
          <delta_ts>2015-09-21 11:48:01 -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>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127572</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-20 23:36:38 -0700</bug_when>
    <thetext>&apos;Store&apos; instructions in WebAssembly can be both statements and expressions. We have implemented them as statements but haven&apos;t implemented them as expressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127575</commentid>
    <comment_count>1</comment_count>
      <attachid>261632</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-20 23:54:56 -0700</bug_when>
    <thetext>Created attachment 261632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127576</commentid>
    <comment_count>2</comment_count>
      <attachid>261633</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-21 00:00:29 -0700</bug_when>
    <thetext>Created attachment 261633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127674</commentid>
    <comment_count>3</comment_count>
      <attachid>261633</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-21 10:59:51 -0700</bug_when>
    <thetext>Comment on attachment 261633
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127690</commentid>
    <comment_count>4</comment_count>
      <attachid>261633</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 11:47:57 -0700</bug_when>
    <thetext>Comment on attachment 261633
Patch

Clearing flags on attachment: 261633

Committed r190062: &lt;http://trac.webkit.org/changeset/190062&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127691</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-21 11:48:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261632</attachid>
            <date>2015-09-20 23:54:56 -0700</date>
            <delta_ts>2015-09-21 00:00:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>19184</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc2YTJiZWRhZDU5ZGJiZDYxNzhhOGMzNmIyNTJm
MzAzZTg5NjAyZWMuLjk4M2QwYWM2Yzg2YmFkMWVlYTJiNjI1ZmM1YWJlMDg2YmY3MjhlZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA5LTIwICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBTdG9yZSBleHByZXNzaW9ucyBpbiBXZWJBc3NlbWJseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5Mzk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFN0b3JlIGluc3RydWN0aW9uIGluIFdlYkFz
c2VtYmx5IHN0b3JlcyBhIHZhbHVlIGluIHRoZSBsaW5lYXIgbWVtb3J5CisgICAgICAgIGF0IHRo
ZSBnaXZlbiBpbmRleC4gSXQgY2FuIGJlIGJvdGggYSBzdGF0ZW1lbnQgYW5kIGFuIGV4cHJlc3Np
b24uIFdoZW4KKyAgICAgICAgaXQgaXMgYW4gZXhwcmVzc2lvbiwgaXQgcmV0dXJucyB0aGUgYXNz
aWduZWQgdmFsdWUuIFRoaXMgcGF0Y2gKKyAgICAgICAgaW1wbGVtZW50cyBTdG9yZSBhcyBhbiBl
eHByZXNzaW9uLgorCisgICAgICAgIFNpbmNlIFN0b3JlIHVzZXMgdHdvIG9wZXJhbmRzLCB3aGlj
aCBhcmUgdGhlIGluZGV4IGFuZCB0aGUgdmFsdWUsIHdlCisgICAgICAgIG5lZWQgdG8gcG9wIHRo
ZSB0d28gb3BlcmFuZHMgZnJvbSB0aGUgc3RhY2sgYW5kIHB1c2ggdGhlIHZhbHVlIGJhY2sgdG8K
KyAgICAgICAgdGhlIHN0YWNrLiBXZSBjYW4gc2ltcGx5IGltcGxlbWVudCB0aGlzIGJ5IGNvcHlp
bmcgdGhlIHZhbHVlIHRvIHdoZXJlCisgICAgICAgIHRoZSBpbmRleCBpcyBpbiB0aGUgc3RhY2su
CisKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1saW5lYXItbWVtb3J5LmpzOgorICAgICAg
ICAqIHdhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0
aW9uQ29tcGlsZXI6OmJ1aWxkU3RvcmUpOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFy
c2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVu
dCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMy
KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GMzIp
OgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdG9yZSk6CisgICAgICAg
ICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlv
blN5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tl
cjo6YnVpbGRTdG9yZSk6CisKIDIwMTUtMDktMjAgIFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtv
bHNha0BnbWFpbC5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNldExvY2FsIGFuZCBTZXRHbG9i
YWwgZXhwcmVzc2lvbnMgaW4gV2ViQXNzZW1ibHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1saW5lYXItbWVtb3J5LmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKaW5kZXggYzM1NmFl
ZmVkMmNhN2MyMjE2Y2MwMGZmNzJhYzUyNmZmZjVjMTE4Ny4uZGNiZmM3OWM1ZTI5MTIwZDE5YmI4
NThlZWUyMmI3MGZjYWZhMTk2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKQEAgLTExMCw2ICsxMTAsNDgg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAg
IGZsb2F0NjRBcnJheVtpID4+IDNdID0geDsKICAgICB9CiAKKyAgICBmdW5jdGlvbiBzZXRJbnQ4
RXhwcmVzc2lvbihpLCB4KSB7CisgICAgICAgIGkgPSBpIHwgMDsKKyAgICAgICAgeCA9IHggfCAw
OworICAgICAgICByZXR1cm4gKGludDhBcnJheVtpXSA9IHgpIHwgMDsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzZXRVaW50OEV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8IDA7Cisg
ICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgcmV0dXJuICh1aW50OEFycmF5W2ldID0geCkgfCAw
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHNldEludDE2RXhwcmVzc2lvbihpLCB4KSB7CisgICAg
ICAgIGkgPSBpIHwgMDsKKyAgICAgICAgeCA9IHggfCAwOworICAgICAgICByZXR1cm4gKGludDE2
QXJyYXlbaSA+PiAxXSA9IHgpIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzZXRVaW50MTZF
eHByZXNzaW9uKGksIHgpIHsKKyAgICAgICAgaSA9IGkgfCAwOworICAgICAgICB4ID0geCB8IDA7
CisgICAgICAgIHJldHVybiAodWludDE2QXJyYXlbaSA+PiAxXSA9IHgpIHwgMDsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzZXRJbnQzMkV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8
IDA7CisgICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgcmV0dXJuIChpbnQzMkFycmF5W2kgPj4g
Ml0gPSB4KSB8IDA7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2V0RmxvYXQzMkV4cHJlc3Npb24o
aSwgeCkgeworICAgICAgICBpID0gaSB8IDA7CisgICAgICAgIHggPSBmcm91bmQoeCk7CisgICAg
ICAgIHJldHVybiBmbG9hdDMyQXJyYXlbaSA+PiAyXSA9IHg7CisgICAgfQorCisgICAgZnVuY3Rp
b24gc2V0RmxvYXQ2NEV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8IDA7CisgICAg
ICAgIHggPSAreDsKKyAgICAgICAgcmV0dXJuIGZsb2F0NjRBcnJheVtpID4+IDNdID0geDsKKyAg
ICB9CisKICAgICByZXR1cm4gewogICAgICAgICBnZXRJbnQ4OiBnZXRJbnQ4LAogICAgICAgICBn
ZXRVaW50ODogZ2V0VWludDgsCkBAIC0xMTgsNiArMTYwLDcgQEAgZnVuY3Rpb24gYXNtTW9kdWxl
KGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAgIGdldEludDMyOiBnZXRJbnQzMiwK
ICAgICAgICAgZ2V0RmxvYXQzMjogZ2V0RmxvYXQzMiwKICAgICAgICAgZ2V0RmxvYXQ2NDogZ2V0
RmxvYXQ2NCwKKwogICAgICAgICBzZXRJbnQ4OiBzZXRJbnQ4LAogICAgICAgICBzZXRVaW50ODog
c2V0VWludDgsCiAgICAgICAgIHNldEludDE2OiBzZXRJbnQxNiwKQEAgLTEyNSw2ICsxNjgsMTQg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAg
IHNldEludDMyOiBzZXRJbnQzMiwKICAgICAgICAgc2V0RmxvYXQzMjogc2V0RmxvYXQzMiwKICAg
ICAgICAgc2V0RmxvYXQ2NDogc2V0RmxvYXQ2NCwKKworICAgICAgICBzZXRJbnQ4RXhwcmVzc2lv
bjogc2V0SW50OEV4cHJlc3Npb24sCisgICAgICAgIHNldFVpbnQ4RXhwcmVzc2lvbjogc2V0VWlu
dDhFeHByZXNzaW9uLAorICAgICAgICBzZXRJbnQxNkV4cHJlc3Npb246IHNldEludDE2RXhwcmVz
c2lvbiwKKyAgICAgICAgc2V0VWludDE2RXhwcmVzc2lvbjogc2V0VWludDE2RXhwcmVzc2lvbiwK
KyAgICAgICAgc2V0SW50MzJFeHByZXNzaW9uOiBzZXRJbnQzMkV4cHJlc3Npb24sCisgICAgICAg
IHNldEZsb2F0MzJFeHByZXNzaW9uOiBzZXRGbG9hdDMyRXhwcmVzc2lvbiwKKyAgICAgICAgc2V0
RmxvYXQ2NEV4cHJlc3Npb246IHNldEZsb2F0NjRFeHByZXNzaW9uLAogICAgIH07CiB9CiAqLwpA
QCAtMjAyLDMgKzI1MywxOSBAQCBtb2R1bGUuc2V0SW50MzIoNywgNSk7CiBzaG91bGRCZShpbnQz
MkFycmF5WzBdID09IDEgJiYgaW50MzJBcnJheVsxXSA9PSA1ICYmIGludDMyQXJyYXlbMl0gPT0g
MCwgdHJ1ZSk7CiBtb2R1bGUuc2V0SW50MzIoOCwgNik7CiBzaG91bGRCZShpbnQzMkFycmF5WzBd
ID09IDEgJiYgaW50MzJBcnJheVsxXSA9PSA1ICYmIGludDMyQXJyYXlbMl0gPT0gNiwgdHJ1ZSk7
CisKKy8vIFN0b3JlIGV4cHJlc3Npb25zLgorc2hvdWxkQmUobW9kdWxlLnNldEludDhFeHByZXNz
aW9uKDAsIDB4MTAxKSwgMHgxMDEpOworc2hvdWxkQmUobW9kdWxlLmdldEludDgoMCksIDEpOwor
c2hvdWxkQmUobW9kdWxlLnNldFVpbnQ4RXhwcmVzc2lvbigwLCAtMSksIC0xKTsKK3Nob3VsZEJl
KG1vZHVsZS5nZXRVaW50OCgwKSwgMjU1KTsKK3Nob3VsZEJlKG1vZHVsZS5zZXRJbnQxNkV4cHJl
c3Npb24oMCwgMHgxMDAwMiksIDB4MTAwMDIpOworc2hvdWxkQmUobW9kdWxlLmdldEludDE2KDAp
LCAyKTsKK3Nob3VsZEJlKG1vZHVsZS5zZXRVaW50MTZFeHByZXNzaW9uKDAsIC0xKSwgLTEpOwor
c2hvdWxkQmUobW9kdWxlLmdldFVpbnQxNigwKSwgNjU1MzUpOworc2hvdWxkQmUobW9kdWxlLnNl
dEludDMyRXhwcmVzc2lvbigwLCAzKSwgMyk7CitzaG91bGRCZShtb2R1bGUuZ2V0SW50MzIoMCks
IDMpOworc2hvdWxkQmUobW9kdWxlLnNldEZsb2F0MzJFeHByZXNzaW9uKDAsIDQuNCksIDQuNDAw
MDAwMDk1MzY3NDMyKTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRGbG9hdDMyKDApLCA0LjQwMDAwMDA5
NTM2NzQzMik7CitzaG91bGRCZShtb2R1bGUuc2V0RmxvYXQ2NEV4cHJlc3Npb24oMCwgNC40KSwg
NC40KTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRGbG9hdDY0KDApLCA0LjQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2xpbmVhci1tZW1vcnkud2Fz
bSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS9saW5lYXItbWVtb3J5
Lndhc20KaW5kZXggYTdjNzcyZjZlYzFkZDM4ZjQ4YTVlZjVhN2NkNGMzMDMzZTBkYmNiNy4uMjk3
YWIwMmE2OGE3Y2Y1NDgyYTJiMmQ4NDExZjMxNmE1OWZiY2U0OSAxMDA2NDQKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDQ4Mgp6Y21ZKzdOZStUUTVKanNSMWpHUnhJMCROcDd0cTg1Y21OaX1tXmVq
OWJtPipSMl9ETTVIOGVAdnEoNl94QDlJWmMKenBUOG1TPkhgOEk3ekVEJVo9fXIrQWg4aldCNHFN
SDxNSHgpMGsxSEU3YlpiVjVwbCNFTHlqP3J7Tk9PeyRBLUAmCno1aW12VmAtTCRfbEpkOUJzaiVp
O1NjLUpYOD8hXno+QExrM2ZNOT1RTFJFUEkjeVViejwjR1cmKGVgdkw4eyVIYQp6I1JgSmpQNmBR
aFFseUhHX3BLdzBSbnFBSlE4I0pXRi07bjJXNChGYT9wMGtNdU5ONFRsOWBUNnczWmkrT0t0QkAK
V1BQRGpPSUs/U0JkJChnfW9oPz81byZOeCMjZmlIQgoKZGVsdGEgNzAKemNtYUZGSmVBMyFKaDM/
VTl4RFJ+dXJWKylGZnVZUUYpfWJTRkBQezU1Q2Q1ZHp6MyFublYzTzxnPnxDMEl9Ozx7CkgjQz1s
JEUlKm5uCgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uQ29tcGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNv
bXBpbGVyLmgKaW5kZXggYmQxOGQ1NWEyYjVhODAxODllMzIwYTlmNTY2Y2VjZTcwNGUxMWJkOS4u
MjcxMzRkMzIzOGQ1NTI2ZmVhODlhYWM2NGE3OTllYTNlMzRmYWI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCkBAIC01MzIsNyAr
NTMyLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAotICAgIGlu
dCBidWlsZFN0b3JlKGNvbnN0IE1lbW9yeUFkZHJlc3MmIG1lbW9yeUFkZHJlc3MsIFdBU01FeHBy
ZXNzaW9uVHlwZSBleHByZXNzaW9uVHlwZSwgV0FTTU1lbW9yeVR5cGUgbWVtb3J5VHlwZSwgaW50
KQorICAgIGludCBidWlsZFN0b3JlKFdBU01PcEtpbmQgb3BLaW5kLCBjb25zdCBNZW1vcnlBZGRy
ZXNzJiBtZW1vcnlBZGRyZXNzLCBXQVNNRXhwcmVzc2lvblR5cGUgZXhwcmVzc2lvblR5cGUsIFdB
U01NZW1vcnlUeXBlIG1lbW9yeVR5cGUsIGludCkKICAgICB7CiAgICAgICAgIGNvbnN0IEFycmF5
QnVmZmVyKiBhcnJheUJ1ZmZlciA9IG1fbW9kdWxlLT5hcnJheUJ1ZmZlcigpLT5pbXBsKCk7CiAg
ICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhcnJheUJ1ZmZlci0+ZGF0YSgpKSwgR1BSSW5mbzo6
cmVnVDApOwpAQCAtNTgwLDYgKzU4MCwyMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgICAgICBtX3RlbXBTdGFja1RvcCAtPSAyOwor
CisgICAgICAgIGlmIChvcEtpbmQgPT0gV0FTTU9wS2luZDo6RXhwcmVzc2lvbikgeworICAgICAg
ICAgICAgc3dpdGNoIChleHByZXNzaW9uVHlwZSkgeworICAgICAgICAgICAgY2FzZSBXQVNNRXhw
cmVzc2lvblR5cGU6OkkzMjoKKyAgICAgICAgICAgIGNhc2UgV0FTTUV4cHJlc3Npb25UeXBlOjpG
MzI6CisgICAgICAgICAgICAgICAgc3RvcmUzMihHUFJJbmZvOjpyZWdUMiwgdGVtcG9yYXJ5QWRk
cmVzcyhtX3RlbXBTdGFja1RvcCsrKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0OgorICAgICAgICAgICAgICAgIHN0b3Jl
RG91YmxlKEZQUkluZm86OmZwUmVnVDAsIHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3Ar
KykpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKaW5kZXggZGRlZDg5NDc4YWM2YTY3
ZjU2MDU1YWVmN2Y2ZmNmMGNhYTVkZDI2OC4uZmIxMDJlOWM1ZWYzZWU0NzIxZDYwZjk3ZGEyMmFj
MjQ2OWY0YTAzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1
bmN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVu
Y3Rpb25QYXJzZXIuY3BwCkBAIC0xNTgsMzQgKzE1OCwzNCBAQCBDb250ZXh0U3RhdGVtZW50IFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQoQ29udGV4dCYgY29udGV4dCkKICAgICAg
ICAgICAgIHBhcnNlU2V0R2xvYmFsKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FT
TUV4cHJlc3Npb25UeXBlOjpWb2lkKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmU4OgotICAgICAgICAgICAgcGFyc2VTdG9yZShjb250
ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6Okk4LCBNZW1vcnlB
Y2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRl
eHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01N
ZW1vcnlUeXBlOjpJOCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZzZXQpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpJMzJTdG9yZVdpdGhP
ZmZzZXQ4OgotICAgICAgICAgICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5
cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6Okk4LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRo
T2Zmc2V0KTsKKyAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3Rh
dGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6Okk4LCBNZW1v
cnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmUxNjoKLSAgICAgICAgICAgIHBhcnNl
U3RvcmUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJ
MTYsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAgICAgICAgICAgIHBhcnNl
U3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6
OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkxNiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZz
ZXQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpJ
MzJTdG9yZVdpdGhPZmZzZXQxNjoKLSAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FT
TUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJMTYsIE1lbW9yeUFjY2Vzc09m
ZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAgICAgICAgICAgcGFyc2VTdG9yZShjb250ZXh0LCBX
QVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5
VHlwZTo6STE2LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmUzMjoKLSAg
ICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdB
U01NZW1vcnlUeXBlOjpJMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAg
ICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50LCBXQVNN
RXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkzMiwgTWVtb3J5QWNjZXNzT2Zm
c2V0TW9kZTo6Tm9PZmZzZXQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FT
TU9wU3RhdGVtZW50OjpJMzJTdG9yZVdpdGhPZmZzZXQzMjoKLSAgICAgICAgICAgIHBhcnNlU3Rv
cmUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJMzIs
IE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAgICAgICAgICAgcGFyc2VT
dG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6
STMyLCBXQVNNTWVtb3J5VHlwZTo6STMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zm
c2V0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6
RjMyU3RvcmU6Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01FeHByZXNzaW9u
VHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpO
b09mZnNldCk7CisgICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0
YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1l
bW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6RjMyU3RvcmVXaXRoT2Zmc2V0OgotICAgICAgICAg
ICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMiwgV0FTTU1lbW9y
eVR5cGU6OkYzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CisgICAgICAg
ICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJl
c3Npb25UeXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1v
ZGU6OldpdGhPZmZzZXQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9w
U3RhdGVtZW50OjpGNjRTdG9yZToKLSAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FT
TUV4cHJlc3Npb25UeXBlOjpGNjQsIFdBU01NZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vzc09m
ZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FT
TU9wS2luZDo6U3RhdGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1lbW9yeVR5
cGU6OkY2NCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZzZXQpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpGNjRTdG9yZVdpdGhPZmZzZXQ6
Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0
LCBXQVNNTWVtb3J5VHlwZTo6RjY0LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0
KTsKKyAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50
LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2NCwgTWVtb3J5QWNj
ZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OlJldHVybjoKICAgICAgICAgICAgIHBhcnNlUmV0dXJuU3Rh
dGVtZW50KGNvbnRleHQpOwpAQCAtNTQ4LDYgKzU0OCwxOCBAQCBDb250ZXh0RXhwcmVzc2lvbiBX
QVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkkzMihDb250ZXh0JiBjb250ZXh0KQog
ICAgICAgICAgICAgcmV0dXJuIHBhcnNlTG9hZChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6
OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZz
ZXQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkxvYWRXaXRoT2Zmc2V0MzI6
CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlw
ZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRo
T2Zmc2V0KTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZTg6CisgICAg
ICAgICAgICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9u
LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6Okk4LCBNZW1vcnlBY2Nl
c3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6U3RvcmVXaXRoT2Zmc2V0ODoKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRl
eHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNN
TWVtb3J5VHlwZTo6STgsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAg
ICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlMTY6CisgICAgICAgICAgICByZXR1
cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVz
c2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkxNiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9k
ZTo6Tm9PZmZzZXQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0
aE9mZnNldDE2OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9w
S2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBl
OjpJMTYsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlMzI6CisgICAgICAgICAgICByZXR1cm4gcGFyc2VT
dG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6
OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZz
ZXQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0aE9mZnNldDMy
OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6RXhw
cmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJMzIsIE1l
bW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOwogICAgICAgICBjYXNlIFdBU01PcEV4
cHJlc3Npb25JMzI6OkNhbGxJbnRlcm5hbDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJ
bnRlcm5hbChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMik7CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkkzMjo6Q2FsbEluZGlyZWN0OgpAQCAtNjAzLDEyICs2MTUsNiBAQCBD
b250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkkzMihD
b250ZXh0JiBjb250ZXh0KQogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkdyZWF0
ZXJUaGFuRjY0OgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkdyZWF0ZXJUaGFu
T3JFcXVhbEY2NDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aW9uYWxGNjRFeHByZXNz
aW9uSTMyKGNvbnRleHQsIG9wKTsKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpT
dG9yZTg6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U3RvcmVXaXRoT2Zmc2V0
ODoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZTE2OgotICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0aE9mZnNldDE2OgotICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlMzI6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkkzMjo6U3RvcmVXaXRoT2Zmc2V0MzI6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkkzMjo6Q29uZGl0aW9uYWw6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q29t
bWE6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01pbjoKQEAgLTczOCw2ICs3
NDQsMTAgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJl
c3Npb25GMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBwYXJzZUxvYWQo
Y29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1l
bW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uRjMyOjpMb2FkV2l0aE9mZnNldDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUxvYWQo
Y29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1l
bW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAgICAgICBjYXNlIFdBU01PcEV4
cHJlc3Npb25GMzI6OlN0b3JlOgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4
dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIsIFdBU01N
ZW1vcnlUeXBlOjpGMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTdG9yZVdpdGhPZmZzZXQ6CisgICAgICAgICAg
ICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNN
RXhwcmVzc2lvblR5cGU6OkYzMiwgV0FTTU1lbW9yeVR5cGU6OkYzMiwgTWVtb3J5QWNjZXNzT2Zm
c2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6
Q2FsbEludGVybmFsOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsbEludGVybmFsKGNvbnRl
eHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNz
aW9uRjMyOjpDYWxsSW5kaXJlY3Q6CkBAIC03NTksOCArNzY5LDYgQEAgQ29udGV4dEV4cHJlc3Np
b24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GMzIoQ29udGV4dCYgY29udGV4
dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpNdWw6CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkYzMjo6RGl2OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5
RXhwcmVzc2lvbkYzMihjb250ZXh0LCBvcCk7Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkYzMjo6U3RvcmU6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6U3RvcmVXaXRo
T2Zmc2V0OgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNvbmRpdGlvbmFsOgog
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNvbW1hOgogICAgICAgICAgICAgLy8g
RklYTUU6IEltcGxlbWVudCB0aGVzZSBpbnN0cnVjdGlvbnMuCkBAIC04NDgsNiArODU2LDEwIEBA
IENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjY0
KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRleHQs
IFdBU01FeHByZXNzaW9uVHlwZTo6RjY0LCBXQVNNTWVtb3J5VHlwZTo6RjY0LCBNZW1vcnlBY2Nl
c3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2
NDo6TG9hZFdpdGhPZmZzZXQ6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRleHQs
IFdBU01FeHByZXNzaW9uVHlwZTo6RjY0LCBXQVNNTWVtb3J5VHlwZTo6RjY0LCBNZW1vcnlBY2Nl
c3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
RjY0OjpTdG9yZToKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01P
cEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0LCBXQVNNTWVtb3J5VHlw
ZTo6RjY0LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkY2NDo6U3RvcmVXaXRoT2Zmc2V0OgorICAgICAgICAgICAgcmV0dXJu
IHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Np
b25UeXBlOjpGNjQsIFdBU01NZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6
OldpdGhPZmZzZXQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNhbGxJbnRl
cm5hbDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNN
RXhwcmVzc2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6
Q2FsbEltcG9ydDoKQEAgLTg4Miw4ICs4OTQsNiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0KQogICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkFUYW4yOgogICAgICAgICBjYXNlIFdBU01PcEV4
cHJlc3Npb25GNjQ6OlBvdzoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUJpbmFyeUV4cHJlc3Np
b25GNjQoY29udGV4dCwgb3ApOwotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlN0
b3JlOgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlN0b3JlV2l0aE9mZnNldDoK
ICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDb25kaXRpb25hbDoKICAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDb21tYToKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uRjY0OjpNaW46CkBAIC0xMDM0LDcgKzEwNDQsNyBAQCBDb250ZXh0RXhwcmVzc2lvbiBX
QVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlTG9hZChDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVz
c2lvbgogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KLUNvbnRleHRFeHByZXNzaW9uIFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdG9yZShDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVz
c2lvblR5cGUgZXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlUeXBlIG1lbW9yeVR5cGUsIE1lbW9y
eUFjY2Vzc09mZnNldE1vZGUgb2Zmc2V0TW9kZSkKK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VTdG9yZShDb250ZXh0JiBjb250ZXh0LCBXQVNNT3BLaW5kIG9wS2lu
ZCwgV0FTTUV4cHJlc3Npb25UeXBlIGV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSBtZW1v
cnlUeXBlLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlIG9mZnNldE1vZGUpCiB7CiAgICAgRkFJTF9J
Rl9GQUxTRShtX21vZHVsZS0+YXJyYXlCdWZmZXIoKSwgIkFuIEFycmF5QnVmZmVyIGlzIG5vdCBw
cm92aWRlZC4iKTsKICAgICBjb25zdCBDb250ZXh0TWVtb3J5QWRkcmVzcyYgbWVtb3J5QWRkcmVz
cyA9IHBhcnNlTWVtb3J5QWRkcmVzcyhjb250ZXh0LCBvZmZzZXRNb2RlKTsKQEAgLTEwNDIsNyAr
MTA1Miw3IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdG9y
ZShDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVzc2lvCiAKICAgICBDb250ZXh0RXhwcmVzc2lv
biB2YWx1ZSA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0LCBleHByZXNzaW9uVHlwZSk7CiAgICAg
UFJPUEFHQVRFX0VSUk9SKCk7Ci0gICAgcmV0dXJuIGNvbnRleHQuYnVpbGRTdG9yZShtZW1vcnlB
ZGRyZXNzLCBleHByZXNzaW9uVHlwZSwgbWVtb3J5VHlwZSwgdmFsdWUpOworICAgIHJldHVybiBj
b250ZXh0LmJ1aWxkU3RvcmUob3BLaW5kLCBtZW1vcnlBZGRyZXNzLCBleHByZXNzaW9uVHlwZSwg
bWVtb3J5VHlwZSwgdmFsdWUpOwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggYzgx
ODZmZTExZmI4OWNkYTNiZTMyM2E4ODM2OThlOGVlMjUwYjE4OS4uODkyMDE1NzA2ZTk4N2Y2NmY3
MjQyMWIwZjg4ZTZmMDA5Y2U1YWM4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTExMiw3ICsxMTIsNyBAQCBwcml2YXRlOgogICAg
IHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVNldEdsb2Jh
bChDb250ZXh0JiwgV0FTTU9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dE1lbW9yeUFkZHJlc3MgcGFyc2VNZW1vcnlBZGRyZXNz
KENvbnRleHQmLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
Q29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VMb2FkKENvbnRleHQmLCBXQVNNRXhwcmVz
c2lvblR5cGUsIFdBU01NZW1vcnlUeXBlLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlLCBNZW1vcnlB
Y2Nlc3NDb252ZXJzaW9uID0gTWVtb3J5QWNjZXNzQ29udmVyc2lvbjo6Tm9Db252ZXJzaW9uKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VTdG9y
ZShDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSwgTWVtb3J5QWNj
ZXNzT2Zmc2V0TW9kZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHBy
ZXNzaW9uIHBhcnNlU3RvcmUoQ29udGV4dCYsIFdBU01PcEtpbmQsIFdBU01FeHByZXNzaW9uVHlw
ZSwgV0FTTU1lbW9yeVR5cGUsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbkxpc3QgcGFyc2VDYWxsQXJndW1lbnRz
KENvbnRleHQmLCBjb25zdCBWZWN0b3I8V0FTTVR5cGU+JiBhcmd1bWVudHMpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJbnRlcm5hbChD
b250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUNhbGxJbmRpcmVjdChDb250ZXh0
JiwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oCmluZGV4IDBmN2Ix
MGIzZjczNDExNzhmNDg2YWFjOGM0ZTBhNWNhZjRmNjIzYzguLjJlNzI5MWQ5NzY0OWIzN2IzMzQ1
NGYzZDExZDNmNWY0ODQ5ZjM0ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmgKQEAgLTExOSw5ICsxMTksMTEgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAotICAgIGludCBidWlsZFN0
b3JlKGNvbnN0IE1lbW9yeUFkZHJlc3MmLCBXQVNNRXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlU
eXBlLCBpbnQpCisgICAgaW50IGJ1aWxkU3RvcmUoV0FTTU9wS2luZCBvcEtpbmQsIGNvbnN0IE1l
bW9yeUFkZHJlc3MmLCBXQVNNRXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlUeXBlLCBpbnQpCiAg
ICAgewogICAgICAgICBtX3RlbXBTdGFja1RvcCAtPSAyOworICAgICAgICBpZiAob3BLaW5kID09
IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24pCisgICAgICAgICAgICBtX3RlbXBTdGFja1RvcCsrOwog
ICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261633</attachid>
            <date>2015-09-21 00:00:29 -0700</date>
            <delta_ts>2015-09-21 11:47:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>19164</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc2YTJiZWRhZDU5ZGJiZDYxNzhhOGMzNmIyNTJm
MzAzZTg5NjAyZWMuLjk4M2QwYWM2Yzg2YmFkMWVlYTJiNjI1ZmM1YWJlMDg2YmY3MjhlZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA5LTIwICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBTdG9yZSBleHByZXNzaW9ucyBpbiBXZWJBc3NlbWJseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5Mzk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFN0b3JlIGluc3RydWN0aW9uIGluIFdlYkFz
c2VtYmx5IHN0b3JlcyBhIHZhbHVlIGluIHRoZSBsaW5lYXIgbWVtb3J5CisgICAgICAgIGF0IHRo
ZSBnaXZlbiBpbmRleC4gSXQgY2FuIGJlIGJvdGggYSBzdGF0ZW1lbnQgYW5kIGFuIGV4cHJlc3Np
b24uIFdoZW4KKyAgICAgICAgaXQgaXMgYW4gZXhwcmVzc2lvbiwgaXQgcmV0dXJucyB0aGUgYXNz
aWduZWQgdmFsdWUuIFRoaXMgcGF0Y2gKKyAgICAgICAgaW1wbGVtZW50cyBTdG9yZSBhcyBhbiBl
eHByZXNzaW9uLgorCisgICAgICAgIFNpbmNlIFN0b3JlIHVzZXMgdHdvIG9wZXJhbmRzLCB3aGlj
aCBhcmUgdGhlIGluZGV4IGFuZCB0aGUgdmFsdWUsIHdlCisgICAgICAgIG5lZWQgdG8gcG9wIHRo
ZSB0d28gb3BlcmFuZHMgZnJvbSB0aGUgc3RhY2sgYW5kIHB1c2ggdGhlIHZhbHVlIGJhY2sgdG8K
KyAgICAgICAgdGhlIHN0YWNrLiBXZSBjYW4gc2ltcGx5IGltcGxlbWVudCB0aGlzIGJ5IGNvcHlp
bmcgdGhlIHZhbHVlIHRvIHdoZXJlCisgICAgICAgIHRoZSBpbmRleCBpcyBpbiB0aGUgc3RhY2su
CisKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1saW5lYXItbWVtb3J5LmpzOgorICAgICAg
ICAqIHdhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0
aW9uQ29tcGlsZXI6OmJ1aWxkU3RvcmUpOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFy
c2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVu
dCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMy
KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GMzIp
OgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdG9yZSk6CisgICAgICAg
ICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlv
blN5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tl
cjo6YnVpbGRTdG9yZSk6CisKIDIwMTUtMDktMjAgIFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtv
bHNha0BnbWFpbC5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNldExvY2FsIGFuZCBTZXRHbG9i
YWwgZXhwcmVzc2lvbnMgaW4gV2ViQXNzZW1ibHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1saW5lYXItbWVtb3J5LmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKaW5kZXggYzM1NmFl
ZmVkMmNhN2MyMjE2Y2MwMGZmNzJhYzUyNmZmZjVjMTE4Ny4uMDA5NjY1ZDRjOWMyOWJkNGFlMzNk
N2VkZjhkMjkxNTk5YTY3NWVjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy93YXNtLWxpbmVhci1tZW1vcnkuanMKQEAgLTExMCw2ICsxMTAsNDgg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAg
IGZsb2F0NjRBcnJheVtpID4+IDNdID0geDsKICAgICB9CiAKKyAgICBmdW5jdGlvbiBzZXRJbnQ4
RXhwcmVzc2lvbihpLCB4KSB7CisgICAgICAgIGkgPSBpIHwgMDsKKyAgICAgICAgeCA9IHggfCAw
OworICAgICAgICByZXR1cm4gKGludDhBcnJheVtpXSA9IHgpIHwgMDsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzZXRVaW50OEV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8IDA7Cisg
ICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgcmV0dXJuICh1aW50OEFycmF5W2ldID0geCkgfCAw
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHNldEludDE2RXhwcmVzc2lvbihpLCB4KSB7CisgICAg
ICAgIGkgPSBpIHwgMDsKKyAgICAgICAgeCA9IHggfCAwOworICAgICAgICByZXR1cm4gKGludDE2
QXJyYXlbaSA+PiAxXSA9IHgpIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzZXRVaW50MTZF
eHByZXNzaW9uKGksIHgpIHsKKyAgICAgICAgaSA9IGkgfCAwOworICAgICAgICB4ID0geCB8IDA7
CisgICAgICAgIHJldHVybiAodWludDE2QXJyYXlbaSA+PiAxXSA9IHgpIHwgMDsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzZXRJbnQzMkV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8
IDA7CisgICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgcmV0dXJuIChpbnQzMkFycmF5W2kgPj4g
Ml0gPSB4KSB8IDA7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2V0RmxvYXQzMkV4cHJlc3Npb24o
aSwgeCkgeworICAgICAgICBpID0gaSB8IDA7CisgICAgICAgIHggPSBmcm91bmQoeCk7CisgICAg
ICAgIHJldHVybiBmbG9hdDMyQXJyYXlbaSA+PiAyXSA9IHg7CisgICAgfQorCisgICAgZnVuY3Rp
b24gc2V0RmxvYXQ2NEV4cHJlc3Npb24oaSwgeCkgeworICAgICAgICBpID0gaSB8IDA7CisgICAg
ICAgIHggPSAreDsKKyAgICAgICAgcmV0dXJuIGZsb2F0NjRBcnJheVtpID4+IDNdID0geDsKKyAg
ICB9CisKICAgICByZXR1cm4gewogICAgICAgICBnZXRJbnQ4OiBnZXRJbnQ4LAogICAgICAgICBn
ZXRVaW50ODogZ2V0VWludDgsCkBAIC0xMTgsNiArMTYwLDcgQEAgZnVuY3Rpb24gYXNtTW9kdWxl
KGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAgIGdldEludDMyOiBnZXRJbnQzMiwK
ICAgICAgICAgZ2V0RmxvYXQzMjogZ2V0RmxvYXQzMiwKICAgICAgICAgZ2V0RmxvYXQ2NDogZ2V0
RmxvYXQ2NCwKKwogICAgICAgICBzZXRJbnQ4OiBzZXRJbnQ4LAogICAgICAgICBzZXRVaW50ODog
c2V0VWludDgsCiAgICAgICAgIHNldEludDE2OiBzZXRJbnQxNiwKQEAgLTEyNSw2ICsxNjgsMTQg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAg
IHNldEludDMyOiBzZXRJbnQzMiwKICAgICAgICAgc2V0RmxvYXQzMjogc2V0RmxvYXQzMiwKICAg
ICAgICAgc2V0RmxvYXQ2NDogc2V0RmxvYXQ2NCwKKworICAgICAgICBzZXRJbnQ4RXhwcmVzc2lv
bjogc2V0SW50OEV4cHJlc3Npb24sCisgICAgICAgIHNldFVpbnQ4RXhwcmVzc2lvbjogc2V0VWlu
dDhFeHByZXNzaW9uLAorICAgICAgICBzZXRJbnQxNkV4cHJlc3Npb246IHNldEludDE2RXhwcmVz
c2lvbiwKKyAgICAgICAgc2V0VWludDE2RXhwcmVzc2lvbjogc2V0VWludDE2RXhwcmVzc2lvbiwK
KyAgICAgICAgc2V0SW50MzJFeHByZXNzaW9uOiBzZXRJbnQzMkV4cHJlc3Npb24sCisgICAgICAg
IHNldEZsb2F0MzJFeHByZXNzaW9uOiBzZXRGbG9hdDMyRXhwcmVzc2lvbiwKKyAgICAgICAgc2V0
RmxvYXQ2NEV4cHJlc3Npb246IHNldEZsb2F0NjRFeHByZXNzaW9uLAogICAgIH07CiB9CiAqLwpA
QCAtMjAyLDMgKzI1MywxOSBAQCBtb2R1bGUuc2V0SW50MzIoNywgNSk7CiBzaG91bGRCZShpbnQz
MkFycmF5WzBdID09IDEgJiYgaW50MzJBcnJheVsxXSA9PSA1ICYmIGludDMyQXJyYXlbMl0gPT0g
MCwgdHJ1ZSk7CiBtb2R1bGUuc2V0SW50MzIoOCwgNik7CiBzaG91bGRCZShpbnQzMkFycmF5WzBd
ID09IDEgJiYgaW50MzJBcnJheVsxXSA9PSA1ICYmIGludDMyQXJyYXlbMl0gPT0gNiwgdHJ1ZSk7
CisKKy8vIFN0b3JlIGV4cHJlc3Npb25zLgorc2hvdWxkQmUobW9kdWxlLnNldEludDhFeHByZXNz
aW9uKDAsIDEpLCAxKTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRJbnQ4KDApLCAxKTsKK3Nob3VsZEJl
KG1vZHVsZS5zZXRVaW50OEV4cHJlc3Npb24oMCwgLTEpLCAtMSk7CitzaG91bGRCZShtb2R1bGUu
Z2V0VWludDgoMCksIDI1NSk7CitzaG91bGRCZShtb2R1bGUuc2V0SW50MTZFeHByZXNzaW9uKDAs
IDIpLCAyKTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRJbnQxNigwKSwgMik7CitzaG91bGRCZShtb2R1
bGUuc2V0VWludDE2RXhwcmVzc2lvbigwLCAtMSksIC0xKTsKK3Nob3VsZEJlKG1vZHVsZS5nZXRV
aW50MTYoMCksIDY1NTM1KTsKK3Nob3VsZEJlKG1vZHVsZS5zZXRJbnQzMkV4cHJlc3Npb24oMCwg
MyksIDMpOworc2hvdWxkQmUobW9kdWxlLmdldEludDMyKDApLCAzKTsKK3Nob3VsZEJlKG1vZHVs
ZS5zZXRGbG9hdDMyRXhwcmVzc2lvbigwLCA0LjIpLCA0LjE5OTk5OTgwOTI2NTEzNyk7CitzaG91
bGRCZShtb2R1bGUuZ2V0RmxvYXQzMigwKSwgNC4xOTk5OTk4MDkyNjUxMzcpOworc2hvdWxkQmUo
bW9kdWxlLnNldEZsb2F0NjRFeHByZXNzaW9uKDAsIDQuMiksIDQuMik7CitzaG91bGRCZShtb2R1
bGUuZ2V0RmxvYXQ2NCgwKSwgNC4yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3Mvd2FzbS9saW5lYXItbWVtb3J5Lndhc20gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3dhc20vbGluZWFyLW1lbW9yeS53YXNtCmluZGV4IGE3Yzc3MmY2
ZWMxZGQzOGY0OGE1ZWY1YTdjZDRjMzAzM2UwZGJjYjcuLjI5N2FiMDJhNjhhN2NmNTQ4MmEyYjJk
ODQxMWYzMTZhNTlmYmNlNDkgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA0ODIKemNt
WSs3TmUrVFE1SmpzUjFqR1J4STAkTnA3dHE4NWNtTml9bV5lajlibT4qUjJfRE01SDhlQHZxKDZf
eEA5SVpjCnpwVDhtUz5IYDhJN3pFRCVaPX1yK0FoOGpXQjRxTUg8TUh4KTBrMUhFN2JaYlY1cGwj
RUx5aj9ye05PT3skQS1AJgp6NWltdlZgLUwkX2xKZDlCc2olaTtTYy1KWDg/IV56PkBMazNmTTk9
UUxSRVBJI3lVYno8I0dXJihlYHZMOHslSGEKeiNSYEpqUDZgUWhRbHlIR19wS3cwUm5xQUpROCNK
V0YtO24yVzQoRmE/cDBrTXVOTjRUbDlgVDZ3M1ppK09LdEJACldQUERqT0lLP1NCZCQoZ31vaD8/
NW8mTngjI2ZpSEIKCmRlbHRhIDcwCnpjbWFGRkplQTMhSmgzP1U5eERSfnVyVispRmZ1WVFGKX1i
U0ZAUHs1NUNkNWR6ejMhbm5WM088Zz58QzBJfTs8ewpII0M9bCRFJSpubgoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCmluZGV4IGJkMThk
NTVhMmI1YTgwMTg5ZTMyMGE5ZjU2NmNlY2U3MDRlMTFiZDkuLjI3MTM0ZDMyMzhkNTUyNmZlYTg5
YWFjNjRhNzk5ZWEzZTM0ZmFiNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaApAQCAtNTMyLDcgKzUzMiw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIFVOVVNFRDsKICAgICB9CiAKLSAgICBpbnQgYnVpbGRTdG9yZShjb25zdCBN
ZW1vcnlBZGRyZXNzJiBtZW1vcnlBZGRyZXNzLCBXQVNNRXhwcmVzc2lvblR5cGUgZXhwcmVzc2lv
blR5cGUsIFdBU01NZW1vcnlUeXBlIG1lbW9yeVR5cGUsIGludCkKKyAgICBpbnQgYnVpbGRTdG9y
ZShXQVNNT3BLaW5kIG9wS2luZCwgY29uc3QgTWVtb3J5QWRkcmVzcyYgbWVtb3J5QWRkcmVzcywg
V0FTTUV4cHJlc3Npb25UeXBlIGV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSBtZW1vcnlU
eXBlLCBpbnQpCiAgICAgewogICAgICAgICBjb25zdCBBcnJheUJ1ZmZlciogYXJyYXlCdWZmZXIg
PSBtX21vZHVsZS0+YXJyYXlCdWZmZXIoKS0+aW1wbCgpOwogICAgICAgICBtb3ZlKFRydXN0ZWRJ
bW1QdHIoYXJyYXlCdWZmZXItPmRhdGEoKSksIEdQUkluZm86OnJlZ1QwKTsKQEAgLTU4MCw2ICs1
ODAsMjAgQEAgcHVibGljOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIH0KICAgICAgICAgbV90ZW1wU3RhY2tUb3AgLT0gMjsKKworICAgICAgICBpZiAob3BLaW5k
ID09IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24pIHsKKyAgICAgICAgICAgIHN3aXRjaCAoZXhwcmVz
c2lvblR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzI6Cisg
ICAgICAgICAgICBjYXNlIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyOgorICAgICAgICAgICAgICAg
IHN0b3JlMzIoR1BSSW5mbzo6cmVnVDIsIHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3Ar
KykpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXQVNNRXhwcmVz
c2lvblR5cGU6OkY2NDoKKyAgICAgICAgICAgICAgICBzdG9yZURvdWJsZShGUFJJbmZvOjpmcFJl
Z1QwLCB0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wKyspKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIFVO
VVNFRDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVu
Y3Rpb25QYXJzZXIuY3BwCmluZGV4IGRkZWQ4OTQ3OGFjNmE2N2Y1NjA1NWFlZjdmNmZjZjBjYWE1
ZGQyNjguLmZiMTAyZTljNWVmM2VlNDcyMWQ2MGY5N2RhMjJhYzI0NjlmNGEwMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAt
MTU4LDM0ICsxNTgsMzQgQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICBwYXJzZVNldEdsb2Jh
bChjb250ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6Vm9p
ZCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6Okkz
MlN0b3JlODoKLSAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25U
eXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJOCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9P
ZmZzZXQpOworICAgICAgICAgICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpTdGF0
ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STgsIE1lbW9y
eUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmVXaXRoT2Zmc2V0ODoKLSAgICAgICAgICAg
IHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlU
eXBlOjpJOCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CisgICAgICAgICAg
ICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Np
b25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJOCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6
V2l0aE9mZnNldCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0
ZW1lbnQ6OkkzMlN0b3JlMTY6Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01F
eHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STE2LCBNZW1vcnlBY2Nlc3NPZmZz
ZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01P
cEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBl
OjpJMTYsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmVXaXRoT2Zmc2V0MTY6
Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMy
LCBXQVNNTWVtb3J5VHlwZTo6STE2LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0
KTsKKyAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50
LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6OkkxNiwgTWVtb3J5QWNj
ZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkkzMlN0b3JlMzI6Ci0gICAgICAgICAgICBwYXJzZVN0b3Jl
KGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STMyLCBN
ZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgICAgICBwYXJzZVN0b3Jl
KGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIs
IFdBU01NZW1vcnlUeXBlOjpJMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3Rv
cmVXaXRoT2Zmc2V0MzI6Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01FeHBy
ZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRN
b2RlOjpXaXRoT2Zmc2V0KTsKKyAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9w
S2luZDo6U3RhdGVtZW50LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6
OkkzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkYzMlN0b3JlOgotICAgICAgICAg
ICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkYzMiwgV0FTTU1lbW9y
eVR5cGU6OkYzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZzZXQpOworICAgICAgICAg
ICAgcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNz
aW9uVHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2Rl
OjpOb09mZnNldCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0
ZW1lbnQ6OkYzMlN0b3JlV2l0aE9mZnNldDoKLSAgICAgICAgICAgIHBhcnNlU3RvcmUoY29udGV4
dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIsIFdBU01NZW1vcnlUeXBlOjpGMzIsIE1lbW9yeUFj
Y2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQpOworICAgICAgICAgICAgcGFyc2VTdG9yZShjb250
ZXh0LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyLCBXQVNN
TWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6RjY0U3RvcmU6
Ci0gICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0
LCBXQVNNTWVtb3J5VHlwZTo6RjY0LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7
CisgICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwg
V0FTTUV4cHJlc3Npb25UeXBlOjpGNjQsIFdBU01NZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vz
c09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFdBU01PcFN0YXRlbWVudDo6RjY0U3RvcmVXaXRoT2Zmc2V0OgotICAgICAgICAgICAgcGFyc2VT
dG9yZShjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2
NCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CisgICAgICAgICAgICBwYXJz
ZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4cHJlc3Npb25UeXBl
OjpGNjQsIFdBU01NZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhP
ZmZzZXQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50
OjpSZXR1cm46CiAgICAgICAgICAgICBwYXJzZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKQEAg
LTU0OCw2ICs1NDgsMTggQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpw
YXJzZUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBw
YXJzZUxvYWQoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBl
OjpJMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpMb2FkV2l0aE9mZnNldDMyOgogICAgICAgICAgICAgcmV0dXJu
IHBhcnNlTG9hZChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5
cGU6OkkzMiwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9mZnNldCk7CisgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U3RvcmU4OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNl
U3RvcmUoY29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBl
OjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJOCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZz
ZXQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0aE9mZnNldDg6
CisgICAgICAgICAgICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHBy
ZXNzaW9uLCBXQVNNRXhwcmVzc2lvblR5cGU6OkkzMiwgV0FTTU1lbW9yeVR5cGU6Okk4LCBNZW1v
cnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpTdG9yZTE2OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4
dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01N
ZW1vcnlUeXBlOjpJMTYsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZVdpdGhPZmZzZXQxNjoKKyAgICAgICAg
ICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdB
U01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STE2LCBNZW1vcnlBY2Nlc3NP
ZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpTdG9yZTMyOgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUoY29udGV4dCwgV0FTTU9w
S2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBl
OjpJMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKKyAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZVdpdGhPZmZzZXQzMjoKKyAgICAgICAgICAgIHJldHVy
biBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNz
aW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2Rl
OjpXaXRoT2Zmc2V0KTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpDYWxsSW50
ZXJuYWw6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FT
TUV4cHJlc3Npb25UeXBlOjpJMzIpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6
OkNhbGxJbmRpcmVjdDoKQEAgLTYwMywxMiArNjE1LDYgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbkY2NDoKICAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbk9yRXF1YWxGNjQ6CiAgICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGlvbmFsRjY0RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7
Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U3RvcmU4OgotICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0aE9mZnNldDg6Ci0gICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkkzMjo6U3RvcmUxNjoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
STMyOjpTdG9yZVdpdGhPZmZzZXQxNjoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpTdG9yZTMyOgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlV2l0aE9m
ZnNldDMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkNvbmRpdGlvbmFsOgog
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkNvbW1hOgogICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OlNNaW46CkBAIC03MzgsNiArNzQ0LDEwIEBAIENvbnRleHRFeHBy
ZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNv
bnRleHQpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRleHQsIFdBU01FeHByZXNz
aW9uVHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2Rl
OjpOb09mZnNldCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6TG9hZFdpdGhP
ZmZzZXQ6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRleHQsIFdBU01FeHByZXNz
aW9uVHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2Rl
OjpXaXRoT2Zmc2V0KTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTdG9yZToK
KyAgICAgICAgICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJl
c3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1v
cnlBY2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkYzMjo6U3RvcmVXaXRoT2Zmc2V0OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU3RvcmUo
Y29udGV4dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIs
IFdBU01NZW1vcnlUeXBlOjpGMzIsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6OldpdGhPZmZzZXQp
OwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OkNhbGxJbnRlcm5hbDoKICAgICAg
ICAgICAgIHJldHVybiBwYXJzZUNhbGxJbnRlcm5hbChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5
cGU6OkYzMik7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6Q2FsbEluZGlyZWN0
OgpAQCAtNzU5LDggKzc2OSw2IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNl
cjo6cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkYzMjo6TXVsOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6
OkRpdjoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUJpbmFyeUV4cHJlc3Npb25GMzIoY29udGV4
dCwgb3ApOwotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OlN0b3JlOgotICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OlN0b3JlV2l0aE9mZnNldDoKICAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpDb25kaXRpb25hbDoKICAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uRjMyOjpDb21tYToKICAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhl
c2UgaW5zdHJ1Y3Rpb25zLgpAQCAtODQ4LDYgKzg1NiwxMCBAQCBDb250ZXh0RXhwcmVzc2lvbiBX
QVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0KQog
ICAgICAgICAgICAgcmV0dXJuIHBhcnNlTG9hZChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6
OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2NCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZz
ZXQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkxvYWRXaXRoT2Zmc2V0Ogog
ICAgICAgICAgICAgcmV0dXJuIHBhcnNlTG9hZChjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGU6
OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2NCwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZTo6V2l0aE9m
ZnNldCk7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6U3RvcmU6CisgICAgICAg
ICAgICByZXR1cm4gcGFyc2VTdG9yZShjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBX
QVNNRXhwcmVzc2lvblR5cGU6OkY2NCwgV0FTTU1lbW9yeVR5cGU6OkY2NCwgTWVtb3J5QWNjZXNz
T2Zmc2V0TW9kZTo6Tm9PZmZzZXQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6
OlN0b3JlV2l0aE9mZnNldDoKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVN0b3JlKGNvbnRleHQs
IFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9uVHlwZTo6RjY0LCBXQVNNTWVt
b3J5VHlwZTo6RjY0LCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlOjpXaXRoT2Zmc2V0KTsKICAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpDYWxsSW50ZXJuYWw6CiAgICAgICAgICAgICBy
ZXR1cm4gcGFyc2VDYWxsSW50ZXJuYWwoY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQp
OwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNhbGxJbXBvcnQ6CkBAIC04ODIs
OCArODk0LDYgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4
cHJlc3Npb25GNjQoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNz
aW9uRjY0OjpBVGFuMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpQb3c6CiAg
ICAgICAgICAgICByZXR1cm4gcGFyc2VCaW5hcnlFeHByZXNzaW9uRjY0KGNvbnRleHQsIG9wKTsK
LSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpTdG9yZToKLSAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uRjY0OjpTdG9yZVdpdGhPZmZzZXQ6CiAgICAgICAgIGNhc2UgV0FTTU9w
RXhwcmVzc2lvbkY2NDo6Q29uZGl0aW9uYWw6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkY2NDo6Q29tbWE6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWluOgpAQCAt
MTAzNCw3ICsxMDQ0LDcgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpw
YXJzZUxvYWQoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4cHJlc3Npb24KIH0KIAogdGVtcGxhdGUg
PGNsYXNzIENvbnRleHQ+Ci1Db250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlU3RvcmUoQ29udGV4dCYgY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlIGV4cHJlc3Npb25U
eXBlLCBXQVNNTWVtb3J5VHlwZSBtZW1vcnlUeXBlLCBNZW1vcnlBY2Nlc3NPZmZzZXRNb2RlIG9m
ZnNldE1vZGUpCitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU3Rv
cmUoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQsIFdBU01FeHByZXNzaW9uVHlw
ZSBleHByZXNzaW9uVHlwZSwgV0FTTU1lbW9yeVR5cGUgbWVtb3J5VHlwZSwgTWVtb3J5QWNjZXNz
T2Zmc2V0TW9kZSBvZmZzZXRNb2RlKQogewogICAgIEZBSUxfSUZfRkFMU0UobV9tb2R1bGUtPmFy
cmF5QnVmZmVyKCksICJBbiBBcnJheUJ1ZmZlciBpcyBub3QgcHJvdmlkZWQuIik7CiAgICAgY29u
c3QgQ29udGV4dE1lbW9yeUFkZHJlc3MmIG1lbW9yeUFkZHJlc3MgPSBwYXJzZU1lbW9yeUFkZHJl
c3MoY29udGV4dCwgb2Zmc2V0TW9kZSk7CkBAIC0xMDQyLDcgKzEwNTIsNyBAQCBDb250ZXh0RXhw
cmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU3RvcmUoQ29udGV4dCYgY29udGV4dCwg
V0FTTUV4cHJlc3NpbwogCiAgICAgQ29udGV4dEV4cHJlc3Npb24gdmFsdWUgPSBwYXJzZUV4cHJl
c3Npb24oY29udGV4dCwgZXhwcmVzc2lvblR5cGUpOwogICAgIFBST1BBR0FURV9FUlJPUigpOwot
ICAgIHJldHVybiBjb250ZXh0LmJ1aWxkU3RvcmUobWVtb3J5QWRkcmVzcywgZXhwcmVzc2lvblR5
cGUsIG1lbW9yeVR5cGUsIHZhbHVlKTsKKyAgICByZXR1cm4gY29udGV4dC5idWlsZFN0b3JlKG9w
S2luZCwgbWVtb3J5QWRkcmVzcywgZXhwcmVzc2lvblR5cGUsIG1lbW9yeVR5cGUsIHZhbHVlKTsK
IH0KIAogdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCmluZGV4IGM4MTg2ZmUxMWZiODljZGEzYmUzMjNh
ODgzNjk4ZThlZTI1MGIxODkuLjg5MjAxNTcwNmU5ODdmNjZmNzI0MjFiMGY4OGU2ZjAwOWNlNWFj
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBh
cnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNl
ci5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29u
dGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VTZXRHbG9iYWwoQ29udGV4dCYsIFdBU01PcEtp
bmQsIFdBU01FeHByZXNzaW9uVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENv
bnRleHRNZW1vcnlBZGRyZXNzIHBhcnNlTWVtb3J5QWRkcmVzcyhDb250ZXh0JiwgTWVtb3J5QWNj
ZXNzT2Zmc2V0TW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHBy
ZXNzaW9uIHBhcnNlTG9hZChDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5
VHlwZSwgTWVtb3J5QWNjZXNzT2Zmc2V0TW9kZSwgTWVtb3J5QWNjZXNzQ29udmVyc2lvbiA9IE1l
bW9yeUFjY2Vzc0NvbnZlcnNpb246Ok5vQ29udmVyc2lvbik7Ci0gICAgdGVtcGxhdGUgPGNsYXNz
IENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlU3RvcmUoQ29udGV4dCYsIFdBU01FeHBy
ZXNzaW9uVHlwZSwgV0FTTU1lbW9yeVR5cGUsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGUpOworICAg
IHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVN0b3JlKENv
bnRleHQmLCBXQVNNT3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlUeXBlLCBN
ZW1vcnlBY2Nlc3NPZmZzZXRNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29u
dGV4dEV4cHJlc3Npb25MaXN0IHBhcnNlQ2FsbEFyZ3VtZW50cyhDb250ZXh0JiwgY29uc3QgVmVj
dG9yPFdBU01UeXBlPiYgYXJndW1lbnRzKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4g
Q29udGV4dEV4cHJlc3Npb24gcGFyc2VDYWxsSW50ZXJuYWwoQ29udGV4dCYsIFdBU01FeHByZXNz
aW9uVHlwZSByZXR1cm5UeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4
dEV4cHJlc3Npb24gcGFyc2VDYWxsSW5kaXJlY3QoQ29udGV4dCYsIFdBU01FeHByZXNzaW9uVHlw
ZSByZXR1cm5UeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblN5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblN5bnRheENoZWNrZXIuaAppbmRleCAwZjdiMTBiM2Y3MzQxMTc4ZjQ4NmFhYzhj
NGUwYTVjYWY0ZjYyM2M4Li4yZTcyOTFkOTc2NDliMzdiMzM0NTRmM2QxMWQzZjVmNDg0OWYzNGQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50
YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9u
U3ludGF4Q2hlY2tlci5oCkBAIC0xMTksOSArMTE5LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIFVOVVNFRDsKICAgICB9CiAKLSAgICBpbnQgYnVpbGRTdG9yZShjb25zdCBNZW1vcnlBZGRy
ZXNzJiwgV0FTTUV4cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSwgaW50KQorICAgIGludCBi
dWlsZFN0b3JlKFdBU01PcEtpbmQgb3BLaW5kLCBjb25zdCBNZW1vcnlBZGRyZXNzJiwgV0FTTUV4
cHJlc3Npb25UeXBlLCBXQVNNTWVtb3J5VHlwZSwgaW50KQogICAgIHsKICAgICAgICAgbV90ZW1w
U3RhY2tUb3AgLT0gMjsKKyAgICAgICAgaWYgKG9wS2luZCA9PSBXQVNNT3BLaW5kOjpFeHByZXNz
aW9uKQorICAgICAgICAgICAgbV90ZW1wU3RhY2tUb3ArKzsKICAgICAgICAgcmV0dXJuIFVOVVNF
RDsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>