<?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>151242</bug_id>
          
          <creation_ts>2015-11-12 19:07:05 -0800</creation_ts>
          <short_desc>[JSC] JSPropertyNameEnumerator could be destructorless.</short_desc>
          <delta_ts>2015-11-24 13:35:14 -0800</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>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>151285</dependson>
    
    <dependson>151593</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kling</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1141734</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-12 19:07:05 -0800</bug_when>
    <thetext>I think we could make JSPropertyNameEnumerator destructorless by allocating the m_propertyNames vector out of GC copied space instead.

The &quot;vector&quot; never changes size after construction anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141735</commentid>
    <comment_count>1</comment_count>
      <attachid>265463</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-12 19:08:38 -0800</bug_when>
    <thetext>Created attachment 265463
Hack for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141736</commentid>
    <comment_count>2</comment_count>
      <attachid>265464</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-12 19:22:00 -0800</bug_when>
    <thetext>Created attachment 265464
Patch

With missing CopyToken + ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141768</commentid>
    <comment_count>3</comment_count>
      <attachid>265464</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-12 21:53:36 -0800</bug_when>
    <thetext>Comment on attachment 265464
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141834</commentid>
    <comment_count>4</comment_count>
      <attachid>265464</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-13 07:59:28 -0800</bug_when>
    <thetext>Comment on attachment 265464
Patch

Clearing flags on attachment: 265464

Committed r192416: &lt;http://trac.webkit.org/changeset/192416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141835</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-13 07:59:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141858</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-13 10:03:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 265464 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 265464
&gt; 
&gt; Committed r192416: &lt;http://trac.webkit.org/changeset/192416&gt;

It made API tests assert on the 32 bit Apple Mac bots:
https://build.webkit.org/builders/Apple%20El%20Capitan%2032-bit%20JSC%20%28BuildAndTest%29</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141859</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-13 10:05:57 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 265464 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 265464
&gt; &gt; 
&gt; &gt; Committed r192416: &lt;http://trac.webkit.org/changeset/192416&gt;
&gt; 
&gt; It made API tests assert on the 32 bit Apple Mac bots:
&gt; https://build.webkit.org/builders/Apple%20El%20Capitan%2032-
&gt; bit%20JSC%20%28BuildAndTest%29

and ~40 JSC tests fail on Apple Windows and 32 bit ARM bots:
- https://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/55097
- https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release
- https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Traditional%20Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141877</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-13 10:45:51 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 265464 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 265464
&gt; &gt; 
&gt; &gt; Committed r192416: &lt;http://trac.webkit.org/changeset/192416&gt;
&gt; 
&gt; It made API tests assert on the 32 bit Apple Mac bots:
&gt; https://build.webkit.org/builders/Apple%20El%20Capitan%2032-
&gt; bit%20JSC%20%28BuildAndTest%29

Aha! It looks like copied space allocations are expected to be 8-byte divisible on 32-bit platforms too, even though pointers are 4 bytes there. I will make a quick fix that rounds up allocation sizes to the nearest multiple of 8 (same idea as DirectArguments when it allocates out of copied space.)

Thanks for letting me know about the issue!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141891</commentid>
    <comment_count>9</comment_count>
      <attachid>265485</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-13 11:23:14 -0800</bug_when>
    <thetext>Created attachment 265485
Follow-up patch to fix 32-bit platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141892</commentid>
    <comment_count>10</comment_count>
      <attachid>265485</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-11-13 11:25:45 -0800</bug_when>
    <thetext>Comment on attachment 265485
Follow-up patch to fix 32-bit platforms

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141940</commentid>
    <comment_count>11</comment_count>
      <attachid>265485</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-13 14:16:54 -0800</bug_when>
    <thetext>Comment on attachment 265485
Follow-up patch to fix 32-bit platforms

Clearing flags on attachment: 265485

Committed r192443: &lt;http://trac.webkit.org/changeset/192443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141941</commentid>
    <comment_count>12</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-13 14:17:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141993</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-13 17:14:44 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 151285</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142622</commentid>
    <comment_count>14</comment_count>
      <attachid>265702</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-17 13:13:16 -0800</bug_when>
    <thetext>Created attachment 265702
Patch for relanding

This had a subtle problem on 32-bit, where WriteBarrier&lt;Unknown&gt; is 64-bit and WriteBarrier&lt;JSString&gt; is 64-bit, and so you really can&apos;t go around reinterpret_casting one to the other!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142623</commentid>
    <comment_count>15</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-17 13:13:44 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created attachment 265702 [details]
&gt; Patch for relanding
&gt; 
&gt; This had a subtle problem on 32-bit, where WriteBarrier&lt;Unknown&gt; is 64-bit
&gt; and WriteBarrier&lt;JSString&gt; is 64-bit, and so you really can&apos;t go around
&gt; reinterpret_casting one to the other!

I meant to say that WriteBarrier&lt;Unknown&gt; is 64-bit, and WriteBarrier&lt;JSString&gt; is 32-bit. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142658</commentid>
    <comment_count>16</comment_count>
      <attachid>265702</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-17 14:13:45 -0800</bug_when>
    <thetext>Comment on attachment 265702
Patch for relanding

Clearing flags on attachment: 265702

Committed r192536: &lt;http://trac.webkit.org/changeset/192536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142659</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-17 14:13:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144373</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-24 13:35:14 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 151593</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265463</attachid>
            <date>2015-11-12 19:08:38 -0800</date>
            <delta_ts>2015-11-12 19:22:00 -0800</delta_ts>
            <desc>Hack for EWS</desc>
            <filename>ews-151242.diff</filename>
            <type>text/plain</type>
            <size>6742</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY4NWQyNGUuLmIxMWI2MzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTExLTEyICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IgY291bGQgYmUgZGVzdHJ1Y3Rvcmxlc3MuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTEyNDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSGVyZSBpcyBzb21lIGNvZGUgSSB3cm90ZSB3aXRoIGEgZmV2ZXIuIChPT1BTISkKKwor
