<?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>148791</bug_id>
          
          <creation_ts>2015-09-04 02:19:13 -0700</creation_ts>
          <short_desc>Implement the division and modulo instructions in WebAssembly</short_desc>
          <delta_ts>2015-09-04 17:14:32 -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>
          <dependson>148772</dependson>
          <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>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1123380</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-04 02:19:13 -0700</bug_when>
    <thetext>Implement the division and modulo instructions for WebAssembly files generated by pack-asmjs &lt;https://github.com/WebAssembly/polyfill-prototype-1&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123383</commentid>
    <comment_count>1</comment_count>
      <attachid>260580</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-04 02:37:42 -0700</bug_when>
    <thetext>Created attachment 260580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123602</commentid>
    <comment_count>2</comment_count>
      <attachid>260580</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-04 13:55:08 -0700</bug_when>
    <thetext>Comment on attachment 260580
Patch

r=me

I believe you should be able to do an inline div on armvs7 and arm64 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123697</commentid>
    <comment_count>3</comment_count>
      <attachid>260641</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-04 16:14:23 -0700</bug_when>
    <thetext>Created attachment 260641
Patch

Update to ToT and add the following line to WASMFunctionCompiler::buildBinaryI32() (division instructions): &quot;// FIXME: We should be able to do an inline div on ARMv7 and ARM64.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123701</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-04 16:16:52 -0700</bug_when>
    <thetext>Attachment 260641 did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/WASMFunctionCompiler.h:333:  JIT_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123713</commentid>
    <comment_count>5</comment_count>
      <attachid>260641</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-04 16:26:06 -0700</bug_when>
    <thetext>Comment on attachment 260641
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123756</commentid>
    <comment_count>6</comment_count>
      <attachid>260641</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-04 17:14:28 -0700</bug_when>
    <thetext>Comment on attachment 260641
Patch

Clearing flags on attachment: 260641

Committed r189405: &lt;http://trac.webkit.org/changeset/189405&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123757</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-04 17:14:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260580</attachid>
            <date>2015-09-04 02:37:42 -0700</date>
            <delta_ts>2015-09-04 16:14:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>14100</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM4Mzg0NDRiYTE0MzYyNTc1MWZlMWQxNzNjYWJl
