<?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>137020</bug_id>
          
          <creation_ts>2014-09-23 04:27:26 -0700</creation_ts>
          <short_desc>[CLoop] - Fix CLoop on the 32-bit Big-Endians</short_desc>
          <delta_ts>2015-05-20 18:15:18 -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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fabien.coeurjoly</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>tobias.netzel</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1036696</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-09-23 04:27:26 -0700</bug_when>
    <thetext>The LLInt CLoop crashes on various places on 32-bit Big-Endians.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036698</commentid>
    <comment_count>1</comment_count>
      <attachid>238528</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-09-23 04:30:47 -0700</bug_when>
    <thetext>Created attachment 238528
Patch

Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036795</commentid>
    <comment_count>2</comment_count>
      <attachid>238528</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-09-23 12:45:40 -0700</bug_when>
    <thetext>Comment on attachment 238528
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036814</commentid>
    <comment_count>3</comment_count>
      <attachid>238528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 13:21:58 -0700</bug_when>
    <thetext>Comment on attachment 238528
Patch

Clearing flags on attachment: 238528

Committed r173886: &lt;http://trac.webkit.org/changeset/173886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036815</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-23 13:22:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076099</commentid>
    <comment_count>5</comment_count>
    <who name="Tobias Netzel">tobias.netzel</who>
    <bug_when>2015-03-10 15:10:49 -0700</bug_when>
    <thetext>*** Bug 103128 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079146</commentid>
    <comment_count>6</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2015-03-22 06:36:49 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; The LLInt CLoop crashes on various places on 32-bit Big-Endians.

Hey Tomas, this seems to affect the 2.4 branch of WebkitGTK, however the patch
does not apply cleanly.

In particular these changes:

http://trac.webkit.org/changeset/173886/trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