ICAgICAgICAqIHJ1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
IChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6dmlzaXRDaGlsZHJlbik6CisgICAgICAg
IChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y29weUJhY2tpbmdTdG9yZSk6CisgICAg
ICAgIChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6ZGVzdHJveSk6IERlbGV0ZWQuCisg
ICAgICAgICogcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaDoKKwogMjAxNS0xMS0w
OSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAg
IEpTIEJ1aWx0LWlucyBmdW5jdGlvbnMgc2hvdWxkIGJlIGFibGUgdG8gYXNzZXJ0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yLmNwcAppbmRleCA2OTA5MjBmLi5hMGQ2YzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAK
QEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaCIKIAorI2luY2x1ZGUgIkNvcGllZEJsb2NrSW5saW5lcy5oIgor
I2luY2x1ZGUgIkNvcHlWaXNpdG9ySW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJTdHJvbmdJbmxpbmVzLmgiCiAKQEAgLTcwLDI1ICs3Miw0NSBAQCB2b2lkIEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCB1aW50MzJfdCBp
bmRleGVkTGVuZ3RoLCB1aQogICAgIG1fZW5kU3RydWN0dXJlUHJvcGVydHlJbmRleCA9IGVuZFN0
cnVjdHVyZVByb3BlcnR5SW5kZXg7CiAgICAgbV9lbmRHZW5lcmljUHJvcGVydHlJbmRleCA9IHZl
Y3Rvci5zaXplKCk7CiAKLSAgICBtX3Byb3BlcnR5TmFtZXMucmVzaXplVG9GaXQodmVjdG9yLnNp
emUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZlY3Rvci5zaXplKCk7ICsraSkg
ewotICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyID0gdmVjdG9yW2ldOwotICAg
ICAgICBtX3Byb3BlcnR5TmFtZXNbaV0uc2V0KHZtLCB0aGlzLCBqc1N0cmluZygmdm0sIGlkZW50
aWZpZXIuc3RyaW5nKCkpKTsKLSAgICB9Ci19CisgICAgaWYgKCF2ZWN0b3IuaXNFbXB0eSgpKSB7
CisgICAgICAgIHZvaWQqIGJhY2tpbmdTdG9yZTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQodm0u
aGVhcC50cnlBbGxvY2F0ZVN0b3JhZ2UodGhpcywgdmVjdG9yLnNpemUoKSAqIHNpemVvZihXcml0
ZUJhcnJpZXI8SlNTdHJpbmc+KSwgJmJhY2tpbmdTdG9yZSkpOworICAgICAgICBXcml0ZUJhcnJp
ZXI8SlNTdHJpbmc+KiBwcm9wZXJ0eU5hbWVzID0gcmVpbnRlcnByZXRfY2FzdDxXcml0ZUJhcnJp
ZXI8SlNTdHJpbmc+Kj4oYmFja2luZ1N0b3JlKTsKKyAgICAgICAgbV9wcm9wZXJ0eU5hbWVzLnNl
dCh2bSwgdGhpcywgcHJvcGVydHlOYW1lcyk7CiAKLXZvaWQgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKLXsKLSAgICBqc0Nhc3Q8SlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKj4oY2VsbCktPkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6fkpTUHJvcGVydHlO
YW1lRW51bWVyYXRvcigpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmVjdG9y
LnNpemUoKTsgKytpKQorICAgICAgICAgICAgcHJvcGVydHlOYW1lc1tpXS5zZXQodm0sIHRoaXMs
IGpzU3RyaW5nKCZ2bSwgdmVjdG9yW2ldLnN0cmluZygpKSk7CisgICAgfQogfQogCiB2b2lkIEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvcjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQogewogICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4oY2VsbCwgdmlzaXRv
cik7CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvcio+KGNlbGwpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXNbaV0pOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb3RvdHlwZUNoYWluKTsKKworICAgIGlmICh0aGlz
T2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpKSB7CisgICAgICAgIHZpc2l0b3IuYXBw
ZW5kVmFsdWVzKHJlaW50ZXJwcmV0X2Nhc3Q8V3JpdGVCYXJyaWVyPFVua25vd24+Kj4odGhpc09i
amVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdldFdpdGhvdXRCYXJyaWVyKCkpLCB0aGlzT2JqZWN0LT5j
YWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpKTsKKyAgICAgICAgdmlzaXRvci5jb3B5TGF0ZXIoCisg
ICAgICAgICAgICB0aGlzT2JqZWN0LCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3JDb3B5VG9rZW4s
CisgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuZ2V0V2l0aG91dEJhcnJp
ZXIoKSwgdGhpc09iamVjdC0+Y2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSAqIHNpemVvZihKU1N0
cmluZyopKTsKKyAgICB9Cit9CisKK3ZvaWQgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjb3B5
QmFja2luZ1N0b3JlKEpTQ2VsbCogY2VsbCwgQ29weVZpc2l0b3ImIHZpc2l0b3IsIENvcHlUb2tl
biB0b2tlbikKK3sKKyAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09C
SkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworCisgICAgUkVMRUFTRV9BU1NFUlQo
dG9rZW4gPT0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yQ29weVRva2VuKTsKKworICAgIHZvaWQq
IG9sZFByb3BlcnR5TmFtZXMgPSB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuZ2V0V2l0aG91
dEJhcnJpZXIoKTsKKyAgICBpZiAodmlzaXRvci5jaGVja0lmU2hvdWxkQ29weShvbGRQcm9wZXJ0
eU5hbWVzKSkgeworICAgICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+KiBuZXdQcm9wZXJ0eU5h
bWVzID0gc3RhdGljX2Nhc3Q8V3JpdGVCYXJyaWVyPEpTU3RyaW5nPio+KHZpc2l0b3IuYWxsb2Nh
dGVOZXdTcGFjZSh0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpICogc2l6ZW9m
KFdyaXRlQmFycmllcjxKU1N0cmluZz4pKSk7CisgICAgICAgIG1lbWNweShuZXdQcm9wZXJ0eU5h
bWVzLCBvbGRQcm9wZXJ0eU5hbWVzLCB0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3Vu
dCgpICogc2l6ZW9mKEpTU3RyaW5nKikpOworICAgICAgICB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5
TmFtZXMuc2V0V2l0aG91dEJhcnJpZXIobmV3UHJvcGVydHlOYW1lcyk7CisgICAgICAgIHZpc2l0
b3IuZGlkQ29weShvbGRQcm9wZXJ0eU5hbWVzLCB0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5h
bWVDb3VudCgpICogc2l6ZW9mKEpTU3RyaW5nKikpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lRW51bWVyYXRvci5oCmluZGV4IDg0MDZjNDYuLmM4YmRlOTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oCkBAIC00Myw5ICs0Myw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBjcmVhdGUoVk0mKTsKICAgICBzdGF0aWMgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCB1aW50MzJfdCwgdWludDMyX3QsIFByb3Bl
cnR5TmFtZUFycmF5Jik7CiAKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9u
ID0gdHJ1ZTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwotCiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhDZWxsVHlw
ZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpAQCAtNTUsOSArNTIsOSBAQCBwdWJsaWM6CiAK
ICAgICBKU1N0cmluZyogcHJvcGVydHlOYW1lQXRJbmRleCh1aW50MzJfdCBpbmRleCkgY29uc3QK
ICAgICB7Ci0gICAgICAgIGlmIChpbmRleCA+PSBtX3Byb3BlcnR5TmFtZXMuc2l6ZSgpKQorICAg
ICAgICBpZiAoaW5kZXggPj0gY2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSkKICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwotICAgICAgICByZXR1cm4gbV9wcm9wZXJ0eU5hbWVzW2luZGV4XS5n
ZXQoKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvcGVydHlOYW1lcy5nZXQodGhpcylbaW5kZXhdLmdl
dCgpOwogICAgIH0KIAogICAgIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlQ2hhaW4uZ2V0KCk7IH0KQEAgLTgxLDE4ICs3OCwy
NSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHB0cmRpZmZfdCBjYWNoZWRJbmxpbmVDYXBhY2l0eU9m
ZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Is
IG1fY2FjaGVkSW5saW5lQ2FwYWNpdHkpOyB9CiAgICAgc3RhdGljIHB0cmRpZmZfdCBjYWNoZWRQ
cm9wZXJ0eU5hbWVzVmVjdG9yT2Zmc2V0KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBPQkpFQ1Rf
T0ZGU0VUT0YoSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLCBtX3Byb3BlcnR5TmFtZXMpICsgVmVj
dG9yPFdyaXRlQmFycmllcjxKU1N0cmluZz4+OjpkYXRhTWVtb3J5T2Zmc2V0KCk7CisgICAgICAg
IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLCBtX3Byb3Bl
cnR5TmFtZXMpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKKyAgICBzdGF0aWMgdm9pZCBjb3B5QmFja2luZ1N0b3JlKEpTQ2Vs
bCosIENvcHlWaXNpdG9yJiwgQ29weVRva2VuKTsKKworICAgIHVpbnQzMl90IGNhY2hlZFByb3Bl
cnR5TmFtZUNvdW50KCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGRl
cGVuZHMgb24gbV9nZW5lcmljUHJvcGVydHlJbmRleCBiZWluZyB0aGUgbnVtYmVyIG9mIGVudHJp
ZXMgaW4gbV9wcm9wZXJ0eU5hbWVzLgorICAgICAgICByZXR1cm4gbV9lbmRHZW5lcmljUHJvcGVy
dHlJbmRleDsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KFZNJiwgU3RydWN0dXJlSUQsIHVpbnQzMl90KTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgdWludDMyX3QsIHVpbnQzMl90LCBQYXNzUmVmUHRyPFByb3BlcnR5TmFtZUFycmF5RGF0YT4p
OwogCi0gICAgVmVjdG9yPFdyaXRlQmFycmllcjxKU1N0cmluZz4+IG1fcHJvcGVydHlOYW1lczsK
LSAgICBTdHJ1Y3R1cmVJRCBtX2NhY2hlZFN0cnVjdHVyZUlEOworICAgIENvcHlCYXJyaWVyPFdy
aXRlQmFycmllcjxKU1N0cmluZz4+IG1fcHJvcGVydHlOYW1lczsKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlQ2hhaW4+IG1fcHJvdG90eXBlQ2hhaW47CisgICAgU3RydWN0dXJlSUQgbV9jYWNo
ZWRTdHJ1Y3R1cmVJRDsKICAgICB1aW50MzJfdCBtX2luZGV4ZWRMZW5ndGg7CiAgICAgdWludDMy
X3QgbV9lbmRTdHJ1Y3R1cmVQcm9wZXJ0eUluZGV4OwogICAgIHVpbnQzMl90IG1fZW5kR2VuZXJp
Y1Byb3BlcnR5SW5kZXg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265464</attachid>
            <date>2015-11-12 19:22:00 -0800</date>
            <delta_ts>2015-11-17 13:13:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151242.diff</filename>
            <type>text/plain</type>
            <size>7478</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY4NWQyNGUuLmExODIwNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTExLTEyICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IgY291bGQgYmUgZGVzdHJ1Y3Rvcmxlc3MuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTEyNDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IgZGVzdHJ1Y3Rvcmxlc3MgYW5kIGhh
