<?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>148838</bug_id>
          
          <creation_ts>2015-09-04 15:48:11 -0700</creation_ts>
          <short_desc>Implement the relational instructions in WebAssembly</short_desc>
          <delta_ts>2015-09-06 23:18:06 -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>
    
    <blocked>148882</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1123683</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-04 15:48:11 -0700</bug_when>
    <thetext>Implement the relational 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>1123765</commentid>
    <comment_count>1</comment_count>
      <attachid>260658</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-04 17:25:01 -0700</bug_when>
    <thetext>Created attachment 260658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124037</commentid>
    <comment_count>2</comment_count>
      <attachid>260658</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-06 13:20:31 -0700</bug_when>
    <thetext>Comment on attachment 260658
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260658&amp;action=review

r=me with comment

&gt; Source/JavaScriptCore/tests/stress/wasm-relational.js:119
&gt; +var module = loadWebAssembly(&quot;wasm-relational.wasm&quot;);

I think it&apos;d be nicer to have a directory in stress called &quot;wasm&quot; that holds all the
wasm binaries were testing. Do we have other tests checked in that follow the
model in this patch? Maybe it&apos;s worth changing those.  

Also, would it be possible to write the tests such that
we can write all wasm tests in JS, and have the loadWebAssembly do the
translation on the fly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124038</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-06 13:21:29 -0700</bug_when>
    <thetext>Doing the JS =&gt;wasm translation on the fly will make
converting to newer wasm formats much easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124055</commentid>
    <comment_count>4</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-06 15:02:15 -0700</bug_when>
    <thetext>Thanks.