They don&apos;t apply because the code in the 2.4 branch does not include the patch written for bug 136894 ( http://trac.webkit.org/changeset/173706 ).

I&apos;m not familiar with that code, do you know if it&apos;s possible to port the patch easily?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079151</commentid>
    <comment_count>7</comment_count>
      <attachid>249198</attachid>
    <who name="Tobias Netzel">tobias.netzel</who>
    <bug_when>2015-03-22 09:19:07 -0700</bug_when>
    <thetext>Created attachment 249198
Patch against 538.15, which was the base for the 2.4 branch of WebkitGTK

(In reply to comment #6)
This attached patch was what I had in place when 538.15 was current, which was the base for the WebkitGTK 2.4 branch.
You&apos;ll only need the FOUR_BYTE_BOOL changes if your target OS ABI specifies 32 bits for bools.
The YarrJIT big endian changes are only useful in case you&apos;ve got a MacroAssembler implementation as well.

I&apos;m not sure whether this patch made it work 100%; you should test and in case you&apos;ve got further difficulties you could send me an e-mail.
I&apos;ve made big endian C Loop patches against most Safari version tags until 600.5.x as part of working on a PowerPC OS X fork.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079236</commentid>
    <comment_count>8</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2015-03-23 00:20:35 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #0)
&gt; &gt; The LLInt CLoop crashes on various places on 32-bit Big-Endians.
&gt; 
&gt; Hey Tomas, this seems to affect the 2.4 branch of WebkitGTK, however the
&gt; patch
&gt; does not apply cleanly.
&gt; 
&gt; In particular these changes:
&gt; 
&gt; http://trac.webkit.org/changeset/173886/trunk/Source/JavaScriptCore/llint/
&gt; LowLevelInterpreter32_64.asm
&gt; 
&gt; They don&apos;t apply because the code in the 2.4 branch does not include the
&gt; patch written for bug 136894 ( http://trac.webkit.org/changeset/173706 ).
&gt; 
&gt; I&apos;m not familiar with that code, do you know if it&apos;s possible to port the
&gt; patch easily?

Hi Berto,
please look at our Fedora webkitgtk3 package[0]. With patches that are there the CLoop is working on PPC(64)(LE) and S390(X).

[0] - http://pkgs.fedoraproject.org/cgit/webkitgtk3.git/tree/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079546</commentid>
    <comment_count>9</comment_count>
      <attachid>238528</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-03-23 21:29:44 -0700</bug_when>
    <thetext>Comment on attachment 238528
Patch

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

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:540
&gt; -    loadp Callee[cfr], targetRegister
&gt; +    if JSVALUE64
&gt; +        loadp Callee[cfr], targetRegister
&gt; +    else
&gt; +        loadp Callee + PayloadOffset[cfr], targetRegister
&gt; +    end

I’m thinking that for 64-bit, PayloadOffset will always be 0 anyway.  Hence, this change should not be needed.  Is that not the case?

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:550
&gt; -    loadp Callee[cfr], targetRegister
&gt; +    if JSVALUE64
&gt; +        loadp Callee[cfr], targetRegister
&gt; +    else
&gt; +        loadp Callee + PayloadOffset[cfr], targetRegister
&gt; +    end

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079550</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-03-23 21:35:01 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 238528 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=238528&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:540
&gt; &gt; -    loadp Callee[cfr], targetRegister
&gt; &gt; +    if JSVALUE64
&gt; &gt; +        loadp Callee[cfr], targetRegister
&gt; &gt; +    else
&gt; &gt; +        loadp Callee + PayloadOffset[cfr], targetRegister
&gt; &gt; +    end
&gt; 
&gt; I’m thinking that for 64-bit, PayloadOffset will always be 0 anyway.  Hence,
&gt; this change should not be needed.  Is that not the case?

Nope, PayloadOffset is non-zero in 64-bit.  We use it to mean the following in 64-bit: if you stored a JSValue containing an int32, then what is the offset of the int32?

However, this change is really dirty and I object to the approach.  I recommend having a CellOffset defined, whose meaning is: PayloadOffset on 32-bit and 0 on 64-bit.  I believe that I&apos;ve made a similar comment on a related bug.

&gt; 
&gt; &gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:550
&gt; &gt; -    loadp Callee[cfr], targetRegister
&gt; &gt; +    if JSVALUE64
&gt; &gt; +        loadp Callee[cfr], targetRegister
&gt; &gt; +    else
&gt; &gt; +        loadp Callee + PayloadOffset[cfr], targetRegister
&gt; &gt; +    end
&gt; 
&gt; Ditto.

Ditto from my end.  Instead of adding &quot;if&quot;&apos;s everywhere, just abstract what you&apos;re really after: the CellOffset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079600</commentid>
    <comment_count>11</comment_count>
    <who name="Tobias Netzel">tobias.netzel</who>
    <bug_when>2015-03-24 06:35:21 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; However, this change is really dirty and I object to the approach.  I
&gt; recommend having a CellOffset defined, whose meaning is: PayloadOffset on
&gt; 32-bit and 0 on 64-bit.  I believe that I&apos;ve made a similar comment on a
&gt; related bug.

Yes, that was bug 103128 which I marked as a duplicate of this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094452</commentid>
    <comment_count>12</comment_count>
    <who name="">fabien.coeurjoly</who>
    <bug_when>2015-05-13 02:21:04 -0700</bug_when>
    <thetext>CLoop seems to be broken again in current trunk on 32bits bigendian architectures (at least it is in r183644).

I didn&apos;t have time to track WebKit changes during the last months, but i notice there was a related fix in r173886, though i don&apos;t know if it had been tested. In any case, either that fix wasn&apos;t enough, or something broke it since.

Tobias, any idea? I know you&apos;re already quite busy and somewhat stucked with 600.x branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095859</commentid>
    <comment_count>13</comment_count>
    <who name="">fabien.coeurjoly</who>
    <bug_when>2015-05-19 00:13:15 -0700</bug_when>
    <thetext>Can this ticket be reopened or should a new one be created?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095864</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-19 00:24:55 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Can this ticket be reopened or should a new one be created?

If it’s new issue, open a new bug.  If the fix for this bug was ineffective, then reopen this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095874</commentid>
    <comment_count>15</comment_count>
    <who name="">fabien.coeurjoly</who>
    <bug_when>2015-05-19 01:12:31 -0700</bug_when>
    <thetext>The fix might have been effective in r173xxx, but it&apos;s not anymore. Cloop is broken again on 32 bits bigendian platforms.

Since I don&apos;t have permissions to reopen this bug, can someone do it for me? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096423</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-05-20 18:15:18 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; The fix might have been effective in r173xxx, but it&apos;s not anymore. Cloop is
&gt; broken again on 32 bits bigendian platforms.
&gt; 
&gt; Since I don&apos;t have permissions to reopen this bug, can someone do it for me?
&gt; Thanks!

It sounds like there’s a new issue though it may pertain to endianness.  Please go ahead and open a new bug.  Please cc me so that I can keep an eye on it as well.  Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238528</attachid>
            <date>2014-09-23 04:30:47 -0700</date>
            <delta_ts>2014-09-23 13:21:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137020-20140923133045.patch</filename>
            <type>text/plain</type>
            <size>4152</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDM5NDliYmM4YzgzYzEzOTE2ODcxYzhjZjQ2NTRkMjRkNDY5YjU0Li40NDg3MzJjYmYzNWJmMzA3
N2JkZDJjNjQxMDk4NzQ4NWM3ZGY0YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNC0wOS0yMyAgVG9tYXMgUG9wZWxhICA8dHBvcGVsYUByZWRoYXQuY29t
PgorCisgICAgICAgIFtDTG9vcF0gLSBGaXggQ0xvb3Agb24gdGhlIDMyLWJpdCBCaWctRW5kaWFu
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MDIw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVy
cHJldGVyMzJfNjQuYXNtOgorCiAyMDE0LTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgRlRMIGFsbG9jYXRlUHJvcGVydHlTdG9yYWdlIGNvZGUgc2hvdWxk
IGludm9sdmUgbGVzcyBjb3B5LXBhc3RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZjM5M2VmZjJiOGRiZjk3NzA3Zjhk
MzBiNDMwOTljZDA4NzNjZGMxMC4uMTM5NDRiNjM4ZjZjNjQzY2VhYjZkMzk3YjQyOTQ1MDM5YmNi
YzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbQpAQCAtNTMzLDEzICs1MzMsMjEgQEAgbWFjcm8gYXNzZXJ0Tm90Q29uc3Rh
bnQoaW5kZXgpCiBlbmQKIAogbWFjcm8gZnVuY3Rpb25Gb3JDYWxsQ29kZUJsb2NrR2V0dGVyKHRh
cmdldFJlZ2lzdGVyKQotICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0YXJnZXRSZWdpc3RlcgorICAg
IGlmIEpTVkFMVUU2NAorICAgICAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIK
KyAgICBlbHNlCisgICAgICAgIGxvYWRwIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdGFy
Z2V0UmVnaXN0ZXIKKyAgICBlbmQKICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVb
dGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgogICAgIGxvYWRwIEZ1bmN0aW9uRXhlY3V0
YWJsZTo6bV9jb2RlQmxvY2tGb3JDYWxsW3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIK
IGVuZAogCiBtYWNybyBmdW5jdGlvbkZvckNvbnN0cnVjdENvZGVCbG9ja0dldHRlcih0YXJnZXRS
ZWdpc3RlcikKLSAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKKyAgICBpZiBK
U1ZBTFVFNjQKKyAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRhcmdldFJlZ2lzdGVyCisgICAg
ZWxzZQorICAgICAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHRhcmdldFJl
Z2lzdGVyCisgICAgZW5kCiAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3Rhcmdl
dFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIKICAgICBsb2FkcCBGdW5jdGlvbkV4ZWN1dGFibGU6
Om1fY29kZUJsb2NrRm9yQ29uc3RydWN0W3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIK
IGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCBiYjBhNzk3OTNjN2M5MjdjYzM5NTFjNTNmNzIzZjBl
ZTdiMTg5NDY4Li5hM2VhNTViODhmMTEzMGYxNjY5ZTk0MjQ3YzViZmU5ZjFjNzIxZTcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbQpAQCAtMzkyLDcgKzM5Miw3IEBAIF9oYW5kbGVVbmNhdWdodEV4Y2VwdGlv
bjoKICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10s
IHQzCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3QzXSwgY2ZyCiAKLSAgICBsb2Fk
cCBDYWxsZXJGcmFtZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgY2ZyCisgICAgbG9hZHAgQ2FsbGVy
RnJhbWVbY2ZyXSwgY2ZyCiAKICAgICBpZiBBUk12NwogICAgICAgICB2bUVudHJ5UmVjb3JkKGNm
ciwgdDMpCkBAIC02ODksNyArNjg5LDcgQEAgbWFjcm8gZnVuY3Rpb25Bcml0eUNoZWNrKGRvbmVM
YWJlbCwgc2xvd1BhdGgpCiBlbmQKIAogbWFjcm8gYnJhbmNoSWZFeGNlcHRpb24obGFiZWwpCi0g
ICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCisgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNl
dFtjZnJdLCB0MwogICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MwogICAgIGxvYWRwIE1hcmtl
ZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKICAgICBiaWVxIFZNOjpt
X2V4Y2VwdGlvbiArIFRhZ09mZnNldFt0M10sIEVtcHR5VmFsdWVUYWcsIC5ub0V4Y2VwdGlvbgpA
QCAtMjEzNiw3ICsyMTM2LDcgQEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJs
ZU9mZnNldFRvRnVuY3Rpb24pCiAgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJs
ZVt0MV0sIHQxCiAgICAgICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQw
MDAxKQogICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQotICAgICAg
ICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDMKKyAgICAgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9m
ZnNldFtjZnJdLCB0MwogICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAg
bG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwogICAg
ICAgICBhZGRwIDgsIHNwCkBAIC0yMTU5LDcgKzIxNTksNyBAQCBtYWNybyBuYXRpdmVDYWxsVHJh
bXBvbGluZShleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KICAgICAgICAgZW5kCi0g
ICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MworICAgICAgICBsb2FkcCBDYWxsZWUgKyBQYXls
b2FkT2Zmc2V0W2Nmcl0sIHQzCiAgICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MwogICAg
ICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQz
CiAgICAgICAgIGFkZHAgOCwgc3AKQEAgLTIxOTcsNyArMjE5Nyw3IEBAIG1hY3JvIHJlc29sdmVT
Y29wZSgpCiAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCiAgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDQsIHQyKQogCi0gICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MAorICAgIGxvYWRw
IFNjb3BlQ2hhaW4gKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQwCiAgICAgYnRpeiB0MiwgLnJlc29s
dmVTY29wZUxvb3BFbmQKIAogLnJlc29sdmVTY29wZUxvb3A6CkBAIC0yMjU2LDcgKzIyNTYsNyBA
QCBfbGxpbnRfb3BfcmVzb2x2ZV9zY29wZToKIAogbWFjcm8gbG9hZFdpdGhTdHJ1Y3R1cmVDaGVj
ayhvcGVyYW5kLCBzbG93UGF0aCkKICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwg
dDApCi0gICAgbG9hZHAgW2NmciwgdDAsIDhdLCB0MAorICAgIGxvYWRwIFBheWxvYWRPZmZzZXRb
Y2ZyLCB0MCwgOF0sIHQwCiAgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDEpCiAgICAgYnBu
ZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDEsIHNsb3dQYXRoCiBlbmQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249198</attachid>
            <date>2015-03-22 09:19:07 -0700</date>
            <delta_ts>2015-03-22 09:19:07 -0700</delta_ts>
            <desc>Patch against 538.15, which was the base for the 2.4 branch of WebkitGTK</desc>
            <filename>JavaScriptCore_538.15.diff</filename>
            <type>text/plain</type>
            <size>15773</size>
            <attacher name="Tobias Netzel">tobias.netzel</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CmRpZmYgLS1naXQgYS90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oIGIvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAotLS0gYS90YWdzL1NhZmFyaS01
MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5oCShSZXZp
c2lvbiAxNjgwOTMpCisrKyBiL3RhZ3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTI3Myw3ICsyNzMs
NyBAQAogICAgICAgICBDYWxsRnJhbWUqIHZtRW50cnlTZW50aW5lbENhbGxlckZyYW1lKCkgY29u
c3QKICAgICAgICAgewogICAgICAgICAgICAgQVNTRVJUKGlzVk1FbnRyeVNlbnRpbmVsKCkpOwot
ICAgICAgICAgICAgcmV0dXJuIHRoaXNbSlNTdGFjazo6U2NvcGVDaGFpbl0uY2FsbEZyYW1lKCk7
CisgICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxDYWxsRnJhbWUqPih0aGlzW0pT
U3RhY2s6OlNjb3BlQ2hhaW5dLnBheWxvYWQoKSk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lk
IGluaXRpYWxpemVWTUVudHJ5U2VudGluZWxGcmFtZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAg
LTI4MSw3ICsyODEsNyBAQAogICAgICAgICAgICAgc2V0Q2FsbGVyRnJhbWUobm9DYWxsZXIoKSk7
CiAgICAgICAgICAgICBzZXRSZXR1cm5QQygwKTsKICAgICAgICAgICAgIHNldENvZGVCbG9jayh2
bUVudHJ5U2VudGluZWxDb2RlQmxvY2soKSk7Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxSZWdp
c3Rlcio+KHRoaXMpW0pTU3RhY2s6OlNjb3BlQ2hhaW5dID0gY2FsbEZyYW1lOworICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8UmVnaXN0ZXIqPih0aGlzKVtKU1N0YWNrOjpTY29wZUNoYWluXS5wYXls
b2FkKCkgPSByZWludGVycHJldF9jYXN0PGludDMyX3Q+KGNhbGxGcmFtZSk7CiAgICAgICAgICAg
ICBzZXRDYWxsZWUoMCk7CiAgICAgICAgICAgICBzZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cygwKTsKICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2ZmbGluZUFzbUNvbmZpZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL3RhZ3MvU2FmYXJpLTUz
OC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgg
Yi90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2Zm
bGluZUFzbUNvbmZpZy5oCi0tLSBhL3RhZ3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKFJldmlzaW9uIDE2ODA5MykKKysr
IGIvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9m
ZmxpbmVBc21Db25maWcuaAkoQXJiZWl0c2tvcGllKQpAQCAtMTU0LDQgKzE2MSwxMCBAQAogI2Rl
ZmluZSBPRkZMSU5FX0FTTV9HR0MgMAogI2VuZGlmCiAKKyNpZiBPUyhEQVJXSU4pICYmIENQVShQ
UEMpCisjZGVmaW5lIE9GRkxJTkVfQVNNX0ZPVVJfQllURV9CT09MIDEKKyNlbHNlCisjZGVmaW5l
IE9GRkxJTkVfQVNNX0ZPVVJfQllURV9CT09MIDAKKyNlbmRpZgorCiAjZW5kaWYgLy8gTExJbnRP
ZmZsaW5lQXNtQ29uZmlnX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS90YWdzL1NhZmFyaS01
MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
IGIvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQotLS0gYS90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCShSZXZpc2lvbiAxNjgwOTMpCisr
KyBiL3RhZ3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20JKEFyYmVpdHNrb3BpZSkKQEAgLTEzNCw2ICsxMzQsMTEgQEAKICAg
ICBjb25zdCBUYWdPZmZzZXQgPSA0CiAgICAgY29uc3QgUGF5bG9hZE9mZnNldCA9IDAKIGVuZAor
aWYgSlNWQUxVRTY0CisgICAgY29uc3QgQ2VsbE9mZnNldCA9IDAKK2Vsc2UKKyAgICBjb25zdCBD
ZWxsT2Zmc2V0ID0gUGF5bG9hZE9mZnNldAorZW5kCiAKICMgQ29uc3RhbnQgZm9yIHJlYXNvbmlu
ZyBhYm91dCBidXR0ZXJmbGllcy4KIGNvbnN0IElzQXJyYXkgICAgICAgICAgICAgICAgICA9IDEK
QEAgLTQ0OSwxMyArNDU0LDEzIEBACiBlbmQKIAogbWFjcm8gZnVuY3Rpb25Gb3JDYWxsQ29kZUJs
b2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyKQotICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0YXJnZXRS
ZWdpc3RlcgorICAgIGxvYWRwIENhbGxlZSArIENlbGxPZmZzZXRbY2ZyXSwgdGFyZ2V0UmVnaXN0
ZXIKICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdGFyZ2V0UmVnaXN0ZXJdLCB0
YXJnZXRSZWdpc3RlcgogICAgIGxvYWRwIEZ1bmN0aW9uRXhlY3V0YWJsZTo6bV9jb2RlQmxvY2tG
b3JDYWxsW3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIKIGVuZAogCiBtYWNybyBmdW5j
dGlvbkZvckNvbnN0cnVjdENvZGVCbG9ja0dldHRlcih0YXJnZXRSZWdpc3RlcikKLSAgICBsb2Fk
cCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKKyAgICBsb2FkcCBDYWxsZWUgKyBDZWxsT2Zm
c2V0W2Nmcl0sIHRhcmdldFJlZ2lzdGVyCiAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRh
YmxlW3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIKICAgICBsb2FkcCBGdW5jdGlvbkV4
ZWN1dGFibGU6Om1fY29kZUJsb2NrRm9yQ29uc3RydWN0W3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0
UmVnaXN0ZXIKIGVuZApAQCAtOTEzLDcgKzkxOCwxMSBAQAogICAgIHRyYWNlRXhlY3V0aW9uKCkK
ICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1b
dDFdLCB0MQotICAgIGxvYWRiIFZNOjp3YXRjaGRvZytXYXRjaGRvZzo6bV90aW1lckRpZEZpcmVb
dDFdLCB0MAorICAgIGlmIEZPVVJfQllURV9CT09MCisgICAgICAgIGxvYWRpIFZNOjp3YXRjaGRv
ZytXYXRjaGRvZzo6bV90aW1lckRpZEZpcmVbdDFdLCB0MAorICAgIGVsc2UKKyAgICAgICAgbG9h
ZGIgVk06OndhdGNoZG9nK1dhdGNoZG9nOjptX3RpbWVyRGlkRmlyZVt0MV0sIHQwCisgICAgZW5k
CiAgICAgYnRibnogdDAsIC5oYW5kbGVXYXRjaGRvZ1RpbWVyCiAuYWZ0ZXJXYXRjaGRvZ1RpbWVy
Q2hlY2s6CiAgICAgY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpk
aWZmIC0tZ2l0IGEvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCi0tLSBh
L3RhZ3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQkoUmV2aXNpb24gMTY4MDkzKQorKysgYi90YWdzL1NhZmFyaS01
MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82
NC5hc20JKEFyYmVpdHNrb3BpZSkKQEAgLTIxMiwxMCArMjEyLDEwIEBACiAgICAgIyBzZW50aW5l
bCBmcmFtZS4KICAgICBtb3ZlIHNwLCBjZnIKICAgICBzdWJwIENhbGxGcmFtZUhlYWRlclNsb3Rz
ICogOCwgY2ZyCi0gICAgc3RvcmVwIDAsIEFyZ3VtZW50Q291bnRbY2ZyXQotICAgIHN0b3JlcCB2
bSwgQ2FsbGVlW2Nmcl0KKyAgICBzdG9yZXAgMCwgQXJndW1lbnRDb3VudCArIFBheWxvYWRPZmZz
ZXRbY2ZyXQorICAgIHN0b3JlcCB2bSwgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdCiAgICAg
bG9hZHAgVk06OnRvcENhbGxGcmFtZVt2bV0sIHRlbXAyCi0gICAgc3RvcmVwIHRlbXAyLCBTY29w
ZUNoYWluW2Nmcl0KKyAgICBzdG9yZXAgdGVtcDIsIFNjb3BlQ2hhaW4gKyBQYXlsb2FkT2Zmc2V0
W2Nmcl0KICAgICBzdG9yZXAgMSwgQ29kZUJsb2NrW2Nmcl0KICAgICBpZiBYODYKICAgICAgICAg
bG9hZHAgMjhbc3BdLCBwcmV2aW91c1BDCkBAIC0yNzAsNyArMjcwLDcgQEAKICAgICBzdG9yZWkg
dGVtcDMsIFBheWxvYWRPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQogICAgIGJ0aW56
IHRlbXAxLCAuY29weUhlYWRlckxvb3AKIAotICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjphcmdD
b3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCisgICAgbG9hZGkg
UHJvdG9DYWxsRnJhbWU6OmFyZ0NvdW50QW5kQ29kZU9yaWdpblZhbHVlICsgUGF5bG9hZE9mZnNl
dFtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCiAgICAgc3ViaSAxLCB0ZW1wMgogICAgIGxvYWRpIFBy
b3RvQ2FsbEZyYW1lOjpwYWRkZWRBcmdDb3VudFtwcm90b0NhbGxGcmFtZV0sIHRlbXAzCiAgICAg
c3ViaSAxLCB0ZW1wMwpAQCAtMzAzLDggKzMwMyw4IEBACiAgICAgbG9hZHAgQ2FsbGVyRnJhbWVb
Y2ZyXSwgY2ZyCiAKIC5jYWxsZWVGcmFtZVBvcHBlZDoKLSAgICBsb2FkcCBDYWxsZWVbY2ZyXSwg
dGVtcDMgIyBWTQotICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdGVtcDQgIyBwcmV2aW91cyB0
b3BDYWxsRnJhbWUKKyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHRlbXAz
ICMgVk0KKyAgICBsb2FkcCBTY29wZUNoYWluICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0ZW1wNCAj
IHByZXZpb3VzIHRvcENhbGxGcmFtZQogICAgIHN0b3JlcCB0ZW1wNCwgVk06OnRvcENhbGxGcmFt
ZVt0ZW1wM10KIAogICAgIGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZSgpCkBAIC0zNjEsNyArMzYx
LDcgQEAKICAgICAjIFNvIGZhciwgd2UndmUgdW53b3VuZCB0aGUgc3RhY2sgdG8gdGhlIGZyYW1l
IGp1c3QgYmVsb3cgdGhlIHNlbnRpbmVsIGZyYW1lLgogICAgICMgV2UgbmVlZCB0byBwb3AgdG8g
dGhlIHNlbnRpbmVsIGZyYW1lIGFuZCBkbyB0aGUgbmVjZXNzYXJ5IGNsZWFuIHVwIGZvcgogICAg
ICMgcmV0dXJuaW5nIHRvIHRoZSBjYWxsZXIgQyBmcmFtZS4KLSAgICBsb2FkcCBDYWxsZXJGcmFt
ZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgY2ZyCisgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwg
Y2ZyCiAKICAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQzICMgVk0KICAg
ICBsb2FkcCBTY29wZUNoYWluICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0NSAjIHByZXZpb3VzIHRv
cENhbGxGcmFtZQpAQCAtNjMzLDcgKzYzMyw3IEBACiBlbmQKIAogbWFjcm8gYnJhbmNoSWZFeGNl
cHRpb24obGFiZWwpCi0gICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MworICAgIGxvYWRwIFNj
b3BlQ2hhaW4gKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCiAgICAgYW5kcCBNYXJrZWRCbG9ja01h
c2ssIHQzCiAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1b
dDNdLCB0MwogICAgIGJpZXEgVk06Om1fZXhjZXB0aW9uICsgVGFnT2Zmc2V0W3QzXSwgRW1wdHlW
YWx1ZVRhZywgLm5vRXhjZXB0aW9uCkBAIC0xNTY3LDcgKzE1NjcsMTEgQEAKIAogLm9wR2V0QnlW
YWxPdXRPZkJvdW5kczoKICAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MCkKLSAgICBzdG9y
ZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRzW3QwXQorICAgIGlmIEZPVVJfQllURV9C
T09MCisgICAgICAgIHN0b3JlaSAxLCBBcnJheVByb2ZpbGU6Om1fb3V0T2ZCb3VuZHNbdDBdCisg
ICAgZWxzZQorICAgICAgICBzdG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRzW3Qw
XQorICAgIGVuZAogLm9wR2V0QnlWYWxTbG93OgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9ieV92YWwpCiAgICAgZGlzcGF0Y2goNikKQEAgLTE2MTAsNyArMTYxNCw3IEBA
CiAgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVyZVt0Ml0sIHQwCiAgICAgYnBuZXEgdDAsIEpT
UHJvcGVydHlOYW1lSXRlcmF0b3I6Om1fY2FjaGVkU3RydWN0dXJlW3QzXSwgLm9wR2V0QnlQbmFt
ZVNsb3cKICAgICBsb2FkaSAyNFtQQ10sIHQwCi0gICAgbG9hZGkgW2NmciwgdDAsIDhdLCB0MAor
ICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQwCiAgICAgc3ViaSAxLCB0MAog
ICAgIGJpYWVxIHQwLCBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjptX251bUNhY2hlYWJsZVNsb3Rz
W3QzXSwgLm9wR2V0QnlQbmFtZVNsb3cKICAgICBiaWx0IHQwLCBKU1Byb3BlcnR5TmFtZUl0ZXJh
dG9yOjptX2NhY2hlZFN0cnVjdHVyZUlubGluZUNhcGFjaXR5W3QzXSwgLm9wR2V0QnlQbmFtZUlu
bGluZVByb3BlcnR5CkBAIC0xNjM4LDcgKzE2NDIsMTEgQEAKIC5vdXRPZkJvdW5kczoKICAgICBi
aWFlcSB0MywgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0
aHMudmVjdG9yTGVuZ3RoW3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5kcwogICAgIGxvYWRwIDE2
W1BDXSwgdDIKLSAgICBzdG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX21heVN0b3JlVG9Ib2xlW3Qy
XQorICAgIGlmIEZPVVJfQllURV9CT09MCisgICAgICAgIHN0b3JlaSAxLCBBcnJheVByb2ZpbGU6
Om1fbWF5U3RvcmVUb0hvbGVbdDJdCisgICAgZWxzZQorICAgICAgICBzdG9yZWIgMSwgQXJyYXlQ
cm9maWxlOjptX21heVN0b3JlVG9Ib2xlW3QyXQorICAgIGVuZAogICAgIGFkZGkgMSwgdDMsIHQy
CiAgICAgc3RvcmVpIHQyLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6
OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhbdDBdCiAgICAgam1wIC5zdG9yZVJlc3VsdApAQCAtMTcw
NSw3ICsxNzEzLDExIEBACiAKIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1wdHk6CiAgICAgbG9h
ZHAgMTZbUENdLCB0MQotICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hv
bGVbdDFdCisgICAgaWYgRk9VUl9CWVRFX0JPT0wKKyAgICAgICAgc3RvcmVpIDEsIEFycmF5UHJv
ZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0MV0KKyAgICBlbHNlCisgICAgICAgIHN0b3JlYiAxLCBB
cnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hvbGVbdDFdCisgICAgZW5kCiAgICAgYWRkaSAxLCBB
cnJheVN0b3JhZ2U6Om1fbnVtVmFsdWVzSW5WZWN0b3JbdDBdCiAgICAgYmliIHQzLCAtc2l6ZW9m
IEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhb
dDBdLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0CiAgICAgYWRkaSAxLCB0Mywg
dDEKQEAgLTE3MTQsNyArMTcyNiwxMSBAQAogCiAub3BQdXRCeVZhbE91dE9mQm91bmRzOgogICAg
IGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQwKQotICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6
Om1fb3V0T2ZCb3VuZHNbdDBdCisgICAgaWYgRk9VUl9CWVRFX0JPT0wKKyAgICAgICAgc3RvcmVp
IDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJvdW5kc1t0MF0KKyAgICBlbHNlCisgICAgICAgIHN0
b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fb3V0T2ZCb3VuZHNbdDBdCisgICAgZW5kCiAub3BQdXRC
eVZhbFNsb3c6CiAgICAgY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIGRpc3BhdGNoKDUpCkBA
IC0yMDM3LDcgKzIwNTMsNyBAQAogICAgIGxvYWRpIDIwW1BDXSwgdDIKICAgICBsb2FkaSBQYXls
b2FkT2Zmc2V0W2NmciwgdDIsIDhdLCB0MgogICAgIGxvYWRwIEpTUHJvcGVydHlOYW1lSXRlcmF0
b3I6Om1fanNTdHJpbmdzW3QyXSwgdDMKLSAgICBsb2FkaSBbdDMsIHQwLCA4XSwgdDMKKyAgICBs
b2FkaSBQYXlsb2FkT2Zmc2V0W3QzLCB0MCwgOF0sIHQzCiAgICAgYWRkaSAxLCB0MAogICAgIHN0
b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XQogICAgIGxvYWRpIDRbUENdLCB0MQpA
QCAtMjEwNCw3ICsyMTIwLDExIEBACiAKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKICAg
ICBiaW5lcSBDb2RlQmxvY2s6Om1fY29kZVR5cGVbdDFdLCBGdW5jdGlvbkNvZGUsIC5sb29wCi0g
ICAgYnRieiBDb2RlQmxvY2s6Om1fbmVlZHNBY3RpdmF0aW9uW3QxXSwgLmxvb3AKKyAgICBpZiBG
T1VSX0JZVEVfQk9PTAorICAgICAgICBidGl6IENvZGVCbG9jazo6bV9uZWVkc0FjdGl2YXRpb25b
dDFdLCAubG9vcAorICAgIGVsc2UKKyAgICAgICAgYnRieiBDb2RlQmxvY2s6Om1fbmVlZHNBY3Rp
dmF0aW9uW3QxXSwgLmxvb3AKKyAgICBlbmQKIAogICAgIGxvYWRpIENvZGVCbG9jazo6bV9hY3Rp
dmF0aW9uUmVnaXN0ZXJbdDFdLCB0MQogCkBAIC0yMTcxLDcgKzIxOTEsNyBAQAogICAgICAgICBs
b2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdDFdLCB0MQogICAgICAgICBjaGVja1N0YWNr
UG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKICAgICAgICAgY2FsbCBleGVjdXRhYmxl
T2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0Mwor
ICAgICAgICBsb2FkcCBTY29wZUNoYWluICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MwogICAgICAg
ICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
d2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwogICAgICAgICBhZGRwIDgsIHNwCkBAIC0y
MTk0LDcgKzIyMTQsNyBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjYWxsIGV4ZWN1dGFi
bGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQogICAgICAgICBlbmQKLSAgICAgICAgbG9hZHAgU2NvcGVD
aGFpbltjZnJdLCB0MworICAgICAgICBsb2FkcCBTY29wZUNoYWluICsgUGF5bG9hZE9mZnNldFtj
ZnJdLCB0MwogICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAgbG9hZHAg
TWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwogICAgICAgICBh
ZGRwIDgsIHNwCkBAIC0yMjMxLDEzICsyMjUxLDE3IEBACiBtYWNybyByZXNvbHZlU2NvcGUoKQog
ICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0
LCB0MikKLSAgICBidGJ6IENvZGVCbG9jazo6bV9uZWVkc0FjdGl2YXRpb25bdDBdLCAucmVzb2x2
ZVNjb3BlQWZ0ZXJBY3RpdmF0aW9uQ2hlY2sKKyAgICBpZiBGT1VSX0JZVEVfQk9PTAorICAgICAg
ICBidGl6IENvZGVCbG9jazo6bV9uZWVkc0FjdGl2YXRpb25bdDBdLCAucmVzb2x2ZVNjb3BlQWZ0
ZXJBY3RpdmF0aW9uQ2hlY2sKKyAgICBlbHNlCisgICAgICAgIGJ0YnogQ29kZUJsb2NrOjptX25l
ZWRzQWN0aXZhdGlvblt0MF0sIC5yZXNvbHZlU2NvcGVBZnRlckFjdGl2YXRpb25DaGVjaworICAg
IGVuZAogICAgIGxvYWRpcyBDb2RlQmxvY2s6Om1fYWN0aXZhdGlvblJlZ2lzdGVyW3QwXSwgdDEK
ICAgICBidHB6IFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0sIC5yZXNvbHZlU2NvcGVBZnRlckFj
dGl2YXRpb25DaGVjawogICAgIGFkZGkgMSwgdDIKIAogLnJlc29sdmVTY29wZUFmdGVyQWN0aXZh
dGlvbkNoZWNrOgotICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDAKKyAgICBsb2FkcCBTY29w
ZUNoYWluICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MAogICAgIGJ0aXogdDIsIC5yZXNvbHZlU2Nv
cGVMb29wRW5kCiAKIC5yZXNvbHZlU2NvcGVMb29wOgpAQCAtMjI5Niw3ICsyMzIwLDcgQEAKIAog
bWFjcm8gbG9hZFdpdGhTdHJ1Y3R1cmVDaGVjayhvcGVyYW5kLCBzbG93UGF0aCkKICAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwgdDApCi0gICAgbG9hZHAgW2NmciwgdDAsIDhdLCB0
MAorICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQwCiAgICAgbG9hZHBGcm9t
SW5zdHJ1Y3Rpb24oNSwgdDEpCiAgICAgYnBuZXEgSlNDZWxsOjptX3N0cnVjdHVyZVt0MF0sIHQx
LCBzbG93UGF0aAogZW5kCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS90YWdzL1NhZmFyaS01
MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20gYi90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KLS0tIGEvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCShSZXZpc2lvbiAxNjgw
OTMpCisrKyBiL3RhZ3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkoQXJiZWl0c2tvcGllKQpAQCAtMTM5NSw3ICsxMzk1
LDExIEBACiAKIC5vcEdldEJ5VmFsT3V0T2ZCb3VuZHM6CiAgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rp
b24oNCwgdDApCi0gICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJvdW5kc1t0MF0K
KyAgICBpZiBGT1VSX0JZVEVfQk9PTAorICAgICAgICBzdG9yZWkgMSwgQXJyYXlQcm9maWxlOjpt
X291dE9mQm91bmRzW3QwXQorICAgIGVsc2UKKyAgICAgICAgc3RvcmViIDEsIEFycmF5UHJvZmls
ZTo6bV9vdXRPZkJvdW5kc1t0MF0KKyAgICBlbmQKIC5vcEdldEJ5VmFsU2xvdzoKICAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfdmFsKQogICAgIGRpc3BhdGNoKDYpCkBA
IC0xNDY2LDcgKzE0NzAsMTEgQEAKIC5vdXRPZkJvdW5kczoKICAgICBiaWFlcSB0MywgLXNpemVv
ZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3Ro
W3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5kcwogICAgIGxvYWRwIDMyW1BCLCBQQywgOF0sIHQy
Ci0gICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0Ml0KKyAgICBp
ZiBGT1VSX0JZVEVfQk9PTAorICAgICAgICBzdG9yZWkgMSwgQXJyYXlQcm9maWxlOjptX21heVN0
b3JlVG9Ib2xlW3QyXQorICAgIGVsc2UKKyAgICAgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6
bV9tYXlTdG9yZVRvSG9sZVt0Ml0KKyAgICBlbmQKICAgICBhZGRpIDEsIHQzLCB0MgogICAgIHN0
b3JlaSB0MiwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0
aHMucHVibGljTGVuZ3RoW3QwXQogICAgIGptcCAuc3RvcmVSZXN1bHQKQEAgLTE1MjksNyArMTUz
NywxMSBAQAogCiAub3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5OgogICAgIGxvYWRwRnJvbUlu
c3RydWN0aW9uKDQsIHQxKQotICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fbWF5U3RvcmVU
b0hvbGVbdDFdCisgICAgaWYgRk9VUl9CWVRFX0JPT0wKKyAgICAgICAgc3RvcmVpIDEsIEFycmF5
UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0MV0KKyAgICBlbHNlCisgICAgICAgIHN0b3JlYiAx
LCBBcnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hvbGVbdDFdCisgICAgZW5kCiAgICAgYWRkaSAx
LCBBcnJheVN0b3JhZ2U6Om1fbnVtVmFsdWVzSW5WZWN0b3JbdDBdCiAgICAgYmliIHQzLCAtc2l6
ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5n
dGhbdDBdLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0CiAgICAgYWRkaSAxLCB0
MywgdDEKQEAgLTE1MzgsNyArMTU1MCwxMSBAQAogCiAub3BQdXRCeVZhbE91dE9mQm91bmRzOgog
ICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQwKQotICAgIHN0b3JlYiAxLCBBcnJheVByb2Zp
bGU6Om1fb3V0T2ZCb3VuZHNbdDBdCisgICAgaWYgRk9VUl9CWVRFX0JPT0wKKyAgICAgICAgc3Rv
cmVpIDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJvdW5kc1t0MF0KKyAgICBlbHNlCisgICAgICAg
IHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fb3V0T2ZCb3VuZHNbdDBdCisgICAgZW5kCiAub3BQ
dXRCeVZhbFNsb3c6CiAgICAgY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIGRpc3BhdGNoKDUp
CkBAIC0yMDIzLDcgKzIwMzksMTEgQEAKIG1hY3JvIHJlc29sdmVTY29wZSgpCiAgICAgbG9hZHAg
Q29kZUJsb2NrW2Nmcl0sIHQwCiAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKQotICAg
IGJ0YnogQ29kZUJsb2NrOjptX25lZWRzQWN0aXZhdGlvblt0MF0sIC5yZXNvbHZlU2NvcGVBZnRl
ckFjdGl2YXRpb25DaGVjaworICAgIGlmIEZPVVJfQllURV9CT09MCisgICAgICAgIGJ0aXogQ29k
ZUJsb2NrOjptX25lZWRzQWN0aXZhdGlvblt0MF0sIC5yZXNvbHZlU2NvcGVBZnRlckFjdGl2YXRp
b25DaGVjaworICAgIGVsc2UKKyAgICAgICAgYnRieiBDb2RlQmxvY2s6Om1fbmVlZHNBY3RpdmF0
aW9uW3QwXSwgLnJlc29sdmVTY29wZUFmdGVyQWN0aXZhdGlvbkNoZWNrCisgICAgZW5kCiAgICAg
bG9hZGlzIENvZGVCbG9jazo6bV9hY3RpdmF0aW9uUmVnaXN0ZXJbdDBdLCB0MQogICAgIGJ0cHog
W2NmciwgdDEsIDhdLCAucmVzb2x2ZVNjb3BlQWZ0ZXJBY3RpdmF0aW9uQ2hlY2sKICAgICBhZGRp
IDEsIHQyCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CmRpZmYgLS1naXQgYS90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyckpJVC5jcHAgYi90YWdzL1NhZmFyaS01MzguMTUvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKLS0tIGEvdGFncy9TYWZhcmktNTM4LjE1L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCShSZXZpc2lvbiAxNjgwOTMpCisrKyBiL3Rh
Z3MvU2FmYXJpLTUzOC4xNS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAko
QXJiZWl0c2tvcGllKQpAQCAtMTE4LDYgKzExOCwxNyBAQAogCiAgICAgc3RhdGljIGNvbnN0IFJl
Z2lzdGVySUQgcmV0dXJuUmVnaXN0ZXIgPSBYODZSZWdpc3RlcnM6OmVheDsKICAgICBzdGF0aWMg
Y29uc3QgUmVnaXN0ZXJJRCByZXR1cm5SZWdpc3RlcjIgPSBYODZSZWdpc3RlcnM6OmVkeDsKKyNl
bGlmIENQVShQUEMpICYmIE9TKERBUldJTikKKyAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJRCBp
bnB1dCA9IFBQQ1JlZ2lzdGVyczo6cjM7CisgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVySUQgaW5k
ZXggPSBQUENSZWdpc3RlcnM6OnI0OworICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIGxlbmd0
aCA9IFBQQ1JlZ2lzdGVyczo6cjU7CisgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVySUQgb3V0cHV0
ID0gUFBDUmVnaXN0ZXJzOjpyNjsKKworICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIHJlZ1Qw
ID0gUFBDUmVnaXN0ZXJzOjpyNzsKKyAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJRCByZWdUMSA9
IFBQQ1JlZ2lzdGVyczo6cjg7CisKKyAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJRCByZXR1cm5S
ZWdpc3RlciA9IFBQQ1JlZ2lzdGVyczo6cjM7CisgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVySUQg
cmV0dXJuUmVnaXN0ZXIyID0gUFBDUmVnaXN0ZXJzOjpyNDsKICNlbmRpZgogCiAgICAgdm9pZCBv
cHRpbWl6ZUFsdGVybmF0aXZlKFBhdHRlcm5BbHRlcm5hdGl2ZSogYWx0ZXJuYXRpdmUpCkBAIC04
MzksMTUgKzg4MCwyOCBAQAogICAgICAgICAgICAgY2FzZSAyOiB7CiAgICAgICAgICAgICAgICAg
QmFzZUluZGV4IGFkZHJlc3MoaW5wdXQsIGluZGV4LCBUaW1lc09uZSwgKHN0YXJ0VGVybVBvc2l0
aW9uIC0gbV9jaGVja2VkKSAqIHNpemVvZihMQ2hhcikpOwogICAgICAgICAgICAgICAgIGxvYWQx
NlVuYWxpZ25lZChhZGRyZXNzLCBjaGFyYWN0ZXIpOworI2lmIENQVShCSUdfRU5ESUFOKQorICAg
ICAgICAgICAgICAgIGlmIChpZ25vcmVDYXNlTWFzaykKKyAgICAgICAgICAgICAgICAgICAgb3Iz
MihJbW0zMihpZ25vcmVDYXNlTWFzayA+PiAxNiksIGNoYXJhY3Rlcik7CisgICAgICAgICAgICAg
ICAgb3AubV9qdW1wcy5hcHBlbmQoYnJhbmNoMzIoTm90RXF1YWwsIGNoYXJhY3RlciwgSW1tMzIo
KGFsbENoYXJhY3RlcnMgfCBpZ25vcmVDYXNlTWFzaykgPj4gMTYpKSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworI2Vsc2UKICAgICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgY2FzZSAzOiB7CiAgICAgICAgICAgICAgICAgQmFzZUluZGV4
IGhpZ2hBZGRyZXNzKGlucHV0LCBpbmRleCwgVGltZXNPbmUsIChzdGFydFRlcm1Qb3NpdGlvbiAt
IG1fY2hlY2tlZCkgKiBzaXplb2YoTENoYXIpKTsKICAgICAgICAgICAgICAgICBsb2FkMTZVbmFs
aWduZWQoaGlnaEFkZHJlc3MsIGNoYXJhY3Rlcik7CiAgICAgICAgICAgICAgICAgaWYgKGlnbm9y
ZUNhc2VNYXNrKQorI2lmIENQVShCSUdfRU5ESUFOKQorICAgICAgICAgICAgICAgICAgICBvcjMy
KEltbTMyKGlnbm9yZUNhc2VNYXNrID4+IDE2KSwgY2hhcmFjdGVyKTsKKyAgICAgICAgICAgICAg
ICBvcC5tX2p1bXBzLmFwcGVuZChicmFuY2gzMihOb3RFcXVhbCwgY2hhcmFjdGVyLCBJbW0zMigo
YWxsQ2hhcmFjdGVycyB8IGlnbm9yZUNhc2VNYXNrKSA+PiAxNikpKTsKKyAgICAgICAgICAgICAg
ICBvcC5tX2p1bXBzLmFwcGVuZChqdW1wSWZDaGFyTm90RXF1YWxzKChhbGxDaGFyYWN0ZXJzID4+
IDgpICYgMHhmZiwgc3RhcnRUZXJtUG9zaXRpb24gKyAyIC0gbV9jaGVja2VkLCBjaGFyYWN0ZXIp
KTsKKyNlbHNlCiAgICAgICAgICAgICAgICAgICAgIG9yMzIoSW1tMzIoaWdub3JlQ2FzZU1hc2sp
LCBjaGFyYWN0ZXIpOwogICAgICAgICAgICAgICAgIG9wLm1fanVtcHMuYXBwZW5kKGJyYW5jaDMy
KE5vdEVxdWFsLCBjaGFyYWN0ZXIsIEltbTMyKChhbGxDaGFyYWN0ZXJzICYgMHhmZmZmKSB8IGln
bm9yZUNhc2VNYXNrKSkpOwogICAgICAgICAgICAgICAgIG9wLm1fanVtcHMuYXBwZW5kKGp1bXBJ
ZkNoYXJOb3RFcXVhbHMoYWxsQ2hhcmFjdGVycyA+PiAxNiwgc3RhcnRUZXJtUG9zaXRpb24gKyAy
IC0gbV9jaGVja2VkLCBjaGFyYWN0ZXIpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgNDogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>