dmUgaXQgc3RvcmUgdGhlIHByb3BlcnR5IG5hbWVzCisgICAgICAgIGNhY2hlIGluIENvcGllZFNw
YWNlLiBUaGlzIHdhcyB0aGUgbW9zdCBwb3B1bGFyIG9jY3VwYW50IG9mIDY0LWJ5dGUgZGVzdHJ1
Y3RvciBjZWxscworICAgICAgICBpbiBNYXJrZWRTcGFjZSwgc28gbWFraW5nIGl0IGRlc3RydWN0
b3JsZXNzIGdldHMgcmlkIG9mIHNvbWUgaWxsLWZpbGxlZCBNYXJrZWRCbG9ja3MuCisKKyAgICAg
ICAgKiBoZWFwL0NvcHlUb2tlbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6
dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6
Y29weUJhY2tpbmdTdG9yZSk6CisgICAgICAgIChKU0M6OkpTUHJvcGVydHlOYW1lRW51bWVyYXRv
cjo6ZGVzdHJveSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IuaDoKKwogMjAxNS0xMS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRA
Y3JmLmNhbm9uLmZyPgogCiAgICAgICAgIEpTIEJ1aWx0LWlucyBmdW5jdGlvbnMgc2hvdWxkIGJl
IGFibGUgdG8gYXNzZXJ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9D
b3B5VG9rZW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvcHlUb2tlbi5oCmluZGV4
IGU4ZjgxMDkuLmQ3OTAzOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0NvcHlUb2tlbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvcHlUb2tlbi5o
CkBAIC0zMiw3ICszMiw4IEBAIGVudW0gQ29weVRva2VuIHsKICAgICBCdXR0ZXJmbHlDb3B5VG9r
ZW4sCiAgICAgVHlwZWRBcnJheVZlY3RvckNvcHlUb2tlbiwKICAgICBNYXBCYWNraW5nU3RvcmVD
b3B5VG9rZW4sCi0gICAgRGlyZWN0QXJndW1lbnRzT3ZlcnJpZGVzQ29weVRva2VuCisgICAgRGly
ZWN0QXJndW1lbnRzT3ZlcnJpZGVzQ29weVRva2VuLAorICAgIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvckNvcHlUb2tlbiwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5j
cHAKaW5kZXggNjkwOTIwZi4uYTBkNmM2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmgiCiAKKyNpbmNsdWRlICJDb3BpZWRCbG9ja0lubGluZXMuaCIKKyNpbmNsdWRl
ICJDb3B5VmlzaXRvcklubGluZXMuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiU3Ryb25nSW5saW5lcy5oIgogCkBAIC03MCwyNSArNzIsNDUgQEAgdm9pZCBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgdWludDMyX3QgaW5kZXhlZExl
bmd0aCwgdWkKICAgICBtX2VuZFN0cnVjdHVyZVByb3BlcnR5SW5kZXggPSBlbmRTdHJ1Y3R1cmVQ
cm9wZXJ0eUluZGV4OwogICAgIG1fZW5kR2VuZXJpY1Byb3BlcnR5SW5kZXggPSB2ZWN0b3Iuc2l6
ZSgpOwogCi0gICAgbV9wcm9wZXJ0eU5hbWVzLnJlc2l6ZVRvRml0KHZlY3Rvci5zaXplKCkpOwot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB2ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllciA9IHZlY3RvcltpXTsKLSAgICAgICAgbV9w
cm9wZXJ0eU5hbWVzW2ldLnNldCh2bSwgdGhpcywganNTdHJpbmcoJnZtLCBpZGVudGlmaWVyLnN0
cmluZygpKSk7Ci0gICAgfQotfQorICAgIGlmICghdmVjdG9yLmlzRW1wdHkoKSkgeworICAgICAg
ICB2b2lkKiBiYWNraW5nU3RvcmU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHZtLmhlYXAudHJ5
QWxsb2NhdGVTdG9yYWdlKHRoaXMsIHZlY3Rvci5zaXplKCkgKiBzaXplb2YoV3JpdGVCYXJyaWVy
PEpTU3RyaW5nPiksICZiYWNraW5nU3RvcmUpKTsKKyAgICAgICAgV3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPiogcHJvcGVydHlOYW1lcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPio+KGJhY2tpbmdTdG9yZSk7CisgICAgICAgIG1fcHJvcGVydHlOYW1lcy5zZXQodm0sIHRo
aXMsIHByb3BlcnR5TmFtZXMpOwogCi12b2lkIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6ZGVz
dHJveShKU0NlbGwqIGNlbGwpCi17Ci0gICAganNDYXN0PEpTUHJvcGVydHlOYW1lRW51bWVyYXRv
cio+KGNlbGwpLT5KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6On5KU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZlY3Rvci5zaXplKCk7
ICsraSkKKyAgICAgICAgICAgIHByb3BlcnR5TmFtZXNbaV0uc2V0KHZtLCB0aGlzLCBqc1N0cmlu
Zygmdm0sIHZlY3RvcltpXS5zdHJpbmcoKSkpOworICAgIH0KIH0KIAogdm9pZCBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKIHsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKGNlbGwsIHZpc2l0b3IpOwogICAg
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogdGhpc09iamVjdCA9IGpzQ2FzdDxKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IqPihjZWxsKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhp
c09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLnNpemUoKTsgKytpKQotICAgICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzW2ldKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9wcm90b3R5cGVDaGFpbik7CisKKyAgICBpZiAodGhpc09iamVjdC0+
Y2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSkgeworICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVl
cyhyZWludGVycHJldF9jYXN0PFdyaXRlQmFycmllcjxVbmtub3duPio+KHRoaXNPYmplY3QtPm1f
cHJvcGVydHlOYW1lcy5nZXRXaXRob3V0QmFycmllcigpKSwgdGhpc09iamVjdC0+Y2FjaGVkUHJv
cGVydHlOYW1lQ291bnQoKSk7CisgICAgICAgIHZpc2l0b3IuY29weUxhdGVyKAorICAgICAgICAg
ICAgdGhpc09iamVjdCwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yQ29weVRva2VuLAorICAgICAg
ICAgICAgdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdldFdpdGhvdXRCYXJyaWVyKCksIHRo
aXNPYmplY3QtPmNhY2hlZFByb3BlcnR5TmFtZUNvdW50KCkgKiBzaXplb2YoSlNTdHJpbmcqKSk7
CisgICAgfQorfQorCit2b2lkIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y29weUJhY2tpbmdT
dG9yZShKU0NlbGwqIGNlbGwsIENvcHlWaXNpdG9yJiB2aXNpdG9yLCBDb3B5VG9rZW4gdG9rZW4p
Cit7CisgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvcio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5I
RVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKworICAgIFJFTEVBU0VfQVNTRVJUKHRva2VuID09
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvckNvcHlUb2tlbik7CisKKyAgICB2b2lkKiBvbGRQcm9w
ZXJ0eU5hbWVzID0gdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdldFdpdGhvdXRCYXJyaWVy
KCk7CisgICAgaWYgKHZpc2l0b3IuY2hlY2tJZlNob3VsZENvcHkob2xkUHJvcGVydHlOYW1lcykp
IHsKKyAgICAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiogbmV3UHJvcGVydHlOYW1lcyA9IHN0
YXRpY19jYXN0PFdyaXRlQmFycmllcjxKU1N0cmluZz4qPih2aXNpdG9yLmFsbG9jYXRlTmV3U3Bh
Y2UodGhpc09iamVjdC0+Y2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSAqIHNpemVvZihXcml0ZUJh
cnJpZXI8SlNTdHJpbmc+KSkpOworICAgICAgICBtZW1jcHkobmV3UHJvcGVydHlOYW1lcywgb2xk
UHJvcGVydHlOYW1lcywgdGhpc09iamVjdC0+Y2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSAqIHNp
emVvZihKU1N0cmluZyopKTsKKyAgICAgICAgdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLnNl
dFdpdGhvdXRCYXJyaWVyKG5ld1Byb3BlcnR5TmFtZXMpOworICAgICAgICB2aXNpdG9yLmRpZENv
cHkob2xkUHJvcGVydHlOYW1lcywgdGhpc09iamVjdC0+Y2FjaGVkUHJvcGVydHlOYW1lQ291bnQo
KSAqIHNpemVvZihKU1N0cmluZyopKTsKKyAgICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3IuaAppbmRleCA4NDA2YzQ2Li43ZjQ4NjU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaApA
QCAtNDMsOSArNDMsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvciogY3JlYXRlKFZNJik7CiAgICAgc3RhdGljIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciog
Y3JlYXRlKFZNJiwgU3RydWN0dXJlKiwgdWludDMyX3QsIHVpbnQzMl90LCBQcm9wZXJ0eU5hbWVB
cnJheSYpOwogCi0gICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7
Ci0gICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKLQogICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oQ2VsbFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKQEAgLTU1LDkgKzUyLDkgQEAgcHVibGljOgogCiAgICAgSlNT
dHJpbmcqIHByb3BlcnR5TmFtZUF0SW5kZXgodWludDMyX3QgaW5kZXgpIGNvbnN0CiAgICAgewot
ICAgICAgICBpZiAoaW5kZXggPj0gbV9wcm9wZXJ0eU5hbWVzLnNpemUoKSkKKyAgICAgICAgaWYg
KGluZGV4ID49IGNhY2hlZFByb3BlcnR5TmFtZUNvdW50KCkpCiAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIG1fcHJvcGVydHlOYW1lc1tpbmRleF0uZ2V0KCk7Cisg
ICAgICAgIHJldHVybiBtX3Byb3BlcnR5TmFtZXMuZ2V0KHRoaXMpW2luZGV4XS5nZXQoKTsKICAg
ICB9CiAKICAgICBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4oKSBjb25zdCB7
IHJldHVybiBtX3Byb3RvdHlwZUNoYWluLmdldCgpOyB9CkBAIC04MSwxOCArNzgsMjUgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBwdHJkaWZmX3QgY2FjaGVkSW5saW5lQ2FwYWNpdHlPZmZzZXQoKSB7
IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLCBtX2NhY2hl
ZElubGluZUNhcGFjaXR5KTsgfQogICAgIHN0YXRpYyBwdHJkaWZmX3QgY2FjaGVkUHJvcGVydHlO
YW1lc1ZlY3Rvck9mZnNldCgpCiAgICAgewotICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9G
KEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciwgbV9wcm9wZXJ0eU5hbWVzKSArIFZlY3RvcjxXcml0
ZUJhcnJpZXI8SlNTdHJpbmc+Pjo6ZGF0YU1lbW9yeU9mZnNldCgpOworICAgICAgICByZXR1cm4g
T0JKRUNUX09GRlNFVE9GKEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciwgbV9wcm9wZXJ0eU5hbWVz
KTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RW
aXNpdG9yJik7CisgICAgc3RhdGljIHZvaWQgY29weUJhY2tpbmdTdG9yZShKU0NlbGwqLCBDb3B5
VmlzaXRvciYsIENvcHlUb2tlbik7CisKKyAgICB1aW50MzJfdCBjYWNoZWRQcm9wZXJ0eU5hbWVD
b3VudCgpIGNvbnN0CisgICAgeworICAgICAgICAvLyBOb3RlIHRoYXQgdGhpcyBkZXBlbmRzIG9u
IG1fZW5kR2VuZXJpY1Byb3BlcnR5SW5kZXggYmVpbmcgdGhlIG51bWJlciBvZiBlbnRyaWVzIGlu
IG1fcHJvcGVydHlOYW1lcy4KKyAgICAgICAgcmV0dXJuIG1fZW5kR2VuZXJpY1Byb3BlcnR5SW5k
ZXg7CisgICAgfQogCiBwcml2YXRlOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYs
IFN0cnVjdHVyZUlELCB1aW50MzJfdCk7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIHVp
bnQzMl90LCB1aW50MzJfdCwgUGFzc1JlZlB0cjxQcm9wZXJ0eU5hbWVBcnJheURhdGE+KTsKIAot
ICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8SlNTdHJpbmc+PiBtX3Byb3BlcnR5TmFtZXM7Ci0gICAg
U3RydWN0dXJlSUQgbV9jYWNoZWRTdHJ1Y3R1cmVJRDsKKyAgICBDb3B5QmFycmllcjxXcml0ZUJh
cnJpZXI8SlNTdHJpbmc+PiBtX3Byb3BlcnR5TmFtZXM7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZUNoYWluPiBtX3Byb3RvdHlwZUNoYWluOworICAgIFN0cnVjdHVyZUlEIG1fY2FjaGVkU3Ry
dWN0dXJlSUQ7CiAgICAgdWludDMyX3QgbV9pbmRleGVkTGVuZ3RoOwogICAgIHVpbnQzMl90IG1f
ZW5kU3RydWN0dXJlUHJvcGVydHlJbmRleDsKICAgICB1aW50MzJfdCBtX2VuZEdlbmVyaWNQcm9w
ZXJ0eUluZGV4Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265485</attachid>
            <date>2015-11-13 11:23:14 -0800</date>
            <delta_ts>2015-11-17 13:13:16 -0800</delta_ts>
            <desc>Follow-up patch to fix 32-bit platforms</desc>
            <filename>followup-151242-32bit.diff</filename>
            <type>text/plain</type>
            <size>4362</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM1YjIyMjYuLmQxMzdhM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTExLTEzICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBGb2xsb3ctdXAgZm9yIDMyLWJpdCB0ZXN0