MjI3YThlNDRkODcuLjhiZjExZjExM2QyYzIzN2MyZWRjNDI0ZjAyMGMyZGIzZWE2OWQ2ZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA5LTA0ICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgZGl2aXNpb24gYW5kIG1vZHVsbyBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODc5MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW1wbGVtZW50cyB0aGUgdW5zaWduZWQgZGl2aXNpb24sIHNpZ25lZCBtb2R1bG8sIGFuZCB1bnNp
Z25lZAorICAgICAgICBtb2R1bG8gaW5zdHJ1Y3Rpb25zIGZvciAzMi1iaXQgaW50ZWdlcnMgaW4g
V2ViQXNzZW1ibHkuIEl0IGFsc28KKyAgICAgICAgaW1wbGVtZW50cyB0aGUgY29udGV4dCBwb29s
IGluZGV4IGluc3RydWN0aW9ucywgd2hpY2ggYXJlIG5lZWRlZCBmb3IKKyAgICAgICAgdGVzdGlu
Zy4gKHBhY2stYXNtanMgcHV0cyBudW1iZXJzIHRoYXQgYXJlIHVzZWQgbW9yZSB0aGFuIG9uY2Ug
aW4gdGhlCisgICAgICAgIGNvbnN0YW50IHBvb2wuKQorCisgICAgICAgICogYXNzZW1ibGVyL1g4
NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmRpdmxfcik6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy5qczoKKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLndhc206CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25D
b21waWxlci5oOgorICAgICAgICAoSlNDOjpvcGVyYXRpb25Nb2QpOgorICAgICAgICAoSlNDOjpv
cGVyYXRpb25VbnNpZ25lZERpdik6CisgICAgICAgIChKU0M6Om9wZXJhdGlvblVuc2lnbmVkTW9k
KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxkQmluYXJ5STMyKToK
KyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIpOgorICAgICAgICAoSlNDOjpXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKToKKyAgICAg
ICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5oOgorCiAyMDE1LTA5LTAzIEFsZWtzYW5kciBT
a2FjaGtvdiAgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFtFUzZdIEltcGxlbWVu
dCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4LiBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24g
c2hvdWxkIGJlIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9YODZBc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
WDg2QXNzZW1ibGVyLmgKaW5kZXggZGEzMTgxZTU4NTRkZWQyYjYzMjM3Nzg4M2ZiYzRkOGFmMDZi
MTMyOC4uMGZiZTJhY2U0ZmIwODJjMWI5MTdhZGZhNGFlNDk2Njg3NzdhMTQwYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCkBAIC0zMTEsNiAr
MzExLDcgQEAgcHJpdmF0ZToKICAgICAgICAgR1JPVVAzX09QX1RFU1QgPSAwLAogICAgICAgICBH
Uk9VUDNfT1BfTk9UICA9IDIsCiAgICAgICAgIEdST1VQM19PUF9ORUcgID0gMywKKyAgICAgICAg
R1JPVVAzX09QX0RJViA9IDYsCiAgICAgICAgIEdST1VQM19PUF9JRElWID0gNywKIAogICAgICAg
ICBHUk9VUDVfT1BfQ0FMTE4gPSAyLApAQCAtOTMyLDYgKzkzMywxMSBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fZm9ybWF0dGVyLmltbWVkaWF0ZTMyKHZhbHVlKTsKICAgICB9CiAKKyAgICB2b2lkIGRp
dmxfcihSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fZm9ybWF0dGVyLm9uZUJ5dGVP
cChPUF9HUk9VUDNfRXYsIEdST1VQM19PUF9ESVYsIGRzdCk7CisgICAgfQorCiAgICAgdm9pZCBp
ZGl2bF9yKFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0
ZU9wKE9QX0dST1VQM19FdiwgR1JPVVAzX09QX0lESVYsIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLmpzCmluZGV4IDRh
NDI5OTY2MThkMjkxNjliZmYxMjI3ZmY1ODdkMTY2NzFjODljZmIuLmZjMjdmNGNhYzI5NzU3NjU1
NjgxMzUwMzc0ODlmYzVhNzNmMTAyYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLmpzCkBAIC00NCwxMiArNDQsNTIgQEAg
ZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgcmV0dXJu
ICgtMjE0NzQ4MzY0OCAvIC0xKSB8IDA7CiAgICAgfQogCisgICAgZnVuY3Rpb24gdW5zaWduZWRE
aXZpZGUoKSB7CisgICAgICAgIHJldHVybiAoKC0xID4+PiAwKSAvIDIpIHwgMDsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB1bnNpZ25lZERpdmlkZUJ5WmVybygpIHsKKyAgICAgICAgcmV0dXJuICgo
LTEgPj4+IDApIC8gMCkgfCAwOworICAgIH0KKworICAgIGZ1bmN0aW9uIG1vZHVsbygpIHsKKyAg
ICAgICAgcmV0dXJuICg0MiAlIDUpIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb2R1bG9O
ZWdhdGl2ZSgpIHsKKyAgICAgICAgcmV0dXJuICgtNDIgJSA1KSB8IDA7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gbW9kdWxvWmVybygpIHsKKyAgICAgICAgcmV0dXJuICgxICUgMCkgfCAwOworICAg
IH0KKworICAgIGZ1bmN0aW9uIG1vZHVsb092ZXJmbG93KCkgeworICAgICAgICByZXR1cm4gKC0y
MTQ3NDgzNjQ4ICUgLTEpIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNpZ25lZE1vZHVs
bygpIHsKKyAgICAgICAgcmV0dXJuICgoLTEgPj4+IDApICUgMTAwMDAwKSB8IDA7CisgICAgfQor
CisgICAgZnVuY3Rpb24gdW5zaWduZWRNb2R1bG9aZXJvKCkgeworICAgICAgICByZXR1cm4gKCgt
MSA+Pj4gMCkgJSAwKSB8IDA7CisgICAgfQorCiAgICAgcmV0dXJuIHsKICAgICAgICAgYWRkU3Vi
dHJhY3Q6IGFkZFN1YnRyYWN0LAogICAgICAgICBhZGRPdmVyZmxvdzogYWRkT3ZlcmZsb3csCiAg
ICAgICAgIGRpdmlkZTogZGl2aWRlLAogICAgICAgICBkaXZpZGVCeVplcm86IGRpdmlkZUJ5WmVy
bywKICAgICAgICAgZGl2aWRlT3ZlcmZsb3c6IGRpdmlkZU92ZXJmbG93LAorICAgICAgICB1bnNp
Z25lZERpdmlkZTogdW5zaWduZWREaXZpZGUsCisgICAgICAgIHVuc2lnbmVkRGl2aWRlQnlaZXJv
OiB1bnNpZ25lZERpdmlkZUJ5WmVybywKKyAgICAgICAgbW9kdWxvOiBtb2R1bG8sCisgICAgICAg
IG1vZHVsb05lZ2F0aXZlOiBtb2R1bG9OZWdhdGl2ZSwKKyAgICAgICAgbW9kdWxvWmVybzogbW9k
dWxvWmVybywKKyAgICAgICAgbW9kdWxvT3ZlcmZsb3c6IG1vZHVsb092ZXJmbG93LAorICAgICAg
ICB1bnNpZ25lZE1vZHVsbzogdW5zaWduZWRNb2R1bG8sCisgICAgICAgIHVuc2lnbmVkTW9kdWxv
WmVybzogdW5zaWduZWRNb2R1bG9aZXJvLAogICAgIH07CiB9CiAqLwpAQCAtNjksMyArMTA5LDI3
IEBAIHNob3VsZFRocm93KCgpID0+IHsKIHNob3VsZFRocm93KCgpID0+IHsKICAgICBtb2R1bGUu
ZGl2aWRlT3ZlcmZsb3coKTsKIH0sICJFcnJvcjogRGl2aXNpb24gYnkgemVybyBvciBkaXZpc2lv
biBvdmVyZmxvdy4iKTsKKworc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkRGl2aWRlKCksIDIxNDc0
ODM2NDcpOworCitzaG91bGRUaHJvdygoKSA9PiB7CisgICAgbW9kdWxlLnVuc2lnbmVkRGl2aWRl
QnlaZXJvKCk7Cit9LCAiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gb3IgZGl2aXNpb24gb3ZlcmZs
b3cuIik7CisKK3Nob3VsZEJlKG1vZHVsZS5tb2R1bG8oKSwgMik7CisKK3Nob3VsZEJlKG1vZHVs
ZS5tb2R1bG9OZWdhdGl2ZSgpLCAtMik7CisKK3Nob3VsZFRocm93KCgpID0+IHsKKyAgICBtb2R1
bGUubW9kdWxvWmVybygpOworfSwgIkVycm9yOiBEaXZpc2lvbiBieSB6ZXJvIG9yIGRpdmlzaW9u
IG92ZXJmbG93LiIpOworCitzaG91bGRUaHJvdygoKSA9PiB7CisgICAgbW9kdWxlLm1vZHVsb092
ZXJmbG93KCk7Cit9LCAiRXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gb3IgZGl2aXNpb24gb3ZlcmZs
b3cuIik7CisKK3Nob3VsZEJlKG1vZHVsZS51bnNpZ25lZE1vZHVsbygpLCA2NzI5NSk7CisKK3No
b3VsZFRocm93KCgpID0+IHsKKyAgICBtb2R1bGUudW5zaWduZWRNb2R1bG9aZXJvKCk7Cit9LCAi
RXJyb3I6IERpdmlzaW9uIGJ5IHplcm8gb3IgZGl2aXNpb24gb3ZlcmZsb3cuIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy53
YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMu
d2FzbQppbmRleCA0Y2NkN2I2MGM4NTdlZDdhMTlkNmVkNmM3YTIyNTBhZDlmNThmYWQ0Li5iODM3
ZjllNTEyOGFhOTUwYWE4ZGVmZTNmMDY3MGI3Yjg3ZGM0ZDNhIDEwMDY0NApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMzM0CnpjbVhSPEVZNitCJUR9K1AhMDtha18jMSRMTHlNNkM0dFVgI0ZyJEh5
VXRWcSVxczlzI0x5aSVvZz8lQkFzbzFtPgp6TEByemFBeyFma3EqQjhvRmJOVi0yRm9mbFVJVzx4
UW03MThzMD4hOSghalcmbWtsVlcoeSlNJEghJnE4eEhQR3gKekNeNU4mZmRSPHpGSDA+LSVnSFpp
VWApdkAlUz1nU1YxbSQybH5KaWhgMyVldTkkWGJtWDxsKD1kUn1VWjNxJjw1CnhEaiV3Z0VqS0A8
RyQpXmQ5WVh1MXJZRHdVbVpkVXFLPUAjaklVI0pnJHlfaiNkPzkrZFFUYnAhSk9JUDdZIzBDbAoK
ZGVsdGEgNjIKemNtWEBkRz1XalBKaDM/VUF+T1JCRm9IPWkhOCViKFBNVDNgWCMqcF87PSU8V2xD
YzJASTJpdX0wWTQrXyMwZEBuCkRvOCVBZgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCmluZGV4IDhlMTkxNTU3Y2MxZjM1YTc5OTdiNTBi
NGExMTQwZjkyNDE3OGEwNWQuLjUwODc2ZWU2YTQxOTkwNDMwMDVhNjg2NDY2NTgyMDJmODFkNjBj
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNv
bXBpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29t
cGlsZXIuaApAQCAtNDIsNiArNDIsMjEgQEAgc3RhdGljIGludDMyX3QgSklUX09QRVJBVElPTiBv
cGVyYXRpb25EaXYoaW50MzJfdCBsZWZ0LCBpbnQzMl90IHJpZ2h0KQogewogICAgIHJldHVybiBs
ZWZ0IC8gcmlnaHQ7CiB9CisKK3N0YXRpYyBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TW9kKGludDMyX3QgbGVmdCwgaW50MzJfdCByaWdodCkKK3sKKyAgICByZXR1cm4gbGVmdCAlIHJp
Z2h0OworfQorCitzdGF0aWMgdWludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25VbnNpZ25l
ZERpdih1aW50MzJfdCBsZWZ0LCB1aW50MzJfdCByaWdodCkKK3sKKyAgICByZXR1cm4gbGVmdCAv
IHJpZ2h0OworfQorCitzdGF0aWMgdWludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25VbnNp
Z25lZE1vZCh1aW50MzJfdCBsZWZ0LCB1aW50MzJfdCByaWdodCkKK3sKKyAgICByZXR1cm4gbGVm
dCAlIHJpZ2h0OworfQogI2VuZGlmCiAKIGNsYXNzIFdBU01GdW5jdGlvbkNvbXBpbGVyIDogcHJp
dmF0ZSBDQ2FsbEhlbHBlcnMgewpAQCAtMTk1LDIwICsyMTAsNDggQEAgcHVibGljOgogICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN1YjoKICAgICAgICAgICAgIHN1YjMyKEdQUklu
Zm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTRGl2OiB7CisgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6U0RpdjoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVRGl2
OgorICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNNb2Q6CisgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1vZDogewogICAgICAgICAgICAgbV9kaXZpZGVFcnJvckp1
bXBMaXN0LmFwcGVuZChicmFuY2hUZXN0MzIoWmVybywgR1BSSW5mbzo6cmVnVDEpKTsKLSAgICAg
ICAgICAgIEp1bXAgZGVub21pbmF0b3JOb3ROZWcxID0gYnJhbmNoMzIoTm90RXF1YWwsIEdQUklu
Zm86OnJlZ1QxLCBUcnVzdGVkSW1tMzIoLTEpKTsKLSAgICAgICAgICAgIG1fZGl2aWRlRXJyb3JK
dW1wTGlzdC5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIEdQUkluZm86OnJlZ1QwLCBUcnVzdGVkSW1t
MzIoLTIxNDc0ODM2NDctMSkpKTsKLSAgICAgICAgICAgIGRlbm9taW5hdG9yTm90TmVnMS5saW5r
KHRoaXMpOworICAgICAgICAgICAgaWYgKG9wID09IFdBU01PcEV4cHJlc3Npb25JMzI6OlNEaXYg
fHwgb3AgPT0gV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01vZCkgeworICAgICAgICAgICAgICAgIEp1
bXAgZGVub21pbmF0b3JOb3ROZWcxID0gYnJhbmNoMzIoTm90RXF1YWwsIEdQUkluZm86OnJlZ1Qx
LCBUcnVzdGVkSW1tMzIoLTEpKTsKKyAgICAgICAgICAgICAgICBtX2RpdmlkZUVycm9ySnVtcExp
c3QuYXBwZW5kKGJyYW5jaDMyKEVxdWFsLCBHUFJJbmZvOjpyZWdUMCwgVHJ1c3RlZEltbTMyKC0y
MTQ3NDgzNjQ3LTEpKSk7CisgICAgICAgICAgICAgICAgZGVub21pbmF0b3JOb3ROZWcxLmxpbmso
dGhpcyk7CisgICAgICAgICAgICB9CiAjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkKICAgICAg
ICAgICAgIEFTU0VSVChHUFJJbmZvOjpyZWdUMCA9PSBYODZSZWdpc3RlcnM6OmVheCk7CiAgICAg
ICAgICAgICBtb3ZlKEdQUkluZm86OnJlZ1QxLCBYODZSZWdpc3RlcnM6OmVjeCk7Ci0gICAgICAg
ICAgICBtX2Fzc2VtYmxlci5jZHEoKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmlkaXZsX3Io
WDg2UmVnaXN0ZXJzOjplY3gpOworICAgICAgICAgICAgaWYgKG9wID09IFdBU01PcEV4cHJlc3Np
b25JMzI6OlNEaXYgfHwgb3AgPT0gV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01vZCkgeworICAgICAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmNkcSgpOworICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmlkaXZsX3IoWDg2UmVnaXN0ZXJzOjplY3gpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBBU1NFUlQob3AgPT0gV0FTTU9wRXhwcmVzc2lvbkkzMjo6VURpdiB8fCBvcCA9
PSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTW9kKTsKKyAgICAgICAgICAgICAgICB4b3IzMihYODZS
ZWdpc3RlcnM6OmVkeCwgWDg2UmVnaXN0ZXJzOjplZHgpOworICAgICAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmRpdmxfcihYODZSZWdpc3RlcnM6OmVjeCk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBpZiAob3AgPT0gV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01vZCB8fCBvcCA9PSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpVTW9kKQorICAgICAgICAgICAgICAgIG1vdmUoWDg2UmVnaXN0ZXJzOjpl
ZHgsIEdQUkluZm86OnJlZ1QwKTsKICNlbHNlCiAgICAgICAgICAgICBpZiAobWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwpCiAgICAgICAgICAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMigt
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0g
ICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRpdiwgR1BSSW5mbzo6cmVnVDAsIEdQ
UkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICBzd2l0Y2ggKG9wKSB7
CisgICAgICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNEaXY6CisgICAgICAgICAg
ICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EaXYsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZv
OjpyZWdUMSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVRGl2OgorICAgICAgICAgICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uVW5zaWduZWREaXYsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZv
OjpyZWdUMSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTW9kOgorICAgICAgICAgICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uTW9kLCBHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDEs
IEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1vZDoKKyAgICAgICAgICAgICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvblVuc2lnbmVkTW9kLCBHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDEs
IEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBpZiAobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpCiAgICAg
ICAgICAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICNlbmRpZgpAQCAtMjU5LDYgKzMwMiwxMyBA
QCBwcml2YXRlOgogICAgICAgICBtb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBkc3QpOwog
ICAgIH0KIAorICAgIHZvaWQgY2FsbE9wZXJhdGlvbih1aW50MzJfdCBKSVRfT1BFUkFUSU9OICgq
b3BlcmF0aW9uKSh1aW50MzJfdCwgdWludDMyX3QpLCBHUFJSZWcgc3JjMSwgR1BSUmVnIHNyYzIs
IEdQUlJlZyBkc3QpCisgICAgeworICAgICAgICBzZXR1cEFyZ3VtZW50cyhzcmMxLCBzcmMyKTsK
KyAgICAgICAgYXBwZW5kQ2FsbChvcGVyYXRpb24pOworICAgICAgICBtb3ZlKEdQUkluZm86OnJl
dHVyblZhbHVlR1BSLCBkc3QpOworICAgIH0KKwogICAgIHVuc2lnbmVkIG1fc3RhY2tIZWlnaHQ7
CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZkxvY2FsczsKICAgICB1bnNpZ25lZCBtX3RlbXBTdGFj
a1RvcCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvblBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwCmluZGV4IDMwZWQzMmE2ZjgwZDJjMTJmYjcxZGE3ODEzYjg1NjU2ZmUxNWVk
ZmMuLmE2MmQ2YzNiNmY4MjFjNzJhNzNhNDVkOGNmNWYzNTFjYjI4MWFhMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtNDIz
LDEzICs0MjMsMTcgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJz
ZUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICBSRUFEX09QX0VYUFJFU1NJT05f
STMyX09SX0ZBSUwoaGFzSW1tZWRpYXRlLCBvcCwgb3BXaXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUs
ICJDYW5ub3QgcmVhZCB0aGUgaW50MzIgZXhwcmVzc2lvbiBvcGNvZGUuIik7CiAgICAgaWYgKCFo
YXNJbW1lZGlhdGUpIHsKICAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25JMzI6OkNvbnN0YW50UG9vbEluZGV4OgorICAgICAgICAgICAgcmV0dXJuIHBh
cnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKGNvbnRleHQpOwogICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OkltbWVkaWF0ZToKICAgICAgICAgICAgIHJldHVybiBwYXJz
ZUltbWVkaWF0ZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6QWRkOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN1YjoK
ICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTRGl2OgorICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OlVEaXY6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6U01vZDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTW9kOgogICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7Ci0gICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q29uc3RhbnRQb29sSW5kZXg6CiAgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6R2V0TG9jYWw6CiAgICAgICAgIGNhc2UgV0FTTU9w
RXhwcmVzc2lvbkkzMjo6R2V0R2xvYmFsOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25J
MzI6OlNldExvY2FsOgpAQCAtNDU5LDkgKzQ2Myw2IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6RnJvbUY2NDoKICAgICAgICAgY2FzZSBXQVNN
T3BFeHByZXNzaW9uSTMyOjpOZWdhdGU6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6TXVsOgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVEaXY6Ci0gICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01vZDoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpVTW9kOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkJpdE5v
dDoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpCaXRPcjoKICAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpCaXRBbmQ6CkBAIC01MDUsOSArNTA2LDEwIEBAIENvbnRl
eHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRl
eHQmIGNvbnRleHQpCiAgICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBzd2l0Y2ggKG9w
V2l0aEltbWVkaWF0ZSkgeworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzJXaXRoSW1t
ZWRpYXRlOjpDb25zdGFudFBvb2xJbmRleDoKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUNvbnN0
YW50UG9vbEluZGV4RXhwcmVzc2lvbkkzMihjb250ZXh0LCBpbW1lZGlhdGUpOwogICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25JMzJXaXRoSW1tZWRpYXRlOjpJbW1lZGlhdGU6CiAgICAgICAg
ICAgICByZXR1cm4gcGFyc2VJbW1lZGlhdGVFeHByZXNzaW9uSTMyKGNvbnRleHQsIGltbWVkaWF0
ZSk7Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMldpdGhJbW1lZGlhdGU6OkNvbnN0
YW50UG9vbEluZGV4OgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzJXaXRoSW1tZWRp
YXRlOjpHZXRMb2NhbDoKICAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlc2UgaW5z
dHJ1Y3Rpb25zLgogICAgICAgICAgICAgRkFJTF9XSVRIX01FU1NBR0UoIlVuc3VwcG9ydGVkIGlu
c3RydWN0aW9uLiIpOwpAQCAtNTE5LDYgKzUyMSwyMSBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkkzMihDb250ZXh0JiBjb250ZXh0KQogfQog
CiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlv
blBhcnNlcjo6cGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29u
dGV4dCwgdWludDMyX3QgY29uc3RhbnRQb29sSW5kZXgpCit7CisgICAgRkFJTF9JRl9GQUxTRShj
b25zdGFudFBvb2xJbmRleCA8IG1fbW9kdWxlLT5pMzJDb25zdGFudHMoKS5zaXplKCksICJUaGUg
Y29uc3RhbnQgcG9vbCBpbmRleCBpcyBpbmNvcnJlY3QuIik7CisgICAgcmV0dXJuIGNvbnRleHQu
YnVpbGRJbW1lZGlhdGVJMzIobV9tb2R1bGUtPmkzMkNvbnN0YW50cygpW2NvbnN0YW50UG9vbElu
ZGV4XSk7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dEV4cHJlc3Npb24g
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNvbnN0YW50UG9vbEluZGV4RXhwcmVzc2lvbkkzMihD
b250ZXh0JiBjb250ZXh0KQoreworICAgIHVpbnQzMl90IGNvbnN0YW50UG9vbEluZGV4OworICAg
IFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJTChjb25zdGFudFBvb2xJbmRleCwgIkNhbm5vdCBy
ZWFkIHRoZSBjb25zdGFudCBwb29sIGluZGV4LiIpOworICAgIHJldHVybiBwYXJzZUNvbnN0YW50
UG9vbEluZGV4RXhwcmVzc2lvbkkzMihjb250ZXh0LCBjb25zdGFudFBvb2xJbmRleCk7Cit9CisK
K3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgogQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9u
UGFyc2VyOjpwYXJzZUltbWVkaWF0ZUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCwgdWlu
dDMyX3QgaW1tZWRpYXRlKQogewogICAgIHJldHVybiBjb250ZXh0LmJ1aWxkSW1tZWRpYXRlSTMy
KGltbWVkaWF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlv
blBhcnNlci5oCmluZGV4IDllY2MwMjY3MDlhOTZmZDk5YTQ4MDMyM2Y0MmIwMTM3MzUzZjQyNjku
LjkxZDg5YjIwZWE1NzFmOTRhYzQxMjBhZTAxYTUwYjRlYjMxNDE3Y2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCkBAIC03OCw2ICs3OCw4
IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNz
aW9uIHBhcnNlRXhwcmVzc2lvbihDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlKTsKIAogICAg
IHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUV4cHJlc3Np
b25JMzIoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhw
cmVzc2lvbiBwYXJzZUNvbnN0YW50UG9vbEluZGV4RXhwcmVzc2lvbkkzMihDb250ZXh0JiwgdWlu
dDMyX3QgY29uc3RhbnRQb29sSW5kZXgpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBD
b250ZXh0RXhwcmVzc2lvbiBwYXJzZUNvbnN0YW50UG9vbEluZGV4RXhwcmVzc2lvbkkzMihDb250
ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBh
cnNlSW1tZWRpYXRlRXhwcmVzc2lvbkkzMihDb250ZXh0JiwgdWludDMyX3QgaW1tZWRpYXRlKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VJbW1l
ZGlhdGVFeHByZXNzaW9uSTMyKENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uSTMyKENvbnRleHQmLCBX
QVNNT3BFeHByZXNzaW9uSTMyKTsK
</data>
<flag name="review"
          id="285766"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260641</attachid>
            <date>2015-09-04 16:14:23 -0700</date>
            <delta_ts>2015-09-04 17:14:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>14422</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcyM2YxOWFlNmFkYjVmZTgzMGIzMDE2NzgwNjJl