(In reply to comment #2)
&gt; Comment on attachment 260658 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=260658&amp;action=review
&gt; 
&gt; r=me with comment
&gt; 
&gt; &gt; Source/JavaScriptCore/tests/stress/wasm-relational.js:119
&gt; &gt; +var module = loadWebAssembly(&quot;wasm-relational.wasm&quot;);
&gt; 
&gt; I think it&apos;d be nicer to have a directory in stress called &quot;wasm&quot; that holds
&gt; all the
&gt; wasm binaries were testing. Do we have other tests checked in that follow the
&gt; model in this patch? Maybe it&apos;s worth changing those.  

Will do.

&gt; Also, would it be possible to write the tests such that
&gt; we can write all wasm tests in JS, and have the loadWebAssembly do the
&gt; translation on the fly?

(In reply to comment #3)
&gt; Doing the JS =&gt;wasm translation on the fly will make
&gt; converting to newer wasm formats much easier.

We will have to include the source code of pack-asmjs (~3,800 lines) and the asm.js parser that it uses (~2,900 lines.) It&apos;s probably not worth the time though, considering that eventually, we will have to implement the text format &lt;https://github.com/WebAssembly/design/blob/master/TextFormat.md&gt;. It will be a better way to write tests, because we will have more control over what pack-asmjs generates. asm.js is only a stopgap until the spec is finalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124057</commentid>
    <comment_count>5</comment_count>
      <attachid>260720</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-06 15:40:38 -0700</bug_when>
    <thetext>Created attachment 260720
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124084</commentid>
    <comment_count>6</comment_count>
      <attachid>260720</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-06 23:18:02 -0700</bug_when>
    <thetext>Comment on attachment 260720
Patch for landing

Clearing flags on attachment: 260720

Committed r189458: &lt;http://trac.webkit.org/changeset/189458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124085</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-06 23:18:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260658</attachid>
            <date>2015-09-04 17:25:01 -0700</date>
            <delta_ts>2015-09-06 15:40:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>12885</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNhMjI1ZDFkOGM3ZmJmMWNhNjZmOWZkNGQ5Yzg5
ZDk2MmU2ZDNlZmEuLjEyNDhjMmUyNzQyZDViM2U3NmY0ZmQ0ODQ2OGEyZmQ0YzVlNDJjMWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA5LTA0ICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgcmVsYXRpb25hbCBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODgzOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyB0aGUgcmVsYXRpb25hbCBpbnN0cnVjdGlvbnMgZm9yIDMyLWJpdCBpbnRlZ2VycyBpbgorICAg
ICAgICBXZWJBc3NlbWJseS4KKworICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtLXJlbGF0aW9u
YWwuanM6IEFkZGVkLgorICAgICAgICAoc2hvdWxkQmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVz
cy93YXNtLXJlbGF0aW9uYWwud2FzbTogQWRkZWQuCisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rp
b25Db21waWxlci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25Db21waWxlcjo6YnVpbGRS
ZWxhdGlvbmFsSTMyKToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKToKKyAg
ICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNz
aW9uSTMyKToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAq
IHdhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVu
Y3Rpb25TeW50YXhDaGVja2VyOjpidWlsZFJlbGF0aW9uYWxJMzIpOgorCiAyMDE1LTA5LTA0ICBT
dWtvbHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCB0aGUgZGl2aXNpb24gYW5kIG1vZHVsbyBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1yZWxh
dGlvbmFsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLXJlbGF0
aW9uYWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM4MzA1Y2Y1MjIxYjBhYjE2NDMzOTQ2YWVkZTNhZjY5MTMy
M2IyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3Mvd2FzbS1yZWxhdGlvbmFsLmpzCkBAIC0wLDAgKzEsMTQwIEBACisvL0Agc2tpcAorCitmdW5j
dGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsK
K30KKworLyoKK3dhc20tcmVsYXRpb25hbC53YXNtIGlzIGdlbmVyYXRlZCBieSBwYWNrLWFzbWpz
IDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvcG9seWZpbGwtcHJvdG90eXBlLTE+IGZy
b20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6CisKK2Z1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVu
diwgYnVmZmVyKSB7CisgICAgInVzZSBhc20iOworCisgICAgZnVuY3Rpb24gZXF1YWxUcnVlKCkg
eworICAgICAgICByZXR1cm4gMSA9PSAxOworICAgIH0KKworICAgIGZ1bmN0aW9uIGVxdWFsRmFs
c2UoKSB7CisgICAgICAgIHJldHVybiAxID09IDI7CisgICAgfQorCisgICAgZnVuY3Rpb24gbm90
RXF1YWxUcnVlKCkgeworICAgICAgICByZXR1cm4gMSAhPSAyOworICAgIH0KKworICAgIGZ1bmN0
aW9uIG5vdEVxdWFsRmFsc2UoKSB7CisgICAgICAgIHJldHVybiAxICE9IDE7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gbGVzc1RoYW5UcnVlKCkgeworICAgICAgICByZXR1cm4gLTEgPCAyOworICAg
IH0KKworICAgIGZ1bmN0aW9uIGxlc3NUaGFuRmFsc2UoKSB7CisgICAgICAgIHJldHVybiAxIDwg
MTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsZXNzVGhhbk9yRXF1YWxUcnVlKCkgeworICAgICAg
ICByZXR1cm4gMSA8PSAxOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxlc3NUaGFuT3JFcXVhbEZh
bHNlKCkgeworICAgICAgICByZXR1cm4gMiA8PSAxOworICAgIH0KKworICAgIGZ1bmN0aW9uIGdy
ZWF0ZXJUaGFuVHJ1ZSgpIHsKKyAgICAgICAgcmV0dXJuIDIgPiAtMTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBncmVhdGVyVGhhbkZhbHNlKCkgeworICAgICAgICByZXR1cm4gMSA+IDE7CisgICAg
fQorCisgICAgZnVuY3Rpb24gZ3JlYXRlclRoYW5PckVxdWFsVHJ1ZSgpIHsKKyAgICAgICAgcmV0
dXJuIDEgPj0gMTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBncmVhdGVyVGhhbk9yRXF1YWxGYWxz
ZSgpIHsKKyAgICAgICAgcmV0dXJuIDEgPj0gMjsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNp
Z25lZExlc3NUaGFuVHJ1ZSgpIHsKKyAgICAgICAgcmV0dXJuICgyID4+PiAwKSA8ICgtMSA+Pj4g
MCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5zaWduZWRMZXNzVGhhbkZhbHNlKCkgeworICAg
ICAgICByZXR1cm4gKC0xID4+PiAwKSA8ICgyID4+PiAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biB1bnNpZ25lZExlc3NUaGFuT3JFcXVhbFRydWUoKSB7CisgICAgICAgIHJldHVybiAoMiA+Pj4g
MCkgPD0gKC0xID4+PiAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNpZ25lZExlc3NUaGFu
T3JFcXVhbEZhbHNlKCkgeworICAgICAgICByZXR1cm4gKC0xID4+PiAwKSA8PSAoMiA+Pj4gMCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5zaWduZWRHcmVhdGVyVGhhblRydWUoKSB7CisgICAg
ICAgIHJldHVybiAoLTEgPj4+IDApID4gKDIgPj4+IDApOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHVuc2lnbmVkR3JlYXRlclRoYW5GYWxzZSgpIHsKKyAgICAgICAgcmV0dXJuICgyID4+PiAwKSA+
ICgtMSA+Pj4gMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5zaWduZWRHcmVhdGVyVGhhbk9y
RXF1YWxUcnVlKCkgeworICAgICAgICByZXR1cm4gKC0xID4+PiAwKSA+PSAoMiA+Pj4gMCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gdW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWxGYWxzZSgpIHsK
KyAgICAgICAgcmV0dXJuICgyID4+PiAwKSA+PSAoLTEgPj4+IDApOworICAgIH0KKworICAgIHJl
dHVybiB7CisgICAgICAgIGVxdWFsVHJ1ZTogZXF1YWxUcnVlLAorICAgICAgICBlcXVhbEZhbHNl
OiBlcXVhbEZhbHNlLAorICAgICAgICBub3RFcXVhbFRydWU6IG5vdEVxdWFsVHJ1ZSwKKyAgICAg
ICAgbm90RXF1YWxGYWxzZTogbm90RXF1YWxGYWxzZSwKKyAgICAgICAgbGVzc1RoYW5UcnVlOiBs
ZXNzVGhhblRydWUsCisgICAgICAgIGxlc3NUaGFuRmFsc2U6IGxlc3NUaGFuRmFsc2UsCisgICAg
ICAgIGxlc3NUaGFuT3JFcXVhbFRydWU6IGxlc3NUaGFuT3JFcXVhbFRydWUsCisgICAgICAgIGxl
c3NUaGFuT3JFcXVhbEZhbHNlOiBsZXNzVGhhbk9yRXF1YWxGYWxzZSwKKyAgICAgICAgZ3JlYXRl
clRoYW5UcnVlOiBncmVhdGVyVGhhblRydWUsCisgICAgICAgIGdyZWF0ZXJUaGFuRmFsc2U6IGdy
ZWF0ZXJUaGFuRmFsc2UsCisgICAgICAgIGdyZWF0ZXJUaGFuT3JFcXVhbFRydWU6IGdyZWF0ZXJU
aGFuT3JFcXVhbFRydWUsCisgICAgICAgIGdyZWF0ZXJUaGFuT3JFcXVhbEZhbHNlOiBncmVhdGVy
VGhhbk9yRXF1YWxGYWxzZSwKKyAgICAgICAgdW5zaWduZWRMZXNzVGhhblRydWU6IHVuc2lnbmVk
TGVzc1RoYW5UcnVlLAorICAgICAgICB1bnNpZ25lZExlc3NUaGFuRmFsc2U6IHVuc2lnbmVkTGVz
c1RoYW5GYWxzZSwKKyAgICAgICAgdW5zaWduZWRMZXNzVGhhbk9yRXF1YWxUcnVlOiB1bnNpZ25l
ZExlc3NUaGFuT3JFcXVhbFRydWUsCisgICAgICAgIHVuc2lnbmVkTGVzc1RoYW5PckVxdWFsRmFs
c2U6IHVuc2lnbmVkTGVzc1RoYW5PckVxdWFsRmFsc2UsCisgICAgICAgIHVuc2lnbmVkR3JlYXRl
clRoYW5UcnVlOiB1bnNpZ25lZEdyZWF0ZXJUaGFuVHJ1ZSwKKyAgICAgICAgdW5zaWduZWRHcmVh
dGVyVGhhbkZhbHNlOiB1bnNpZ25lZEdyZWF0ZXJUaGFuRmFsc2UsCisgICAgICAgIHVuc2lnbmVk
R3JlYXRlclRoYW5PckVxdWFsVHJ1ZTogdW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWxUcnVlLAor
ICAgICAgICB1bnNpZ25lZEdyZWF0ZXJUaGFuT3JFcXVhbEZhbHNlOiB1bnNpZ25lZEdyZWF0ZXJU
aGFuT3JFcXVhbEZhbHNlLAorICAgIH07Cit9CisqLworCit2YXIgbW9kdWxlID0gbG9hZFdlYkFz
c2VtYmx5KCJ3YXNtLXJlbGF0aW9uYWwud2FzbSIpOworCitzaG91bGRCZShtb2R1bGUuZXF1YWxU
cnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLmVxdWFsRmFsc2UoKSwgMCk7CitzaG91bGRCZSht
b2R1bGUubm90RXF1YWxUcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLm5vdEVxdWFsRmFsc2Uo
KSwgMCk7CitzaG91bGRCZShtb2R1bGUubGVzc1RoYW5UcnVlKCksIDEpOworc2hvdWxkQmUobW9k
dWxlLmxlc3NUaGFuRmFsc2UoKSwgMCk7CitzaG91bGRCZShtb2R1bGUubGVzc1RoYW5PckVxdWFs
VHJ1ZSgpLCAxKTsKK3Nob3VsZEJlKG1vZHVsZS5sZXNzVGhhbk9yRXF1YWxGYWxzZSgpLCAwKTsK
K3Nob3VsZEJlKG1vZHVsZS5ncmVhdGVyVGhhblRydWUoKSwgMSk7CitzaG91bGRCZShtb2R1bGUu
Z3JlYXRlclRoYW5GYWxzZSgpLCAwKTsKK3Nob3VsZEJlKG1vZHVsZS5ncmVhdGVyVGhhbk9yRXF1
YWxUcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLmdyZWF0ZXJUaGFuT3JFcXVhbEZhbHNlKCks
IDApOworc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkTGVzc1RoYW5UcnVlKCksIDEpOworc2hvdWxk
QmUobW9kdWxlLnVuc2lnbmVkTGVzc1RoYW5GYWxzZSgpLCAwKTsKK3Nob3VsZEJlKG1vZHVsZS51
bnNpZ25lZExlc3NUaGFuT3JFcXVhbFRydWUoKSwgMSk7CitzaG91bGRCZShtb2R1bGUudW5zaWdu
ZWRMZXNzVGhhbk9yRXF1YWxGYWxzZSgpLCAwKTsKK3Nob3VsZEJlKG1vZHVsZS51bnNpZ25lZEdy
ZWF0ZXJUaGFuVHJ1ZSgpLCAxKTsKK3Nob3VsZEJlKG1vZHVsZS51bnNpZ25lZEdyZWF0ZXJUaGFu
RmFsc2UoKSwgMCk7CitzaG91bGRCZShtb2R1bGUudW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWxU
cnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkR3JlYXRlclRoYW5PckVxdWFsRmFs
c2UoKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3dhc20tcmVsYXRpb25hbC53YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy93YXNtLXJlbGF0aW9uYWwud2FzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzlkN2JhNDNmOGEzNzE5NTM0YzZl
ZGFiM2ExMjk4ZDgzZjg3ODU3CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA1OTkKemNtWntmJUw+
OVU1SmdqOF48N2B6QXFYdWZEQ2sxbjJ5WGZWTDR5amxWcSRVSVV1bDAtbE5uUUUpaHVyQW9JNWpW
Cno/XksrM0hYIy12NHx5RFU+b2ReaTxCbHo3bT9XVTcpS1ArfWgjTT5LTE9Nb0c2YCFXRFFYdW59
cyFrOE0yVThSOQp6Nll3KXNBUGV2ZCoqOypgaHozNTc3JElPK0chVHFmO3BNaT5sN2ctPEVDeCZu
fDQyZ15FOW5adXZNI3MkeWBZa1YKeipsSGcqcWNfSTBSYUZDRU9VKXFXIXVtSklma3FVSCg7O08w
anJvbnVKakxjIzktQnxKfEFhV3w9eWFYP2h0N2B4ClBONGhAfV5URlEjOTJmTVQ8RGtreAoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvbkNvbXBpbGVyLmgKaW5kZXggMmJmYTA1NzBhMjcwZWE4ZDk5ZTU1YWM3NTYzOTAz
YjBiNzM1Mzc0ZS4uMDU4YzFkYjhkYTYxY2YyY2EyMTFlN2M2OTkyMTRlODQ2Y2ZjMjk2NCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5o
CkBAIC0yOTMsNiArMjkzLDUxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFVOVVNFRDsKICAg
ICB9CiAKKyAgICBpbnQgYnVpbGRSZWxhdGlvbmFsSTMyKGludCwgaW50LCBXQVNNT3BFeHByZXNz
aW9uSTMyIG9wKQorICAgIHsKKyAgICAgICAgbG9hZDMyKHRlbXBvcmFyeUFkZHJlc3MobV90ZW1w
U3RhY2tUb3AgLSAyKSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICBsb2FkMzIodGVtcG9yYXJ5
QWRkcmVzcyhtX3RlbXBTdGFja1RvcCAtIDEpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIFJl
bGF0aW9uYWxDb25kaXRpb24gY29uZGl0aW9uOworICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6RXF1YWxJMzI6CisgICAgICAgICAgICBjb25k
aXRpb24gPSBFcXVhbDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4
cHJlc3Npb25JMzI6Ok5vdEVxdWFsSTMyOgorICAgICAgICAgICAgY29uZGl0aW9uID0gTm90RXF1
YWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpTTGVzc1RoYW5JMzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBMZXNzVGhhbjsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVMZXNzVGhh
bkkzMjoKKyAgICAgICAgICAgIGNvbmRpdGlvbiA9IEJlbG93OworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0xlc3NUaGFuT3JFcXVhbEkzMjoK
KyAgICAgICAgICAgIGNvbmRpdGlvbiA9IExlc3NUaGFuT3JFcXVhbDsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVMZXNzVGhhbk9yRXF1YWxJ
MzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBCZWxvd09yRXF1YWw7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTR3JlYXRlclRoYW5JMzI6
CisgICAgICAgICAgICBjb25kaXRpb24gPSBHcmVhdGVyVGhhbjsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVHcmVhdGVyVGhhbkkzMjoKKyAg
ICAgICAgICAgIGNvbmRpdGlvbiA9IEFib3ZlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0dyZWF0ZXJUaGFuT3JFcXVhbEkzMjoKKyAgICAg
ICAgICAgIGNvbmRpdGlvbiA9IEdyZWF0ZXJUaGFuT3JFcXVhbDsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVHcmVhdGVyVGhhbk9yRXF1YWxJ
MzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBBYm92ZU9yRXF1YWw7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgY29tcGFyZTMyKGNvbmRpdGlvbiwgR1BSSW5m
bzo6cmVnVDAsIEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgIG1fdGVt
cFN0YWNrVG9wLS07CisgICAgICAgIHN0b3JlMzIoR1BSSW5mbzo6cmVnVDAsIHRlbXBvcmFyeUFk
ZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAxKSk7CisgICAgICAgIHJldHVybiBVTlVTRUQ7CisgICAg
fQorCiBwcml2YXRlOgogICAgIHVuaW9uIFN0YWNrU2xvdCB7CiAgICAgICAgIGludDMyX3QgaW50
VmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFy
c2VyLmNwcAppbmRleCBiODVlZTI1NWJhMDczYjg5MjFjMjUyNDIzOWQwYjZjZTgwY2MwMWQxLi5m
YWIyZWI0MjgwN2IxZDZiZWM3NTk2MWExNmZiYTVjNjMzMDYwNjQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKQEAgLTQzNyw2ICs0
MzcsMTcgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJl
c3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
STMyOjpTTW9kOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVNb2Q6CiAgICAg
ICAgICAgICByZXR1cm4gcGFyc2VCaW5hcnlFeHByZXNzaW9uSTMyKGNvbnRleHQsIG9wKTsKKyAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpFcXVhbEkzMjoKKyAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpOb3RFcXVhbEkzMjoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpTTGVzc1RoYW5JMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6VUxlc3NUaGFuSTMyOgorICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNMZXNz
VGhhbk9yRXF1YWxJMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VUxlc3NU
aGFuT3JFcXVhbEkzMjoKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTR3JlYXRl
clRoYW5JMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VUdyZWF0ZXJUaGFu
STMyOgorICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNHcmVhdGVyVGhhbk9yRXF1
YWxJMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VUdyZWF0ZXJUaGFuT3JF
cXVhbEkzMjoKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNzaW9u
STMyKGNvbnRleHQsIG9wKTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHZXRH
bG9iYWw6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U2V0TG9jYWw6CiAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U2V0R2xvYmFsOgpAQCAtNDc0LDI2ICs0ODUs
MTYgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Np
b25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpMb2dpY2FsUmlnaHRTaGlmdDoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpD
b3VudExlYWRpbmdaZXJvczoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpMb2dp
Y2FsTm90OgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkVxdWFsSTMyOgogICAg
ICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkVxdWFsRjMyOgogICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OkVxdWFsRjY0OgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Np
b25JMzI6Ok5vdEVxdWFsSTMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6Ok5v
dEVxdWFsRjMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6Ok5vdEVxdWFsRjY0
OgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNMZXNzVGhhbkkzMjoKLSAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTGVzc1RoYW5JMzI6CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkkzMjo6TGVzc1RoYW5GMzI6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6TGVzc1RoYW5GNjQ6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6U0xlc3NUaGFuT3JFcXVhbEkzMjoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMy
OjpVTGVzc1RoYW5PckVxdWFsSTMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6
Okxlc3NUaGFuT3JFcXVhbEYzMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpM
ZXNzVGhhbk9yRXF1YWxGNjQ6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0dy
ZWF0ZXJUaGFuSTMyOgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVHcmVhdGVy
VGhhbkkzMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbkYz
MjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbkY2NDoKLSAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTR3JlYXRlclRoYW5PckVxdWFsSTMyOgot
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVHcmVhdGVyVGhhbk9yRXF1YWxJMzI6
CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6R3JlYXRlclRoYW5PckVxdWFsRjMy
OgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OkdyZWF0ZXJUaGFuT3JFcXVhbEY2
NDoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTWluOgpAQCAtNTc2LDYgKzU3
NywxNiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQmluYXJ5
RXhwcmVzc2lvbkkzMihDb250ZXh0JiBjb250ZXh0LAogICAgIHJldHVybiBjb250ZXh0LmJ1aWxk
QmluYXJ5STMyKGxlZnQsIHJpZ2h0LCBvcCk7CiB9CiAKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0
PgorQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVJlbGF0aW9uYWxJ
MzJFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQsIFdBU01PcEV4cHJlc3Npb25JMzIgb3Ap
Cit7CisgICAgQ29udGV4dEV4cHJlc3Npb24gbGVmdCA9IHBhcnNlRXhwcmVzc2lvbkkzMihjb250
ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBDb250ZXh0RXhwcmVzc2lvbiByaWdo
dCA9IHBhcnNlRXhwcmVzc2lvbkkzMihjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsK
KyAgICByZXR1cm4gY29udGV4dC5idWlsZFJlbGF0aW9uYWxJMzIobGVmdCwgcmlnaHQsIG9wKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJz
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCmlu
ZGV4IDNlNzM2NDc4NzJmZjc4YjY4NzUwYWQ1ZDY1M2E4N2I5YjA2NzJlMDQuLjI2OWNmMzFlZTdh
ODJhNzAxMTdhODViMDNjYWM1YjQzYWNmMmQyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCkBAIC04NSw2ICs4NSw3IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlR2V0
TG9jYWxFeHByZXNzaW9uSTMyKENvbnRleHQmLCB1aW50MzJfdCBsb2NhbEluZGV4KTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VHZXRMb2NhbEV4
cHJlc3Npb25JMzIoQ29udGV4dCYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250
ZXh0RXhwcmVzc2lvbiBwYXJzZUJpbmFyeUV4cHJlc3Npb25JMzIoQ29udGV4dCYsIFdBU01PcEV4
cHJlc3Npb25JMzIpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVz
c2lvbiBwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNzaW9uSTMyKENvbnRleHQmLCBXQVNNT3BFeHBy
ZXNzaW9uSTMyKTsKIAogICAgIEpTV0FTTU1vZHVsZSogbV9tb2R1bGU7CiAgICAgV0FTTVJlYWRl
ciBtX3JlYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvblN5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvblN5bnRheENoZWNrZXIuaAppbmRleCBhZjY5ZGFmMWIyYzMyMTRmNjU0NmFlZTA2N2Zk
MjQ1YmUzODRmMGQ3Li41MTk4NTUzZTQzODA0MTc1MjIxNzFkYThiNjZjYTFjZWU3Y2EwYzQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhD
aGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3lu
dGF4Q2hlY2tlci5oCkBAIC03OCw2ICs3OCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBV
TlVTRUQ7CiAgICAgfQogCisgICAgaW50IGJ1aWxkUmVsYXRpb25hbEkzMihpbnQsIGludCwgV0FT
TU9wRXhwcmVzc2lvbkkzMikKKyAgICB7CisgICAgICAgIG1fdGVtcFN0YWNrVG9wLS07CisgICAg
ICAgIHJldHVybiBVTlVTRUQ7CisgICAgfQorCiAgICAgdW5zaWduZWQgc3RhY2tIZWlnaHQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fbnVtYmVyT2ZMb2NhbHMgKyBtX3RlbXBTdGFja0hlaWdo
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260720</attachid>
            <date>2015-09-06 15:40:38 -0700</date>
            <delta_ts>2015-09-06 23:18:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-148838-20150906154034.patch</filename>
            <type>text/plain</type>
            <size>16906</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
YTIyNWQxZDhjN2ZiZjFjYTY2ZjlmZDRkOWM4OWQ5NjJlNmQzZWZhLi4zMDk5NDgzYTZhOWNhOGE0
Y2U4NTVjM2VlNjdkMTgxZDkzM2EwMmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNS0wOS0wNiAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIHJlbGF0aW9uYWwgaW5zdHJ1Y3Rpb25z
IGluIFdlYkFzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDg4MzgKKworICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHJlbGF0aW9uYWwgaW5zdHJ1Y3Rpb25zIGZv
ciAzMi1iaXQgaW50ZWdlcnMgaW4KKyAgICAgICAgV2ViQXNzZW1ibHkuCisKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLmpzOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93
YXNtLWxvY2Fscy5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1yZWxhdGlvbmFsLmpz
OiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2Fz
bS9hcml0aG1ldGljLndhc206IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy53YXNtLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93
YXNtL2xvY2Fscy53YXNtOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy93YXNtLWxvY2Fscy53YXNtLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtL3Jl
bGF0aW9uYWwud2FzbTogQWRkZWQuCisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Db21waWxl
ci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25Db21waWxlcjo6YnVpbGRSZWxhdGlvbmFs
STMyKToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHA6CisgICAgICAgIChK
U0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKToKKyAgICAgICAgKEpT
Qzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNzaW9uSTMyKToK
KyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5oOgorICAgICAgICAqIHdhc20vV0FT
TUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25TeW50
YXhDaGVja2VyOjpidWlsZFJlbGF0aW9uYWxJMzIpOgorCiAyMDE1LTA5LTA0ICBTdWtvbHNhayBT
YWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0aGUg
ZGl2aXNpb24gYW5kIG1vZHVsbyBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMuanMK
aW5kZXggZmMyN2Y0Y2FjMjk3NTc2NTU2ODEzNTAzNzQ4OWZjNWE3M2YxMDJhZC4uYTU0Y2I3MTVj
N2ExYjYyYzZmMzM0OTRjNTM3NDcyZTM3MWFlZGNkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMuanMKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMuanMKQEAgLTE5LDcgKzE5
LDcgQEAgZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgbWVzc2FnZSkgewogfQogCiAvKgotd2Fz
bS1hcml0aG1ldGljLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMgPGh0dHBzOi8vZ2l0
aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJvbSB0aGUgZm9sbG93
aW5nIHNjcmlwdDoKK3dhc20vYXJpdGhtZXRpYy53YXNtIGlzIGdlbmVyYXRlZCBieSBwYWNrLWFz
bWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNzZW1ibHkvcG9seWZpbGwtcHJvdG90eXBlLTE+
IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6CiAKIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWws
IGVudiwgYnVmZmVyKSB7CiAgICAgInVzZSBhc20iOwpAQCAtOTQsNyArOTQsNyBAQCBmdW5jdGlv
biBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogfQogKi8KIAotdmFyIG1vZHVsZSA9
IGxvYWRXZWJBc3NlbWJseSgid2FzbS1hcml0aG1ldGljLndhc20iKTsKK3ZhciBtb2R1bGUgPSBs
b2FkV2ViQXNzZW1ibHkoIndhc20vYXJpdGhtZXRpYy53YXNtIik7CiAKIHNob3VsZEJlKG1vZHVs
ZS5hZGRTdWJ0cmFjdCgpLCA0Mik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy53YXNtCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiODM3ZjllNTEyOGFhOTUwYWE4ZGVmZTNmMDY3MGI3Yjg3ZGM0ZDNhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDMzNAp6Y21YUjxFWTYrQiVEfStQITA7YWtfIzEk
TEx5TTZDNHRVYCNGciRIeVV0VnElcXM5cyNMeWklb2c/JUJBc28xbT4KekxAcnphQXshZmtxKkI4
b0ZiTlYtMkZvZmxVSVc8eFFtNzE4czA+ITkoIWpXJm1rbFZXKHkpTSRIISZxOHhIUEd4CnpDXjVO
JmZkUjx6RkgwPi0lZ0haaVVgKXZAJVM9Z1NWMW0kMmx+SmloYDMlZXU5JFhibVg8bCg9ZFJ9VVoz
cSY8NQp4RGold2dFaktAPEckKV5kOVlYdTFyWUR3VW1aZFVxSz1AI2pJVSNKZyR5X2ojZD85K2RR
VGJwIUpPSVA3WSMwQ2wKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL3dhc20tbG9jYWxzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy93YXNtLWxvY2Fscy5qcwppbmRleCA2ZWM5MjI3MjU0NjZiNGFhYWE3N2JjNzU1NDAzOTAyZjhh
ZGY5ZTdkLi5hNGQ4YWEzZDAxNmFjMGJjMzIxNmEyYzY3OWY4NDBmMTFkNmNkMDU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tbG9jYWxzLmpzCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1sb2NhbHMuanMKQEAg
LTYsNyArNiw3IEBAIGZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKIH0KIAog
LyoKLXdhc20tbG9jYWxzLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNtanMgPGh0dHBzOi8v
Z2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4gZnJvbSB0aGUgZm9s
bG93aW5nIHNjcmlwdDoKK3dhc20vbG9jYWxzLndhc20gaXMgZ2VuZXJhdGVkIGJ5IHBhY2stYXNt
anMgPGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9wb2x5ZmlsbC1wcm90b3R5cGUtMT4g
ZnJvbSB0aGUgZm9sbG93aW5nIHNjcmlwdDoKIAogZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwg
ZW52LCBidWZmZXIpIHsKICAgICAidXNlIGFzbSI7CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9u
IGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiB9CiAqLwogCi12YXIgbW9kdWxlID0g
bG9hZFdlYkFzc2VtYmx5KCJ3YXNtLWxvY2Fscy53YXNtIik7Cit2YXIgbW9kdWxlID0gbG9hZFdl
YkFzc2VtYmx5KCJ3YXNtL2xvY2Fscy53YXNtIik7CiAKIHNob3VsZEJlKG1vZHVsZS5zdW0oMTIs
IDMwKSwgNDIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL3dhc20tbG9jYWxzLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3dhc20tbG9jYWxzLndhc20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhNzYxYjY5
OWUzMGExMzEzYWU0MTA5ZjUwOWVjOGU1YTFmZDAyMDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmxpdGVyYWwgNTgKemNtWFI8RVk1WGVXJmk7dUFZQD0qMWhYTjBNdXRZRkNiPEkjYDQyVFBeMjs0
cSRqRFMmbiM7aERuMzdgMXp6NntLCkMyTVJwXgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1yZWxhdGlvbmFsLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLXJlbGF0aW9uYWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGJhNmZm
Nzg1NTY1Y2RjZGQ1N2U5MDEwMGRkMzE1YjhlMGFhNzM4OQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1yZWxhdGlvbmFsLmpzCkBAIC0w
LDAgKzEsMTQwIEBACisvL0Agc2tpcAorCitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVj
dGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworLyoKK3dhc20vcmVsYXRpb25hbC53
YXNtIGlzIGdlbmVyYXRlZCBieSBwYWNrLWFzbWpzIDxodHRwczovL2dpdGh1Yi5jb20vV2ViQXNz
ZW1ibHkvcG9seWZpbGwtcHJvdG90eXBlLTE+IGZyb20gdGhlIGZvbGxvd2luZyBzY3JpcHQ6CisK
K2Z1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CisgICAgInVzZSBhc20i
OworCisgICAgZnVuY3Rpb24gZXF1YWxUcnVlKCkgeworICAgICAgICByZXR1cm4gMSA9PSAxOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGVxdWFsRmFsc2UoKSB7CisgICAgICAgIHJldHVybiAxID09
IDI7CisgICAgfQorCisgICAgZnVuY3Rpb24gbm90RXF1YWxUcnVlKCkgeworICAgICAgICByZXR1
cm4gMSAhPSAyOworICAgIH0KKworICAgIGZ1bmN0aW9uIG5vdEVxdWFsRmFsc2UoKSB7CisgICAg
ICAgIHJldHVybiAxICE9IDE7CisgICAgfQorCisgICAgZnVuY3Rpb24gbGVzc1RoYW5UcnVlKCkg
eworICAgICAgICByZXR1cm4gLTEgPCAyOworICAgIH0KKworICAgIGZ1bmN0aW9uIGxlc3NUaGFu
RmFsc2UoKSB7CisgICAgICAgIHJldHVybiAxIDwgMTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBs
ZXNzVGhhbk9yRXF1YWxUcnVlKCkgeworICAgICAgICByZXR1cm4gMSA8PSAxOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGxlc3NUaGFuT3JFcXVhbEZhbHNlKCkgeworICAgICAgICByZXR1cm4gMiA8
PSAxOworICAgIH0KKworICAgIGZ1bmN0aW9uIGdyZWF0ZXJUaGFuVHJ1ZSgpIHsKKyAgICAgICAg
cmV0dXJuIDIgPiAtMTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBncmVhdGVyVGhhbkZhbHNlKCkg
eworICAgICAgICByZXR1cm4gMSA+IDE7CisgICAgfQorCisgICAgZnVuY3Rpb24gZ3JlYXRlclRo
YW5PckVxdWFsVHJ1ZSgpIHsKKyAgICAgICAgcmV0dXJuIDEgPj0gMTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBncmVhdGVyVGhhbk9yRXF1YWxGYWxzZSgpIHsKKyAgICAgICAgcmV0dXJuIDEgPj0g
MjsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNpZ25lZExlc3NUaGFuVHJ1ZSgpIHsKKyAgICAg
ICAgcmV0dXJuICgyID4+PiAwKSA8ICgtMSA+Pj4gMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24g
dW5zaWduZWRMZXNzVGhhbkZhbHNlKCkgeworICAgICAgICByZXR1cm4gKC0xID4+PiAwKSA8ICgy
ID4+PiAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB1bnNpZ25lZExlc3NUaGFuT3JFcXVhbFRy
dWUoKSB7CisgICAgICAgIHJldHVybiAoMiA+Pj4gMCkgPD0gKC0xID4+PiAwKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiB1bnNpZ25lZExlc3NUaGFuT3JFcXVhbEZhbHNlKCkgeworICAgICAgICBy
ZXR1cm4gKC0xID4+PiAwKSA8PSAoMiA+Pj4gMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5z
aWduZWRHcmVhdGVyVGhhblRydWUoKSB7CisgICAgICAgIHJldHVybiAoLTEgPj4+IDApID4gKDIg
Pj4+IDApOworICAgIH0KKworICAgIGZ1bmN0aW9uIHVuc2lnbmVkR3JlYXRlclRoYW5GYWxzZSgp
IHsKKyAgICAgICAgcmV0dXJuICgyID4+PiAwKSA+ICgtMSA+Pj4gMCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gdW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWxUcnVlKCkgeworICAgICAgICByZXR1
cm4gKC0xID4+PiAwKSA+PSAoMiA+Pj4gMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5zaWdu
ZWRHcmVhdGVyVGhhbk9yRXF1YWxGYWxzZSgpIHsKKyAgICAgICAgcmV0dXJuICgyID4+PiAwKSA+
PSAoLTEgPj4+IDApOworICAgIH0KKworICAgIHJldHVybiB7CisgICAgICAgIGVxdWFsVHJ1ZTog
ZXF1YWxUcnVlLAorICAgICAgICBlcXVhbEZhbHNlOiBlcXVhbEZhbHNlLAorICAgICAgICBub3RF
cXVhbFRydWU6IG5vdEVxdWFsVHJ1ZSwKKyAgICAgICAgbm90RXF1YWxGYWxzZTogbm90RXF1YWxG
YWxzZSwKKyAgICAgICAgbGVzc1RoYW5UcnVlOiBsZXNzVGhhblRydWUsCisgICAgICAgIGxlc3NU
aGFuRmFsc2U6IGxlc3NUaGFuRmFsc2UsCisgICAgICAgIGxlc3NUaGFuT3JFcXVhbFRydWU6IGxl
c3NUaGFuT3JFcXVhbFRydWUsCisgICAgICAgIGxlc3NUaGFuT3JFcXVhbEZhbHNlOiBsZXNzVGhh
bk9yRXF1YWxGYWxzZSwKKyAgICAgICAgZ3JlYXRlclRoYW5UcnVlOiBncmVhdGVyVGhhblRydWUs
CisgICAgICAgIGdyZWF0ZXJUaGFuRmFsc2U6IGdyZWF0ZXJUaGFuRmFsc2UsCisgICAgICAgIGdy
ZWF0ZXJUaGFuT3JFcXVhbFRydWU6IGdyZWF0ZXJUaGFuT3JFcXVhbFRydWUsCisgICAgICAgIGdy
ZWF0ZXJUaGFuT3JFcXVhbEZhbHNlOiBncmVhdGVyVGhhbk9yRXF1YWxGYWxzZSwKKyAgICAgICAg
dW5zaWduZWRMZXNzVGhhblRydWU6IHVuc2lnbmVkTGVzc1RoYW5UcnVlLAorICAgICAgICB1bnNp
Z25lZExlc3NUaGFuRmFsc2U6IHVuc2lnbmVkTGVzc1RoYW5GYWxzZSwKKyAgICAgICAgdW5zaWdu
ZWRMZXNzVGhhbk9yRXF1YWxUcnVlOiB1bnNpZ25lZExlc3NUaGFuT3JFcXVhbFRydWUsCisgICAg
ICAgIHVuc2lnbmVkTGVzc1RoYW5PckVxdWFsRmFsc2U6IHVuc2lnbmVkTGVzc1RoYW5PckVxdWFs
RmFsc2UsCisgICAgICAgIHVuc2lnbmVkR3JlYXRlclRoYW5UcnVlOiB1bnNpZ25lZEdyZWF0ZXJU
aGFuVHJ1ZSwKKyAgICAgICAgdW5zaWduZWRHcmVhdGVyVGhhbkZhbHNlOiB1bnNpZ25lZEdyZWF0
ZXJUaGFuRmFsc2UsCisgICAgICAgIHVuc2lnbmVkR3JlYXRlclRoYW5PckVxdWFsVHJ1ZTogdW5z
aWduZWRHcmVhdGVyVGhhbk9yRXF1YWxUcnVlLAorICAgICAgICB1bnNpZ25lZEdyZWF0ZXJUaGFu
T3JFcXVhbEZhbHNlOiB1bnNpZ25lZEdyZWF0ZXJUaGFuT3JFcXVhbEZhbHNlLAorICAgIH07Cit9
CisqLworCit2YXIgbW9kdWxlID0gbG9hZFdlYkFzc2VtYmx5KCJ3YXNtL3JlbGF0aW9uYWwud2Fz
bSIpOworCitzaG91bGRCZShtb2R1bGUuZXF1YWxUcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxl
LmVxdWFsRmFsc2UoKSwgMCk7CitzaG91bGRCZShtb2R1bGUubm90RXF1YWxUcnVlKCksIDEpOwor
c2hvdWxkQmUobW9kdWxlLm5vdEVxdWFsRmFsc2UoKSwgMCk7CitzaG91bGRCZShtb2R1bGUubGVz
c1RoYW5UcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLmxlc3NUaGFuRmFsc2UoKSwgMCk7Citz
aG91bGRCZShtb2R1bGUubGVzc1RoYW5PckVxdWFsVHJ1ZSgpLCAxKTsKK3Nob3VsZEJlKG1vZHVs
ZS5sZXNzVGhhbk9yRXF1YWxGYWxzZSgpLCAwKTsKK3Nob3VsZEJlKG1vZHVsZS5ncmVhdGVyVGhh
blRydWUoKSwgMSk7CitzaG91bGRCZShtb2R1bGUuZ3JlYXRlclRoYW5GYWxzZSgpLCAwKTsKK3No
b3VsZEJlKG1vZHVsZS5ncmVhdGVyVGhhbk9yRXF1YWxUcnVlKCksIDEpOworc2hvdWxkQmUobW9k
dWxlLmdyZWF0ZXJUaGFuT3JFcXVhbEZhbHNlKCksIDApOworc2hvdWxkQmUobW9kdWxlLnVuc2ln
bmVkTGVzc1RoYW5UcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxlLnVuc2lnbmVkTGVzc1RoYW5G
YWxzZSgpLCAwKTsKK3Nob3VsZEJlKG1vZHVsZS51bnNpZ25lZExlc3NUaGFuT3JFcXVhbFRydWUo
KSwgMSk7CitzaG91bGRCZShtb2R1bGUudW5zaWduZWRMZXNzVGhhbk9yRXF1YWxGYWxzZSgpLCAw
KTsKK3Nob3VsZEJlKG1vZHVsZS51bnNpZ25lZEdyZWF0ZXJUaGFuVHJ1ZSgpLCAxKTsKK3Nob3Vs
ZEJlKG1vZHVsZS51bnNpZ25lZEdyZWF0ZXJUaGFuRmFsc2UoKSwgMCk7CitzaG91bGRCZShtb2R1
bGUudW5zaWduZWRHcmVhdGVyVGhhbk9yRXF1YWxUcnVlKCksIDEpOworc2hvdWxkQmUobW9kdWxl
LnVuc2lnbmVkR3JlYXRlclRoYW5PckVxdWFsRmFsc2UoKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy53YXNtIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMud2FzbQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iODM3ZjllNTEyOGFhOTUwYWE4ZGVmZTNmMDY3MGI3Yjg3ZGM0ZDNhCkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAzMzQKemNtWFI8RVk2K0IlRH0rUCEwO2FrXyMxJExMeU02QzR0VWAj
RnIkSHlVdFZxJXFzOXMjTHlpJW9nPyVCQXNvMW0+CnpMQHJ6YUF7IWZrcSpCOG9GYk5WLTJGb2Zs
VUlXPHhRbTcxOHMwPiE5KCFqVyZta2xWVyh5KU0kSCEmcTh4SFBHeAp6Q141TiZmZFI8ekZIMD4t
JWdIWmlVYCl2QCVTPWdTVjFtJDJsfkppaGAzJWV1OSRYYm1YPGwoPWRSfVVaM3EmPDUKeERqJXdn
RWpLQDxHJCleZDlZWHUxcllEd1VtWmRVcUs9QCNqSVUjSmckeV9qI2Q/OStkUVRicCFKT0lQN1kj
MENsCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3dhc20vbG9jYWxzLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3dhc20vbG9jYWxzLndhc20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE3NjFiNjk5ZTMw
YTEzMTNhZTQxMDlmNTA5ZWM4ZTVhMWZkMDIwMwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNTgK
emNtWFI8RVk1WGVXJmk7dUFZQD0qMWhYTjBNdXRZRkNiPEkjYDQyVFBeMjs0cSRqRFMmbiM7aERu
MzdgMXp6NntLCkMyTVJwXgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL3JlbGF0aW9uYWwud2FzbSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS9yZWxhdGlvbmFsLndhc20KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTc5ZDdiYTQzZjhhMzcxOTUzNGM2ZWRhYjNhMTI5OGQ4M2Y4Nzg1NwpHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgNTk5CnpjbVp7ZiVMPjlVNUpnajhePDdgekFxWHVmRENrMW4yeVhm
Vkw0eWpsVnEkVUlVdWwwLWxOblFFKWh1ckFvSTVqVgp6P15LKzNIWCMtdjR8eURVPm9kXmk8Qmx6
N20/V1U3KUtQK31oI00+S0xPTW9HNmAhV0RRWHVufXMhazhNMlU4UjkKejZZdylzQVBldmQqKjsq
YGh6MzU3NyRJTytHIVRxZjtwTWk+bDdnLTxFQ3gmbnw0MmdeRTluWnV2TSNzJHlgWWtWCnoqbEhn
KnFjX0kwUmFGQ0VPVSlxVyF1bUpJZmtxVUgoOztPMGpyb251SmpMYyM5LUJ8SnxBYVd8PXlhWD9o
dDdgeApQTjRoQH1eVEZRIzkyZk1UPERra3gKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCmluZGV4
IDJiZmEwNTcwYTI3MGVhOGQ5OWU1NWFjNzU2MzkwM2IwYjczNTM3NGUuLjA1OGMxZGI4ZGE2MWNm
MmNhMjExZTdjNjk5MjE0ZTg0NmNmYzI5NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaApAQCAtMjkzLDYgKzI5Myw1MSBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBVTlVTRUQ7CiAgICAgfQogCisgICAgaW50IGJ1aWxkUmVsYXRp
b25hbEkzMihpbnQsIGludCwgV0FTTU9wRXhwcmVzc2lvbkkzMiBvcCkKKyAgICB7CisgICAgICAg
IGxvYWQzMih0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMiksIEdQUkluZm86OnJl
Z1QwKTsKKyAgICAgICAgbG9hZDMyKHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAx
KSwgR1BSSW5mbzo6cmVnVDEpOworICAgICAgICBSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmRpdGlv
bjsKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25J
MzI6OkVxdWFsSTMyOgorICAgICAgICAgICAgY29uZGl0aW9uID0gRXF1YWw7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpOb3RFcXVhbEkzMjoK
KyAgICAgICAgICAgIGNvbmRpdGlvbiA9IE5vdEVxdWFsOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0xlc3NUaGFuSTMyOgorICAgICAgICAg
ICAgY29uZGl0aW9uID0gTGVzc1RoYW47CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTGVzc1RoYW5JMzI6CisgICAgICAgICAgICBjb25kaXRp
b24gPSBCZWxvdzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJl
c3Npb25JMzI6OlNMZXNzVGhhbk9yRXF1YWxJMzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBM
ZXNzVGhhbk9yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpVTGVzc1RoYW5PckVxdWFsSTMyOgorICAgICAgICAgICAgY29uZGl0aW9u
ID0gQmVsb3dPckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9w
RXhwcmVzc2lvbkkzMjo6U0dyZWF0ZXJUaGFuSTMyOgorICAgICAgICAgICAgY29uZGl0aW9uID0g
R3JlYXRlclRoYW47CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpVR3JlYXRlclRoYW5JMzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBBYm92
ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6
OlNHcmVhdGVyVGhhbk9yRXF1YWxJMzI6CisgICAgICAgICAgICBjb25kaXRpb24gPSBHcmVhdGVy
VGhhbk9yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpVR3JlYXRlclRoYW5PckVxdWFsSTMyOgorICAgICAgICAgICAgY29uZGl0aW9u
ID0gQWJvdmVPckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAg
ICAgIGNvbXBhcmUzMihjb25kaXRpb24sIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwg
R1BSSW5mbzo6cmVnVDApOworICAgICAgICBtX3RlbXBTdGFja1RvcC0tOworICAgICAgICBzdG9y
ZTMyKEdQUkluZm86OnJlZ1QwLCB0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMSkp
OworICAgICAgICByZXR1cm4gVU5VU0VEOworICAgIH0KKwogcHJpdmF0ZToKICAgICB1bmlvbiBT
dGFja1Nsb3QgewogICAgICAgICBpbnQzMl90IGludFZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKaW5kZXggYjg1ZWUyNTViYTA3
M2I4OTIxYzI1MjQyMzlkMGI2Y2U4MGNjMDFkMS4uZmFiMmViNDI4MDdiMWQ2YmVjNzU5NjFhMTZm
YmE1YzYzMzA2MDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FT
TUZ1bmN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25QYXJzZXIuY3BwCkBAIC00MzcsNiArNDM3LDE3IEBAIENvbnRleHRFeHByZXNzaW9u
IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQp
CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01vZDoKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpVTW9kOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5
RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkkzMjo6RXF1YWxJMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Tm90RXF1
YWxJMzI6CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0xlc3NUaGFuSTMyOgor
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVMZXNzVGhhbkkzMjoKKyAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTGVzc1RoYW5PckVxdWFsSTMyOgorICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVMZXNzVGhhbk9yRXF1YWxJMzI6CisgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U0dyZWF0ZXJUaGFuSTMyOgorICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25JMzI6OlVHcmVhdGVyVGhhbkkzMjoKKyAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpTR3JlYXRlclRoYW5PckVxdWFsSTMyOgorICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25JMzI6OlVHcmVhdGVyVGhhbk9yRXF1YWxJMzI6CisgICAgICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGlvbmFsSTMyRXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7CiAgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6R2V0R2xvYmFsOgogICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25JMzI6OlNldExvY2FsOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25J
MzI6OlNldEdsb2JhbDoKQEAgLTQ3NCwyNiArNDg1LDE2IEBAIENvbnRleHRFeHByZXNzaW9uIFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiAg
ICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6TG9naWNhbFJpZ2h0U2hpZnQ6CiAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q291bnRMZWFkaW5nWmVyb3M6CiAgICAgICAg
IGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6TG9naWNhbE5vdDoKLSAgICAgICAgY2FzZSBXQVNN
T3BFeHByZXNzaW9uSTMyOjpFcXVhbEkzMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
STMyOjpFcXVhbEYzMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpFcXVhbEY2
NDoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpOb3RFcXVhbEkzMjoKICAgICAg
ICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpOb3RFcXVhbEYzMjoKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpOb3RFcXVhbEY2NDoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpTTGVzc1RoYW5JMzI6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkz
Mjo6VUxlc3NUaGFuSTMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6Okxlc3NU
aGFuRjMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6Okxlc3NUaGFuRjY0Ogot
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNMZXNzVGhhbk9yRXF1YWxJMzI6Ci0g
ICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VUxlc3NUaGFuT3JFcXVhbEkzMjoKICAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpMZXNzVGhhbk9yRXF1YWxGMzI6CiAgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6TGVzc1RoYW5PckVxdWFsRjY0OgotICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNHcmVhdGVyVGhhbkkzMjoKLSAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVR3JlYXRlclRoYW5JMzI6CiAgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkkzMjo6R3JlYXRlclRoYW5GMzI6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6R3JlYXRlclRoYW5GNjQ6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkkzMjo6U0dyZWF0ZXJUaGFuT3JFcXVhbEkzMjoKLSAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNz
aW9uSTMyOjpVR3JlYXRlclRoYW5PckVxdWFsSTMyOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJl
c3Npb25JMzI6OkdyZWF0ZXJUaGFuT3JFcXVhbEYzMjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uSTMyOjpHcmVhdGVyVGhhbk9yRXF1YWxGNjQ6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6U01pbjoKQEAgLTU3Niw2ICs1NzcsMTYgQEAgQ29udGV4dEV4cHJlc3Npb24g
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUJpbmFyeUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29u
dGV4dCwKICAgICByZXR1cm4gY29udGV4dC5idWlsZEJpbmFyeUkzMihsZWZ0LCByaWdodCwgb3Ap
OwogfQogCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VSZWxhdGlvbmFsSTMyRXhwcmVzc2lvbkkzMihDb250ZXh0JiBj
b250ZXh0LCBXQVNNT3BFeHByZXNzaW9uSTMyIG9wKQoreworICAgIENvbnRleHRFeHByZXNzaW9u
IGxlZnQgPSBwYXJzZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9S
KCk7CisgICAgQ29udGV4dEV4cHJlc3Npb24gcmlnaHQgPSBwYXJzZUV4cHJlc3Npb25JMzIoY29u
dGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgcmV0dXJuIGNvbnRleHQuYnVpbGRS
ZWxhdGlvbmFsSTMyKGxlZnQsIHJpZ2h0LCBvcCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQkFTU0VNQkxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAppbmRleCAzZTczNjQ3ODcyZmY3OGI2ODc1MGFk
NWQ2NTNhODdiOWIwNjcyZTA0Li4yNjljZjMxZWU3YTgyYTcwMTE3YTg1YjAzY2FjNWI0M2FjZjJk
MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Q
YXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJz
ZXIuaApAQCAtODUsNiArODUsNyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUdldExvY2FsRXhwcmVzc2lvbkkzMihDb250ZXh0
JiwgdWludDMyX3QgbG9jYWxJbmRleCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENv
bnRleHRFeHByZXNzaW9uIHBhcnNlR2V0TG9jYWxFeHByZXNzaW9uSTMyKENvbnRleHQmKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VCaW5hcnlF
eHByZXNzaW9uSTMyKENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uSTMyKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VSZWxhdGlvbmFsSTMyRXhw
cmVzc2lvbkkzMihDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkkzMik7CiAKICAgICBKU1dBU01N
b2R1bGUqIG1fbW9kdWxlOwogICAgIFdBU01SZWFkZXIgbV9yZWFkZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmgKaW5k
ZXggYWY2OWRhZjFiMmMzMjE0ZjY1NDZhZWUwNjdmZDI0NWJlMzg0ZjBkNy4uNTE5ODU1M2U0Mzgw
NDE3NTIyMTcxZGE4YjY2Y2ExY2VlN2NhMGM0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaApAQCAtNzgsNiArNzgs
MTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAorICAgIGludCBi
dWlsZFJlbGF0aW9uYWxJMzIoaW50LCBpbnQsIFdBU01PcEV4cHJlc3Npb25JMzIpCisgICAgewor
ICAgICAgICBtX3RlbXBTdGFja1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOworICAgIH0K
KwogICAgIHVuc2lnbmVkIHN0YWNrSGVpZ2h0KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX251
bWJlck9mTG9jYWxzICsgbV90ZW1wU3RhY2tIZWlnaHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>