IGZhaWx1cmVzIGFmdGVyLi4uCisgICAgICAgIFtKU0NdIEpTUHJvcGVydHlOYW1lRW51bWVyYXRv
ciBjb3VsZCBiZSBkZXN0cnVjdG9ybGVzcy4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzE1MTI0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKQorCisgICAgICAg
IEFwcGFyZW50bHkgY29waWVkIHNwYWNlIGFsbG9jYXRpb25zIG5lZWQgdG8gYmUgaW4gbXVsdGlw
bGVzIG9mIDggYnl0ZXMuCisgICAgICAgIEhhdmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yIGRv
IHdoYXQgb3RoZXIgY29waWVkIHNwYWNlIGNsaWVudHMgYWxyZWFkeSBkbworICAgICAgICBhbmQg
cm91bmQgdGhlIGFsbG9jYXRpb24gc2l6ZSB1cCB0byBhIG11bHRpcGxlIG9mIDguCisKKyAgICAg
ICAgQWRkZWQgYSBsaXR0bGUgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlIGFsbG9jYXRp
b24gc2l6ZSBzbyB0aGlzIGRvZXNuJ3QKKyAgICAgICAgaGF2ZSB0byBiZSByZXBlYXRlZCBldmVy
eXdoZXJlLgorCisgICAgICAgICogcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKEpTQzo6SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjp2aXNpdENoaWxkcmVu
KToKKyAgICAgICAgKEpTQzo6SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjb3B5QmFja2luZ1N0
b3JlKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorCiAy
MDE1LTExLTEzICBDYWl0bGluIFBvdHRlciAgPGNhaXRwb3R0ZXI4OEBnbWFpbC5jb20+CiAKICAg
ICAgICAgQWxsb3cgYW55IExlZnRIYW5kU2lkZUV4cHJlc3Npb24gYXMgYSB2YWxpZCBBc3NpZ25t
ZW50RWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAKaW5kZXggYTBkNmM2Mi4uMjQxNTUxNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHZvaWQgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIHVpbnQzMl90IGluZGV4ZWRMZW5ndGgs
IHVpCiAKICAgICBpZiAoIXZlY3Rvci5pc0VtcHR5KCkpIHsKICAgICAgICAgdm9pZCogYmFja2lu
Z1N0b3JlOwotICAgICAgICBSRUxFQVNFX0FTU0VSVCh2bS5oZWFwLnRyeUFsbG9jYXRlU3RvcmFn
ZSh0aGlzLCB2ZWN0b3Iuc2l6ZSgpICogc2l6ZW9mKFdyaXRlQmFycmllcjxKU1N0cmluZz4pLCAm
YmFja2luZ1N0b3JlKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHZtLmhlYXAudHJ5QWxsb2Nh
dGVTdG9yYWdlKHRoaXMsIHByb3BlcnR5TmFtZUNhY2hlU2l6ZSgpLCAmYmFja2luZ1N0b3JlKSk7
CiAgICAgICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4qIHByb3BlcnR5TmFtZXMgPSByZWludGVy
cHJldF9jYXN0PFdyaXRlQmFycmllcjxKU1N0cmluZz4qPihiYWNraW5nU3RvcmUpOwogICAgICAg
ICBtX3Byb3BlcnR5TmFtZXMuc2V0KHZtLCB0aGlzLCBwcm9wZXJ0eU5hbWVzKTsKIApAQCAtOTMs
NyArOTMsNyBAQCB2b2lkIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6dmlzaXRDaGlsZHJlbihK
U0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgICAgICB2aXNpdG9yLmFwcGVu
ZFZhbHVlcyhyZWludGVycHJldF9jYXN0PFdyaXRlQmFycmllcjxVbmtub3duPio+KHRoaXNPYmpl
Y3QtPm1fcHJvcGVydHlOYW1lcy5nZXRXaXRob3V0QmFycmllcigpKSwgdGhpc09iamVjdC0+Y2Fj
aGVkUHJvcGVydHlOYW1lQ291bnQoKSk7CiAgICAgICAgIHZpc2l0b3IuY29weUxhdGVyKAogICAg
ICAgICAgICAgdGhpc09iamVjdCwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yQ29weVRva2VuLAot
ICAgICAgICAgICAgdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdldFdpdGhvdXRCYXJyaWVy
KCksIHRoaXNPYmplY3QtPmNhY2hlZFByb3BlcnR5TmFtZUNvdW50KCkgKiBzaXplb2YoSlNTdHJp
bmcqKSk7CisgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuZ2V0V2l0aG91
dEJhcnJpZXIoKSwgdGhpc09iamVjdC0+cHJvcGVydHlOYW1lQ2FjaGVTaXplKCkpOwogICAgIH0K
IH0KIApAQCAtMTA2LDEwICsxMDYsMTAgQEAgdm9pZCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6
OmNvcHlCYWNraW5nU3RvcmUoSlNDZWxsKiBjZWxsLCBDb3B5VmlzaXRvciYgdmlzaXQKIAogICAg
IHZvaWQqIG9sZFByb3BlcnR5TmFtZXMgPSB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuZ2V0
V2l0aG91dEJhcnJpZXIoKTsKICAgICBpZiAodmlzaXRvci5jaGVja0lmU2hvdWxkQ29weShvbGRQ
cm9wZXJ0eU5hbWVzKSkgewotICAgICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+KiBuZXdQcm9w
ZXJ0eU5hbWVzID0gc3RhdGljX2Nhc3Q8V3JpdGVCYXJyaWVyPEpTU3RyaW5nPio+KHZpc2l0b3Iu
YWxsb2NhdGVOZXdTcGFjZSh0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpICog
c2l6ZW9mKFdyaXRlQmFycmllcjxKU1N0cmluZz4pKSk7Ci0gICAgICAgIG1lbWNweShuZXdQcm9w
ZXJ0eU5hbWVzLCBvbGRQcm9wZXJ0eU5hbWVzLCB0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5h
bWVDb3VudCgpICogc2l6ZW9mKEpTU3RyaW5nKikpOworICAgICAgICBXcml0ZUJhcnJpZXI8SlNT
dHJpbmc+KiBuZXdQcm9wZXJ0eU5hbWVzID0gc3RhdGljX2Nhc3Q8V3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPio+KHZpc2l0b3IuYWxsb2NhdGVOZXdTcGFjZSh0aGlzT2JqZWN0LT5wcm9wZXJ0eU5hbWVD
YWNoZVNpemUoKSkpOworICAgICAgICBtZW1jcHkobmV3UHJvcGVydHlOYW1lcywgb2xkUHJvcGVy
dHlOYW1lcywgdGhpc09iamVjdC0+cHJvcGVydHlOYW1lQ2FjaGVTaXplKCkpOwogICAgICAgICB0
aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuc2V0V2l0aG91dEJhcnJpZXIobmV3UHJvcGVydHlO
YW1lcyk7Ci0gICAgICAgIHZpc2l0b3IuZGlkQ29weShvbGRQcm9wZXJ0eU5hbWVzLCB0aGlzT2Jq
ZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpICogc2l6ZW9mKEpTU3RyaW5nKikpOworICAg
ICAgICB2aXNpdG9yLmRpZENvcHkob2xkUHJvcGVydHlOYW1lcywgdGhpc09iamVjdC0+cHJvcGVy
dHlOYW1lQ2FjaGVTaXplKCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAppbmRleCA3ZjQ4
NjU1Li4yZTJiMTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaApAQCAtOTAsNiArOTAsMTEgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gbV9lbmRHZW5lcmljUHJvcGVydHlJbmRleDsKICAgICB9CiAKKyAg
ICBzaXplX3QgcHJvcGVydHlOYW1lQ2FjaGVTaXplKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Y8OD4oY2FjaGVkUHJvcGVydHlOYW1lQ291bnQo
KSAqIHNpemVvZihXcml0ZUJhcnJpZXI8SlNTdHJpbmc+KSk7CisgICAgfQorCiBwcml2YXRlOgog
ICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIFN0cnVjdHVyZUlELCB1aW50MzJfdCk7
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIHVpbnQzMl90LCB1aW50MzJfdCwgUGFzc1Jl
ZlB0cjxQcm9wZXJ0eU5hbWVBcnJheURhdGE+KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265702</attachid>
            <date>2015-11-17 13:13:16 -0800</date>
            <delta_ts>2015-11-17 14:13:45 -0800</delta_ts>
            <desc>Patch for relanding</desc>
            <filename>land-151242.diff</filename>
            <type>text/plain</type>
            <size>8114</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcyNmVjMzguLjU1YWUxYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTExLTE3ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IgY291bGQgYmUgZGVzdHJ1Y3Rvcmxlc3MuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNTEyNDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAg
TWFrZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IgZGVzdHJ1Y3Rvcmxlc3MgYW5kIGhhdmUgaXQg
c3RvcmUgdGhlIHByb3BlcnR5IG5hbWVzCisgICAgICAgIGNhY2hlIGluIENvcGllZFNwYWNlLiBU
aGlzIHdhcyB0aGUgbW9zdCBwb3B1bGFyIG9jY3VwYW50IG9mIDY0LWJ5dGUgZGVzdHJ1Y3RvciBj
ZWxscworICAgICAgICBpbiBNYXJrZWRTcGFjZSwgc28gbWFraW5nIGl0IGRlc3RydWN0b3JsZXNz
IGdldHMgcmlkIG9mIHNvbWUgaWxsLWZpbGxlZCBNYXJrZWRCbG9ja3MuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBoYWQgdHdvIGlzc3VlcyBvbiAzMi1iaXQgcGxhdGZvcm1zIHdoZW4gZmlyc3QgbGFu
ZGVkOgorCisgICAgICAgIC0gQ29waWVkIHNwYWNlIGFsbG9jYXRpb25zIGFyZSByZXF1aXJlZCB0
byBiZSA4LWJ5dGUgZGl2aXNpYmxlIGluIHNpemUuCisKKyAgICAgICAgLSBXcml0ZUJhcnJpZXI8
VW5rbm93bj4gYW5kIFdyaXRlQmFycmllcjxKU1N0cmluZz4gYXJlIG5vdCB0aGUgc2FtZSBzaXpl
IG9uIDMyLWJpdDsKKyAgICAgICAgICB0aGUgZm9ybWVyIGlzIGEgNjQtYml0IEVuY29kZWRKU1Zh
bHVlIGludGVybmFsbHksIGFuZCB0aGUgbGF0dGVyIGlzIGEgMzItYml0IEpTQ2VsbCouCisgICAg
ICAgICAgTXkgcGF0Y2ggd2FzIHJlaW50ZXJwcmV0X2Nhc3QnaW5nIGEgV3JpdGVCYXJyaWVyPEpT
U3RyaW5nPiB0byBhIFdyaXRlQmFycmllcjxVbmtub3duPgorICAgICAgICAgIHdoZW4gcGFzc2lu
ZyB0byBTbG90VmlzaXRvcjo6YXBwZW5kVmFsdWVzKCksIHdoaWNoIGxlZCB0byBpbnZhbGlkIGFk
ZHJlc3NlcyBnZXR0aW5nCisgICAgICAgICAgbWFya2VkIGFuZCBzdHJpbmdzIGdldHRpbmcgR0Mn
ZCBwcmVtYXR1cmVseS4KKworICAgICAgICAqIGhlYXAvQ29weVRva2VuLmg6CisgICAgICAgICog
cnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKEpTQzo6SlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjb3B5QmFja2luZ1N0b3JlKToKKyAgICAgICAgKEpTQzo6
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpkZXN0cm95KTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorCiAyMDE1LTExLTE2ICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERGR0VkZ2UncyBkdW1wIG1ldGhv
ZCBzaG91bGQgcHJpbnQgIlVudHlwZWQ6IiBmb3IgdW50eXBlZCB1c2VzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29weVRva2VuLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Db3B5VG9rZW4uaAppbmRleCBlOGY4MTA5Li5kNzkwMzhhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3B5VG9rZW4uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9Db3B5VG9rZW4uaApAQCAtMzIsNyArMzIsOCBAQCBlbnVtIENvcHlU
b2tlbiB7CiAgICAgQnV0dGVyZmx5Q29weVRva2VuLAogICAgIFR5cGVkQXJyYXlWZWN0b3JDb3B5
VG9rZW4sCiAgICAgTWFwQmFja2luZ1N0b3JlQ29weVRva2VuLAotICAgIERpcmVjdEFyZ3VtZW50
c092ZXJyaWRlc0NvcHlUb2tlbgorICAgIERpcmVjdEFyZ3VtZW50c092ZXJyaWRlc0NvcHlUb2tl
biwKKyAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3JDb3B5VG9rZW4sCiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuY3BwCmluZGV4IDY5MDkyMGYuLjhiNWY3NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51
bWVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogCisjaW5jbHVkZSAiQ29w
aWVkQmxvY2tJbmxpbmVzLmgiCisjaW5jbHVkZSAiQ29weVZpc2l0b3JJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIlN0cm9uZ0lubGluZXMuaCIKIApAQCAtNzAs
MjUgKzcyLDQ2IEBAIHZvaWQgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIHVpbnQzMl90IGluZGV4ZWRMZW5ndGgsIHVpCiAgICAgbV9lbmRTdHJ1Y3R1cmVQ
cm9wZXJ0eUluZGV4ID0gZW5kU3RydWN0dXJlUHJvcGVydHlJbmRleDsKICAgICBtX2VuZEdlbmVy
aWNQcm9wZXJ0eUluZGV4ID0gdmVjdG9yLnNpemUoKTsKIAotICAgIG1fcHJvcGVydHlOYW1lcy5y
ZXNpemVUb0ZpdCh2ZWN0b3Iuc2l6ZSgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
dmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZp
ZXIgPSB2ZWN0b3JbaV07Ci0gICAgICAgIG1fcHJvcGVydHlOYW1lc1tpXS5zZXQodm0sIHRoaXMs
IGpzU3RyaW5nKCZ2bSwgaWRlbnRpZmllci5zdHJpbmcoKSkpOwotICAgIH0KLX0KKyAgICBpZiAo
IXZlY3Rvci5pc0VtcHR5KCkpIHsKKyAgICAgICAgdm9pZCogYmFja2luZ1N0b3JlOworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCh2bS5oZWFwLnRyeUFsbG9jYXRlU3RvcmFnZSh0aGlzLCBwcm9wZXJ0
eU5hbWVDYWNoZVNpemUoKSwgJmJhY2tpbmdTdG9yZSkpOworICAgICAgICBXcml0ZUJhcnJpZXI8
SlNTdHJpbmc+KiBwcm9wZXJ0eU5hbWVzID0gcmVpbnRlcnByZXRfY2FzdDxXcml0ZUJhcnJpZXI8
SlNTdHJpbmc+Kj4oYmFja2luZ1N0b3JlKTsKKyAgICAgICAgbV9wcm9wZXJ0eU5hbWVzLnNldCh2
bSwgdGhpcywgcHJvcGVydHlOYW1lcyk7CiAKLXZvaWQgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKLXsKLSAgICBqc0Nhc3Q8SlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKj4oY2VsbCktPkpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6fkpTUHJvcGVydHlOYW1l
RW51bWVyYXRvcigpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmVjdG9yLnNp
emUoKTsgKytpKQorICAgICAgICAgICAgcHJvcGVydHlOYW1lc1tpXS5zZXQodm0sIHRoaXMsIGpz
U3RyaW5nKCZ2bSwgdmVjdG9yW2ldLnN0cmluZygpKSk7CisgICAgfQogfQogCiB2b2lkIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNp
dG9yJiB2aXNpdG9yKQogewogICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4oY2VsbCwgdmlzaXRvcik7
CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcio+KGNlbGwpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCB0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb3BlcnR5TmFtZXNbaV0pOwogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb3RvdHlwZUNoYWluKTsKKworICAgIGlmICh0aGlzT2Jq
ZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpKSB7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB0aGlzT2JqZWN0LT5jYWNoZWRQcm9wZXJ0eU5hbWVDb3VudCgpOyArK2kpCisg
ICAgICAgICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdl
dFdpdGhvdXRCYXJyaWVyKClbaV0pOworICAgICAgICB2aXNpdG9yLmNvcHlMYXRlcigKKyAgICAg
ICAgICAgIHRoaXNPYmplY3QsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvckNvcHlUb2tlbiwKKyAg
ICAgICAgICAgIHRoaXNPYmplY3QtPm1fcHJvcGVydHlOYW1lcy5nZXRXaXRob3V0QmFycmllcigp
LCB0aGlzT2JqZWN0LT5wcm9wZXJ0eU5hbWVDYWNoZVNpemUoKSk7CisgICAgfQorfQorCit2b2lk
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y29weUJhY2tpbmdTdG9yZShKU0NlbGwqIGNlbGws
IENvcHlWaXNpdG9yJiB2aXNpdG9yLCBDb3B5VG9rZW4gdG9rZW4pCit7CisgICAgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvcio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwg
aW5mbygpKTsKKworICAgIFJFTEVBU0VfQVNTRVJUKHRva2VuID09IEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvckNvcHlUb2tlbik7CisKKyAgICB2b2lkKiBvbGRQcm9wZXJ0eU5hbWVzID0gdGhpc09i
amVjdC0+bV9wcm9wZXJ0eU5hbWVzLmdldFdpdGhvdXRCYXJyaWVyKCk7CisgICAgaWYgKHZpc2l0
b3IuY2hlY2tJZlNob3VsZENvcHkob2xkUHJvcGVydHlOYW1lcykpIHsKKyAgICAgICAgV3JpdGVC
YXJyaWVyPEpTU3RyaW5nPiogbmV3UHJvcGVydHlOYW1lcyA9IHN0YXRpY19jYXN0PFdyaXRlQmFy
cmllcjxKU1N0cmluZz4qPih2aXNpdG9yLmFsbG9jYXRlTmV3U3BhY2UodGhpc09iamVjdC0+cHJv
cGVydHlOYW1lQ2FjaGVTaXplKCkpKTsKKyAgICAgICAgbWVtY3B5KG5ld1Byb3BlcnR5TmFtZXMs
IG9sZFByb3BlcnR5TmFtZXMsIHRoaXNPYmplY3QtPnByb3BlcnR5TmFtZUNhY2hlU2l6ZSgpKTsK
KyAgICAgICAgdGhpc09iamVjdC0+bV9wcm9wZXJ0eU5hbWVzLnNldFdpdGhvdXRCYXJyaWVyKG5l
d1Byb3BlcnR5TmFtZXMpOworICAgICAgICB2aXNpdG9yLmRpZENvcHkob2xkUHJvcGVydHlOYW1l
cywgdGhpc09iamVjdC0+cHJvcGVydHlOYW1lQ2FjaGVTaXplKCkpOworICAgIH0KIH0KIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCmluZGV4IDg0MDZjNDYuLjJlMmIxOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51
bWVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oCkBAIC00Myw5ICs0Myw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjcmVhdGUoVk0mKTsKICAgICBzdGF0aWMgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqLCB1aW50MzJfdCwgdWludDMy
X3QsIFByb3BlcnR5TmFtZUFycmF5Jik7CiAKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rl
c3RydWN0aW9uID0gdHJ1ZTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwotCiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5m
byhDZWxsVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwpAQCAtNTUsOSArNTIsOSBAQCBw
dWJsaWM6CiAKICAgICBKU1N0cmluZyogcHJvcGVydHlOYW1lQXRJbmRleCh1aW50MzJfdCBpbmRl
eCkgY29uc3QKICAgICB7Ci0gICAgICAgIGlmIChpbmRleCA+PSBtX3Byb3BlcnR5TmFtZXMuc2l6
ZSgpKQorICAgICAgICBpZiAoaW5kZXggPj0gY2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSkKICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICByZXR1cm4gbV9wcm9wZXJ0eU5hbWVz
W2luZGV4XS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvcGVydHlOYW1lcy5nZXQodGhpcylb
aW5kZXhdLmdldCgpOwogICAgIH0KIAogICAgIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlQ2hhaW4uZ2V0KCk7IH0KQEAgLTgx
LDE4ICs3OCwzMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHB0cmRpZmZfdCBjYWNoZWRJbmxpbmVD
YXBhY2l0eU9mZnNldCgpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IsIG1fY2FjaGVkSW5saW5lQ2FwYWNpdHkpOyB9CiAgICAgc3RhdGljIHB0cmRpZmZf
dCBjYWNoZWRQcm9wZXJ0eU5hbWVzVmVjdG9yT2Zmc2V0KCkKICAgICB7Ci0gICAgICAgIHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLCBtX3Byb3BlcnR5TmFt
ZXMpICsgVmVjdG9yPFdyaXRlQmFycmllcjxKU1N0cmluZz4+OjpkYXRhTWVtb3J5T2Zmc2V0KCk7
CisgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LCBtX3Byb3BlcnR5TmFtZXMpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICBzdGF0aWMgdm9pZCBjb3B5QmFja2luZ1N0
b3JlKEpTQ2VsbCosIENvcHlWaXNpdG9yJiwgQ29weVRva2VuKTsKKworICAgIHVpbnQzMl90IGNh
Y2hlZFByb3BlcnR5TmFtZUNvdW50KCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIE5vdGUgdGhh
dCB0aGlzIGRlcGVuZHMgb24gbV9lbmRHZW5lcmljUHJvcGVydHlJbmRleCBiZWluZyB0aGUgbnVt
YmVyIG9mIGVudHJpZXMgaW4gbV9wcm9wZXJ0eU5hbWVzLgorICAgICAgICByZXR1cm4gbV9lbmRH
ZW5lcmljUHJvcGVydHlJbmRleDsKKyAgICB9CisKKyAgICBzaXplX3QgcHJvcGVydHlOYW1lQ2Fj
aGVTaXplKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6OnJvdW5kVXBUb011bHRp
cGxlT2Y8OD4oY2FjaGVkUHJvcGVydHlOYW1lQ291bnQoKSAqIHNpemVvZihXcml0ZUJhcnJpZXI8
SlNTdHJpbmc+KSk7CisgICAgfQogCiBwcml2YXRlOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvcihWTSYsIFN0cnVjdHVyZUlELCB1aW50MzJfdCk7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIHVpbnQzMl90LCB1aW50MzJfdCwgUGFzc1JlZlB0cjxQcm9wZXJ0eU5hbWVBcnJheURh
dGE+KTsKIAotICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8SlNTdHJpbmc+PiBtX3Byb3BlcnR5TmFt
ZXM7Ci0gICAgU3RydWN0dXJlSUQgbV9jYWNoZWRTdHJ1Y3R1cmVJRDsKKyAgICBDb3B5QmFycmll
cjxXcml0ZUJhcnJpZXI8SlNTdHJpbmc+PiBtX3Byb3BlcnR5TmFtZXM7CiAgICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZUNoYWluPiBtX3Byb3RvdHlwZUNoYWluOworICAgIFN0cnVjdHVyZUlEIG1f
Y2FjaGVkU3RydWN0dXJlSUQ7CiAgICAgdWludDMyX3QgbV9pbmRleGVkTGVuZ3RoOwogICAgIHVp
bnQzMl90IG1fZW5kU3RydWN0dXJlUHJvcGVydHlJbmRleDsKICAgICB1aW50MzJfdCBtX2VuZEdl
bmVyaWNQcm9wZXJ0eUluZGV4Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>