ZGIwZDk3MzZmZmUuLmYwZDNlYTViMGY5MmRkMDIyZjRhNTJjYjQ5ZDFmOWFmYTgzNTJlNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA5LTA0ICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgZGl2aXNpb24gYW5kIG1vZHVsbyBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODc5MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW1wbGVtZW50cyB0aGUgdW5zaWduZWQgZGl2aXNpb24sIHNpZ25lZCBtb2R1bG8sIGFuZCB1bnNp
Z25lZAorICAgICAgICBtb2R1bG8gaW5zdHJ1Y3Rpb25zIGZvciAzMi1iaXQgaW50ZWdlcnMgaW4g
V2ViQXNzZW1ibHkuIEl0IGFsc28KKyAgICAgICAgaW1wbGVtZW50cyB0aGUgY29udGV4dCBwb29s
IGluZGV4IGluc3RydWN0aW9ucywgd2hpY2ggYXJlIG5lZWRlZCBmb3IKKyAgICAgICAgdGVzdGlu
Zy4gKHBhY2stYXNtanMgcHV0cyBudW1iZXJzIHRoYXQgYXJlIHVzZWQgbW9yZSB0aGFuIG9uY2Ug
aW4gdGhlCisgICAgICAgIGNvbnN0YW50IHBvb2wuKQorCisgICAgICAgICogYXNzZW1ibGVyL1g4
NkFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OmRpdmxfcik6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy5qczoKKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLndhc206CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25D
b21waWxlci5oOgorICAgICAgICAoSlNDOjpvcGVyYXRpb25Nb2QpOgorICAgICAgICAoSlNDOjpv
cGVyYXRpb25VbnNpZ25lZERpdik6CisgICAgICAgIChKU0M6Om9wZXJhdGlvblVuc2lnbmVkTW9k
KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxkQmluYXJ5STMyKToK
KyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIpOgorICAgICAgICAoSlNDOjpXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKToKKyAgICAg
ICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5oOgorCiAyMDE1LTA5LTA0ICBTdWtvbHNhayBT
YWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0aGUg
c2lnbmVkIGRpdmlzaW9uIGluc3RydWN0aW9uIGluIFdlYkFzc2VtYmx5CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAppbmRleCBjNGViNWJlNTRlMzY3
NDJjMGVlYzgyMGJjYmY1ZDczNmIxZDYyY2MwLi4xOTZjNjc1NjU0OTZkZTQ5YTRiN2I4YWQ1OThj
MDdjM2JmZDI5ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L1g4NkFzc2VtYmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2
QXNzZW1ibGVyLmgKQEAgLTMxMSw2ICszMTEsNyBAQCBwcml2YXRlOgogICAgICAgICBHUk9VUDNf
T1BfVEVTVCA9IDAsCiAgICAgICAgIEdST1VQM19PUF9OT1QgID0gMiwKICAgICAgICAgR1JPVVAz
X09QX05FRyAgPSAzLAorICAgICAgICBHUk9VUDNfT1BfRElWID0gNiwKICAgICAgICAgR1JPVVAz
X09QX0lESVYgPSA3LAogCiAgICAgICAgIEdST1VQNV9PUF9DQUxMTiA9IDIsCkBAIC05MzIsNiAr
OTMzLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlMzIodmFsdWUp
OwogICAgIH0KIAorICAgIHZvaWQgZGl2bF9yKFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAg
ICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wKE9QX0dST1VQM19FdiwgR1JPVVAzX09QX0RJViwgZHN0
KTsKKyAgICB9CisKICAgICB2b2lkIGlkaXZsX3IoUmVnaXN0ZXJJRCBkc3QpCiAgICAgewogICAg
ICAgICBtX2Zvcm1hdHRlci5vbmVCeXRlT3AoT1BfR1JPVVAzX0V2LCBHUk9VUDNfT1BfSURJViwg
ZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2Fz
bS1hcml0aG1ldGljLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNt
LWFyaXRobWV0aWMuanMKaW5kZXggNGE0Mjk5NjYxOGQyOTE2OWJmZjEyMjdmZjU4N2QxNjY3MWM4
OWNmYi4uZmMyN2Y0Y2FjMjk3NTc2NTU2ODEzNTAzNzQ4OWZjNWE3M2YxMDJhZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMu
anMKQEAgLTQ0LDEyICs0NCw1MiBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1
ZmZlcikgewogICAgICAgICByZXR1cm4gKC0yMTQ3NDgzNjQ4IC8gLTEpIHwgMDsKICAgICB9CiAK
KyAgICBmdW5jdGlvbiB1bnNpZ25lZERpdmlkZSgpIHsKKyAgICAgICAgcmV0dXJuICgoLTEgPj4+
IDApIC8gMikgfCAwOworICAgIH0KKworICAgIGZ1bmN0aW9uIHVuc2lnbmVkRGl2aWRlQnlaZXJv
KCkgeworICAgICAgICByZXR1cm4gKCgtMSA+Pj4gMCkgLyAwKSB8IDA7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gbW9kdWxvKCkgeworICAgICAgICByZXR1cm4gKDQyICUgNSkgfCAwOworICAgIH0K
KworICAgIGZ1bmN0aW9uIG1vZHVsb05lZ2F0aXZlKCkgeworICAgICAgICByZXR1cm4gKC00MiAl
IDUpIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtb2R1bG9aZXJvKCkgeworICAgICAgICBy
ZXR1cm4gKDEgJSAwKSB8IDA7CisgICAgfQorCisgICAgZnVuY3Rpb24gbW9kdWxvT3ZlcmZsb3co
KSB7CisgICAgICAgIHJldHVybiAoLTIxNDc0ODM2NDggJSAtMSkgfCAwOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHVuc2lnbmVkTW9kdWxvKCkgeworICAgICAgICByZXR1cm4gKCgtMSA+Pj4gMCkg
JSAxMDAwMDApIHwgMDsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNpZ25lZE1vZHVsb1plcm8o
KSB7CisgICAgICAgIHJldHVybiAoKC0xID4+PiAwKSAlIDApIHwgMDsKKyAgICB9CisKICAgICBy
ZXR1cm4gewogICAgICAgICBhZGRTdWJ0cmFjdDogYWRkU3VidHJhY3QsCiAgICAgICAgIGFkZE92
ZXJmbG93OiBhZGRPdmVyZmxvdywKICAgICAgICAgZGl2aWRlOiBkaXZpZGUsCiAgICAgICAgIGRp
dmlkZUJ5WmVybzogZGl2aWRlQnlaZXJvLAogICAgICAgICBkaXZpZGVPdmVyZmxvdzogZGl2aWRl
T3ZlcmZsb3csCisgICAgICAgIHVuc2lnbmVkRGl2aWRlOiB1bnNpZ25lZERpdmlkZSwKKyAgICAg
ICAgdW5zaWduZWREaXZpZGVCeVplcm86IHVuc2lnbmVkRGl2aWRlQnlaZXJvLAorICAgICAgICBt
b2R1bG86IG1vZHVsbywKKyAgICAgICAgbW9kdWxvTmVnYXRpdmU6IG1vZHVsb05lZ2F0aXZlLAor
ICAgICAgICBtb2R1bG9aZXJvOiBtb2R1bG9aZXJvLAorICAgICAgICBtb2R1bG9PdmVyZmxvdzog
bW9kdWxvT3ZlcmZsb3csCisgICAgICAgIHVuc2lnbmVkTW9kdWxvOiB1bnNpZ25lZE1vZHVsbywK
KyAgICAgICAgdW5zaWduZWRNb2R1bG9aZXJvOiB1bnNpZ25lZE1vZHVsb1plcm8sCiAgICAgfTsK
IH0KICovCkBAIC02OSwzICsxMDksMjcgQEAgc2hvdWxkVGhyb3coKCkgPT4gewogc2hvdWxkVGhy
b3coKCkgPT4gewogICAgIG1vZHVsZS5kaXZpZGVPdmVyZmxvdygpOwogfSwgIkVycm9yOiBEaXZp
c2lvbiBieSB6ZXJvIG9yIGRpdmlzaW9uIG92ZXJmbG93LiIpOworCitzaG91bGRCZShtb2R1bGUu
dW5zaWduZWREaXZpZGUoKSwgMjE0NzQ4MzY0Nyk7CisKK3Nob3VsZFRocm93KCgpID0+IHsKKyAg
ICBtb2R1bGUudW5zaWduZWREaXZpZGVCeVplcm8oKTsKK30sICJFcnJvcjogRGl2aXNpb24gYnkg
emVybyBvciBkaXZpc2lvbiBvdmVyZmxvdy4iKTsKKworc2hvdWxkQmUobW9kdWxlLm1vZHVsbygp
LCAyKTsKKworc2hvdWxkQmUobW9kdWxlLm1vZHVsb05lZ2F0aXZlKCksIC0yKTsKKworc2hvdWxk
VGhyb3coKCkgPT4geworICAgIG1vZHVsZS5tb2R1bG9aZXJvKCk7Cit9LCAiRXJyb3I6IERpdmlz
aW9uIGJ5IHplcm8gb3IgZGl2aXNpb24gb3ZlcmZsb3cuIik7CisKK3Nob3VsZFRocm93KCgpID0+
IHsKKyAgICBtb2R1bGUubW9kdWxvT3ZlcmZsb3coKTsKK30sICJFcnJvcjogRGl2aXNpb24gYnkg
emVybyBvciBkaXZpc2lvbiBvdmVyZmxvdy4iKTsKKworc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVk
TW9kdWxvKCksIDY3Mjk1KTsKKworc2hvdWxkVGhyb3coKCkgPT4geworICAgIG1vZHVsZS51bnNp
Z25lZE1vZHVsb1plcm8oKTsKK30sICJFcnJvcjogRGl2aXNpb24gYnkgemVybyBvciBkaXZpc2lv
biBvdmVyZmxvdy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL3dhc20tYXJpdGhtZXRpYy53YXNtCmluZGV4IDRjY2Q3YjYwYzg1N2VkN2ExOWQ2ZWQ2
YzdhMjI1MGFkOWY1OGZhZDQuLmI4MzdmOWU1MTI4YWE5NTBhYThkZWZlM2YwNjcwYjdiODdkYzRk
M2EgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMzQKemNtWFI8RVk2K0IlRH0rUCEw
O2FrXyMxJExMeU02QzR0VWAjRnIkSHlVdFZxJXFzOXMjTHlpJW9nPyVCQXNvMW0+CnpMQHJ6YUF7
IWZrcSpCOG9GYk5WLTJGb2ZsVUlXPHhRbTcxOHMwPiE5KCFqVyZta2xWVyh5KU0kSCEmcTh4SFBH
eAp6Q141TiZmZFI8ekZIMD4tJWdIWmlVYCl2QCVTPWdTVjFtJDJsfkppaGAzJWV1OSRYYm1YPGwo
PWRSfVVaM3EmPDUKeERqJXdnRWpLQDxHJCleZDlZWHUxcllEd1VtWmRVcUs9QCNqSVUjSmckeV9q
I2Q/OStkUVRicCFKT0lQN1kjMENsCgpkZWx0YSA2Mgp6Y21YQGRHPVdqUEpoMz9VQX5PUkJGb0g9
aSE4JWIoUE1UM2BYIypwXzs9JTxXbENjMkBJMml1fTBZNCtfIzBkQG4KRG84JUFmCgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKaW5kZXgg
OTlkMTQ5MDI5ZjhmNWMyNzc2NjliMjU5YzY3NTRjNmU3YWRkNTVhYi4uMmJmYTA1NzBhMjcwZWE4
ZDk5ZTU1YWM3NTYzOTAzYjBiNzM1Mzc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCkBAIC00Miw2ICs0MiwyMSBAQCBzdGF0aWMg
aW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpdihpbnQzMl90IGxlZnQsIGludDMyX3Qg
cmlnaHQpCiB7CiAgICAgcmV0dXJuIGxlZnQgLyByaWdodDsKIH0KKworc3RhdGljIGludDMyX3Qg
SklUX09QRVJBVElPTiBvcGVyYXRpb25Nb2QoaW50MzJfdCBsZWZ0LCBpbnQzMl90IHJpZ2h0KQor
eworICAgIHJldHVybiBsZWZ0ICUgcmlnaHQ7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblVuc2lnbmVkRGl2KHVpbnQzMl90IGxlZnQsIHVpbnQzMl90IHJpZ2h0
KQoreworICAgIHJldHVybiBsZWZ0IC8gcmlnaHQ7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblVuc2lnbmVkTW9kKHVpbnQzMl90IGxlZnQsIHVpbnQzMl90IHJp
Z2h0KQoreworICAgIHJldHVybiBsZWZ0ICUgcmlnaHQ7Cit9CiAjZW5kaWYKIAogY2xhc3MgV0FT
TUZ1bmN0aW9uQ29tcGlsZXIgOiBwcml2YXRlIENDYWxsSGVscGVycyB7CkBAIC0yMjIsMjAgKzIz
Nyw0OSBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U3ViOgog
ICAgICAgICAgICAgc3ViMzIoR1BSSW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwKTsKICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNEaXY6IHsK
KyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTRGl2OgorICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OlVEaXY6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6U01vZDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTW9kOiB7CiAgICAg
ICAgICAgICBtX2RpdmlkZUVycm9ySnVtcExpc3QuYXBwZW5kKGJyYW5jaFRlc3QzMihaZXJvLCBH
UFJJbmZvOjpyZWdUMSkpOwotICAgICAgICAgICAgSnVtcCBkZW5vbWluYXRvck5vdE5lZzEgPSBi
cmFuY2gzMihOb3RFcXVhbCwgR1BSSW5mbzo6cmVnVDEsIFRydXN0ZWRJbW0zMigtMSkpOwotICAg
ICAgICAgICAgbV9kaXZpZGVFcnJvckp1bXBMaXN0LmFwcGVuZChicmFuY2gzMihFcXVhbCwgR1BS
SW5mbzo6cmVnVDAsIFRydXN0ZWRJbW0zMigtMjE0NzQ4MzY0Ny0xKSkpOwotICAgICAgICAgICAg
ZGVub21pbmF0b3JOb3ROZWcxLmxpbmsodGhpcyk7CisgICAgICAgICAgICBpZiAob3AgPT0gV0FT
TU9wRXhwcmVzc2lvbkkzMjo6U0RpdiB8fCBvcCA9PSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTW9k
KSB7CisgICAgICAgICAgICAgICAgSnVtcCBkZW5vbWluYXRvck5vdE5lZzEgPSBicmFuY2gzMihO
b3RFcXVhbCwgR1BSSW5mbzo6cmVnVDEsIFRydXN0ZWRJbW0zMigtMSkpOworICAgICAgICAgICAg
ICAgIG1fZGl2aWRlRXJyb3JKdW1wTGlzdC5hcHBlbmQoYnJhbmNoMzIoRXF1YWwsIEdQUkluZm86
OnJlZ1QwLCBUcnVzdGVkSW1tMzIoLTIxNDc0ODM2NDctMSkpKTsKKyAgICAgICAgICAgICAgICBk
ZW5vbWluYXRvck5vdE5lZzEubGluayh0aGlzKTsKKyAgICAgICAgICAgIH0KICNpZiBDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KQogICAgICAgICAgICAgQVNTRVJUKEdQUkluZm86OnJlZ1QwID09IFg4
NlJlZ2lzdGVyczo6ZWF4KTsKICAgICAgICAgICAgIG1vdmUoR1BSSW5mbzo6cmVnVDEsIFg4NlJl
Z2lzdGVyczo6ZWN4KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNkcSgpOwotICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuaWRpdmxfcihYODZSZWdpc3RlcnM6OmVjeCk7CisgICAgICAgICAgICBp
ZiAob3AgPT0gV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0RpdiB8fCBvcCA9PSBXQVNNT3BFeHByZXNz
aW9uSTMyOjpTTW9kKSB7CisgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuY2RxKCk7CisgICAg
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuaWRpdmxfcihYODZSZWdpc3RlcnM6OmVjeCk7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChvcCA9PSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpVRGl2IHx8IG9wID09IFdBU01PcEV4cHJlc3Npb25JMzI6OlVNb2QpOworICAg
ICAgICAgICAgICAgIHhvcjMyKFg4NlJlZ2lzdGVyczo6ZWR4LCBYODZSZWdpc3RlcnM6OmVkeCk7
CisgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGl2bF9yKFg4NlJlZ2lzdGVyczo6ZWN4KTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvcCA9PSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpTTW9kIHx8IG9wID09IFdBU01PcEV4cHJlc3Npb25JMzI6OlVNb2QpCisgICAgICAgICAgICAg
ICAgbW92ZShYODZSZWdpc3RlcnM6OmVkeCwgR1BSSW5mbzo6cmVnVDApOwogI2Vsc2UKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBkbyBhbiBpbmxpbmUgZGl2IG9u
IEFSTXY3IGFuZCBBUk02NC4KICAgICAgICAgICAgIGlmIChtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCkKICAgICAgICAgICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC1tYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKLSAgICAgICAgICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGl2LCBHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVn
VDEsIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgICAgIHN3aXRjaCAob3ApIHsKKyAgICAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0RpdjoKKyAgICAgICAgICAgICAgICBjYWxs
T3BlcmF0aW9uKG9wZXJhdGlvbkRpdiwgR1BSSW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1QxLCBH
UFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OlVEaXY6CisgICAgICAgICAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25VbnNpZ25lZERpdiwgR1BSSW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1QxLCBH
UFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25JMzI6OlNNb2Q6CisgICAgICAgICAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Nb2QsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6
cmVnVDApOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpVTW9kOgorICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0
aW9uVW5zaWduZWRNb2QsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6
cmVnVDApOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGlmIChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkKICAgICAgICAgICAgICAg
ICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOwogI2VuZGlmCkBAIC0yODYsNiArMzMwLDEzIEBAIHByaXZhdGU6
CiAgICAgICAgIG1vdmUoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIGRzdCk7CiAgICAgfQogCisg
ICAgdm9pZCBjYWxsT3BlcmF0aW9uKHVpbnQzMl90IEpJVF9PUEVSQVRJT04gKCpvcGVyYXRpb24p
KHVpbnQzMl90LCB1aW50MzJfdCksIEdQUlJlZyBzcmMxLCBHUFJSZWcgc3JjMiwgR1BSUmVnIGRz
dCkKKyAgICB7CisgICAgICAgIHNldHVwQXJndW1lbnRzKHNyYzEsIHNyYzIpOworICAgICAgICBh
cHBlbmRDYWxsKG9wZXJhdGlvbik7CisgICAgICAgIG1vdmUoR1BSSW5mbzo6cmV0dXJuVmFsdWVH
UFIsIGRzdCk7CisgICAgfQorCiAgICAgdW5zaWduZWQgbV9zdGFja0hlaWdodDsKICAgICB1bnNp
Z25lZCBtX251bWJlck9mTG9jYWxzOwogICAgIHVuc2lnbmVkIG1fdGVtcFN0YWNrVG9wIHsgMCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5j
cHAKaW5kZXggOWE4MmY0OGUxMGJmNzI2NzZhYWUxYTNkNGExZGI3NzY4MDJiYTQ0Mi4uYjg1ZWUy
NTViYTA3M2I4OTIxYzI1MjQyMzlkMGI2Y2U4MGNjMDFkMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCkBAIC00MjQsNiArNDI0LDgg
QEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25J
MzIoQ29udGV4dCYgY29udGV4dCkKICAgICBSRUFEX09QX0VYUFJFU1NJT05fSTMyX09SX0ZBSUwo
aGFzSW1tZWRpYXRlLCBvcCwgb3BXaXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUsICJDYW5ub3QgcmVh
ZCB0aGUgaW50MzIgZXhwcmVzc2lvbiBvcGNvZGUuIik7CiAgICAgaWYgKCFoYXNJbW1lZGlhdGUp
IHsKICAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25J
MzI6OkNvbnN0YW50UG9vbEluZGV4OgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQ29uc3RhbnRQ
b29sSW5kZXhFeHByZXNzaW9uSTMyKGNvbnRleHQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJl
c3Npb25JMzI6OkltbWVkaWF0ZToKICAgICAgICAgICAgIHJldHVybiBwYXJzZUltbWVkaWF0ZUV4
cHJlc3Npb25JMzIoY29udGV4dCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6
R2V0TG9jYWw6CkBAIC00MzEsOCArNDMzLDEwIEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6QWRkOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJl
c3Npb25JMzI6OlN1YjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTRGl2Ogor
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVEaXY6CisgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkkzMjo6U01vZDoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpVTW9kOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5RXhwcmVzc2lvbkkzMihjb250
ZXh0LCBvcCk7Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q29uc3RhbnRQb29s
SW5kZXg6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6R2V0R2xvYmFsOgogICAg
ICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNldExvY2FsOgogICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OlNldEdsb2JhbDoKQEAgLTQ2MSw5ICs0NjUsNiBAQCBDb250ZXh0
RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkkzMihDb250ZXh0
JiBjb250ZXh0KQogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkZyb21GNjQ6CiAg
ICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6TmVnYXRlOgogICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6Ok11bDoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpVRGl2OgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNNb2Q6Ci0gICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1vZDoKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpCaXROb3Q6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Qml0
T3I6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Qml0QW5kOgpAQCAtNTA3LDEz
ICs1MDgsMTIgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4
cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAg
ICAgICAgIHN3aXRjaCAob3BXaXRoSW1tZWRpYXRlKSB7CisgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMldpdGhJbW1lZGlhdGU6OkNvbnN0YW50UG9vbEluZGV4OgorICAgICAgICAgICAg
cmV0dXJuIHBhcnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKGNvbnRleHQsIGltbWVk
aWF0ZSk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMldpdGhJbW1lZGlhdGU6Oklt
bWVkaWF0ZToKICAgICAgICAgICAgIHJldHVybiBwYXJzZUltbWVkaWF0ZUV4cHJlc3Npb25JMzIo
Y29udGV4dCwgaW1tZWRpYXRlKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyV2l0
aEltbWVkaWF0ZTo6R2V0TG9jYWw6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VHZXRMb2NhbEV4
cHJlc3Npb25JMzIoY29udGV4dCwgaW1tZWRpYXRlKTsKLSAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyV2l0aEltbWVkaWF0ZTo6Q29uc3RhbnRQb29sSW5kZXg6Ci0gICAgICAgICAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KLSAgICAgICAgICAgIEZBSUxf
V0lUSF9NRVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBAIC01MjIs
NiArNTIyLDIxIEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VF
eHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PgorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNvbnN0YW50
UG9vbEluZGV4RXhwcmVzc2lvbkkzMihDb250ZXh0JiBjb250ZXh0LCB1aW50MzJfdCBjb25zdGFu
dFBvb2xJbmRleCkKK3sKKyAgICBGQUlMX0lGX0ZBTFNFKGNvbnN0YW50UG9vbEluZGV4IDwgbV9t
b2R1bGUtPmkzMkNvbnN0YW50cygpLnNpemUoKSwgIlRoZSBjb25zdGFudCBwb29sIGluZGV4IGlz
IGluY29ycmVjdC4iKTsKKyAgICByZXR1cm4gY29udGV4dC5idWlsZEltbWVkaWF0ZUkzMihtX21v
ZHVsZS0+aTMyQ29uc3RhbnRzKClbY29uc3RhbnRQb29sSW5kZXhdKTsKK30KKwordGVtcGxhdGUg
PGNsYXNzIENvbnRleHQ+CitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCit7Cisg
ICAgdWludDMyX3QgY29uc3RhbnRQb29sSW5kZXg7CisgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9P
Ul9GQUlMKGNvbnN0YW50UG9vbEluZGV4LCAiQ2Fubm90IHJlYWQgdGhlIGNvbnN0YW50IHBvb2wg
aW5kZXguIik7CisgICAgcmV0dXJuIHBhcnNlQ29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMy
KGNvbnRleHQsIGNvbnN0YW50UG9vbEluZGV4KTsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+CiBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlSW1tZWRpYXRl
RXhwcmVzc2lvbkkzMihDb250ZXh0JiBjb250ZXh0LCB1aW50MzJfdCBpbW1lZGlhdGUpCiB7CiAg
ICAgcmV0dXJuIGNvbnRleHQuYnVpbGRJbW1lZGlhdGVJMzIoaW1tZWRpYXRlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggNTZiNWVh
ZGFmN2ZjMTVkYmYyYzlkMWYzODY0NTdlYjg3ODUwMzQyOC4uM2U3MzY0Nzg3MmZmNzhiNjg3NTBh
ZDVkNjUzYTg3YjliMDY3MmUwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V0FTTUZ1bmN0aW9uUGFyc2VyLmgKQEAgLTc4LDYgKzc4LDggQEAgcHJpdmF0ZToKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VFeHByZXNzaW9uKENv
bnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUpOwogCiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlRXhwcmVzc2lvbkkzMihDb250ZXh0Jik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlQ29uc3RhbnRQ
b29sSW5kZXhFeHByZXNzaW9uSTMyKENvbnRleHQmLCB1aW50MzJfdCBjb25zdGFudFBvb2xJbmRl
eCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNl
Q29uc3RhbnRQb29sSW5kZXhFeHByZXNzaW9uSTMyKENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VJbW1lZGlhdGVFeHByZXNzaW9u
STMyKENvbnRleHQmLCB1aW50MzJfdCBpbW1lZGlhdGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBD
b250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUltbWVkaWF0ZUV4cHJlc3Npb25JMzIoQ29u
dGV4dCYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBw
YXJzZUdldExvY2FsRXhwcmVzc2lvbkkzMihDb250ZXh0JiwgdWludDMyX3QgbG9jYWxJbmRleCk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>