<?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>102158</bug_id>
          
          <creation_ts>2012-11-13 17:36:01 -0800</creation_ts>
          <short_desc>[V8] Merge getCachedWrapper(Node*) into DOMDataStore</short_desc>
          <delta_ts>2012-11-20 18:31:16 -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>New Bugs</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>
          <dependson>102156</dependson>
    
    <dependson>102777</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>dcarney</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>766232</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-13 17:36:01 -0800</bug_when>
    <thetext>[V8] Merge getCachedWrapper(Node*) into DOMDataStore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766233</commentid>
    <comment_count>1</comment_count>
      <attachid>174035</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-13 17:37:09 -0800</bug_when>
    <thetext>Created attachment 174035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766235</commentid>
    <comment_count>2</comment_count>
      <attachid>174035</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-13 17:39:09 -0800</bug_when>
    <thetext>Comment on attachment 174035
Patch

Seems reasonable.  Normal caveat applies (talk to harken if you feel you need).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766237</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-11-13 17:39:54 -0800</bug_when>
    <thetext>I mean haraken. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766291</commentid>
    <comment_count>4</comment_count>
      <attachid>174035</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-13 18:33:27 -0800</bug_when>
    <thetext>Comment on attachment 174035
Patch

LGTM too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771241</commentid>
    <comment_count>5</comment_count>
      <attachid>175085</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 17:15:37 -0800</bug_when>
    <thetext>Created attachment 175085
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771242</commentid>
    <comment_count>6</comment_count>
      <attachid>175086</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 17:16:42 -0800</bug_when>
    <thetext>Created attachment 175086
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771245</commentid>
    <comment_count>7</comment_count>
      <attachid>175087</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 17:18:07 -0800</bug_when>
    <thetext>Created attachment 175087
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771291</commentid>
    <comment_count>8</comment_count>
      <attachid>175087</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 17:42:39 -0800</bug_when>
    <thetext>Comment on attachment 175087
Patch for landing

Rejecting attachment 175087 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
kendImpl.h:32,
                 from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp:27:
Source/WebCore/Modules/indexeddb/IDBBackingStore.h:76: error: ISO C++ forbids declaration of &apos;DISALLOW_COPY_AND_ASSIGN&apos; with no type
  CXX(target) out/Release/obj.target/webcore_remaining/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.o
make: *** [out/Release/obj.target/webcore_remaining/Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.o] Error 1
make: *** Waiting for unfinished jobs....

Full output: http://queues.webkit.org/results/14894386</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771295</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 17:44:50 -0800</bug_when>
    <thetext>I don&apos;t understand how this compiles without my patch...  DISALLOW_COPY_AND_ASSIGN isn&apos;t a WebKit macro...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771365</commentid>
    <comment_count>10</comment_count>
      <attachid>175087</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 18:40:11 -0800</bug_when>
    <thetext>Comment on attachment 175087
Patch for landing

Clearing flags on attachment: 175087

Committed r135230: &lt;http://trac.webkit.org/changeset/135230&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771366</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 18:40:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771454</commentid>
    <comment_count>12</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-19 21:08:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 175087 [details])
&gt; Clearing flags on attachment: 175087
&gt; 
&gt; Committed r135230: &lt;http://trac.webkit.org/changeset/135230&gt;

This commit caused compilation failure on Chromium Debug builders: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/1943/steps/compile/logs/stdio

I removed the ASSERT for now in http://trac.webkit.org/changeset/135244.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771516</commentid>
    <comment_count>13</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-19 22:16:52 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771517</commentid>
    <comment_count>14</comment_count>
      <attachid>175140</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-19 22:16:54 -0800</bug_when>
    <thetext>Created attachment 175140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771518</commentid>
    <comment_count>15</comment_count>
      <attachid>175140</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-19 22:18:06 -0800</bug_when>
    <thetext>Comment on attachment 175140
Patch

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

&gt; Source/WebCore/bindings/v8/DOMDataStore.h:66
&gt; +        if (LIKELY(!DOMWrapperWorld::isolatedWorldsExist())) {

Just a confirmation: !v8::Context::InContext() is not needed here, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771574</commentid>
    <comment_count>16</comment_count>
      <attachid>175140</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 23:33:07 -0800</bug_when>
    <thetext>Comment on attachment 175140
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/DOMDataStore.h:66
&gt;&gt; +        if (LIKELY(!DOMWrapperWorld::isolatedWorldsExist())) {
&gt; 
&gt; Just a confirmation: !v8::Context::InContext() is not needed here, right?

Correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771575</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 23:34:10 -0800</bug_when>
    <thetext>&gt; This commit caused compilation failure on Chromium Debug builders: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/1943/steps/compile/logs/stdio
&gt; 
&gt; I removed the ASSERT for now in http://trac.webkit.org/changeset/135244.

Thanks.  Yes, now that this function is static, we can&apos;t assert something about the object&apos;s member variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771585</commentid>
    <comment_count>18</comment_count>
      <attachid>175140</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 23:40:36 -0800</bug_when>
    <thetext>Comment on attachment 175140
Patch

Clearing flags on attachment: 175140

Committed r135257: &lt;http://trac.webkit.org/changeset/135257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771587</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 23:40:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771616</commentid>
    <comment_count>20</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-20 00:02:41 -0800</bug_when>
    <thetext>This (In reply to comment #18)
&gt; (From update of attachment 175140 [details])
&gt; Clearing flags on attachment: 175140
&gt; 
&gt; Committed r135257: &lt;http://trac.webkit.org/changeset/135257&gt;

This change broke Debug compilation for the same reason as the original patch:

In file included from ../../WebCore/bindings/v8/V8DOMWrapper.h:34:
../../WebCore/bindings/v8/DOMDataStore.h:67:20: error: call to non-static member function without an object argument
            ASSERT(wrapperIsStoredInObject(object));
                   ^~~~~~~~~~~~~~~~~~~~~~~
../../WTF/wtf/Assertions.h:247:8: note: expanded from macro &apos;ASSERT&apos;
    (!(assertion) ? \
       ^

http://chromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac%20Builder%20%28dbg%29/builds/34123/steps/compile/logs/stdio

Please make sure your changes at least compile before committing them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771619</commentid>
    <comment_count>21</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 00:04:22 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; This change broke Debug compilation for the same reason as the original patch:

I&apos;m sorry, I&apos;ll fix asap after confirming the debug build locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771640</commentid>
    <comment_count>22</comment_count>
      <attachid>175168</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 00:29:50 -0800</bug_when>
    <thetext>Created attachment 175168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771641</commentid>
    <comment_count>23</comment_count>
      <attachid>175168</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 00:30:48 -0800</bug_when>
    <thetext>Comment on attachment 175168
Patch

I confirmed it works in my local Chromiu/Debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771643</commentid>
    <comment_count>24</comment_count>
      <attachid>175168</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 00:31:32 -0800</bug_when>
    <thetext>Comment on attachment 175168
Patch

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

&gt; Source/WebCore/bindings/v8/DOMDataStore.h:67
&gt; -            ASSERT(wrapperIsStoredInObject(object));
&gt; +            ASSERT(current(isolate)-&gt;wrapperIsStoredInObject(object));

This isn&apos;t right.  Let&apos;s just remove the assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771644</commentid>
    <comment_count>25</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 00:36:05 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; &gt; Source/WebCore/bindings/v8/DOMDataStore.h:67
&gt; &gt; -            ASSERT(wrapperIsStoredInObject(object));
&gt; &gt; +            ASSERT(current(isolate)-&gt;wrapperIsStoredInObject(object));
&gt; 
&gt; This isn&apos;t right.  Let&apos;s just remove the assertion.

It&apos;s OK to remove the assertion, but why isn&apos;t it right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771659</commentid>
    <comment_count>26</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 01:27:11 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; &gt; Source/WebCore/bindings/v8/DOMDataStore.h:67
&gt; &gt; &gt; -            ASSERT(wrapperIsStoredInObject(object));
&gt; &gt; &gt; +            ASSERT(current(isolate)-&gt;wrapperIsStoredInObject(object));
&gt; &gt; 
&gt; &gt; This isn&apos;t right.  Let&apos;s just remove the assertion.
&gt; 
&gt; It&apos;s OK to remove the assertion, but why isn&apos;t it right?

You&apos;re right, this assertion is correct.  Node implies that we must be on the main thread, and the non-existence of isolated worlds implies that this must be the main world.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772284</commentid>
    <comment_count>27</comment_count>
      <attachid>175168</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 16:42:20 -0800</bug_when>
    <thetext>Comment on attachment 175168
Patch

I need to rebase with ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772297</commentid>
    <comment_count>28</comment_count>
      <attachid>175303</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 16:52:01 -0800</bug_when>
    <thetext>Created attachment 175303
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772307</commentid>
    <comment_count>29</comment_count>
      <attachid>175303</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 16:55:48 -0800</bug_when>
    <thetext>Comment on attachment 175303
patch for landing

One moment.  This patch is based on something we might need to roll out because of  bug 102852</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772308</commentid>
    <comment_count>30</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 16:57:08 -0800</bug_when>
    <thetext>ok, feel free to insert this assertion when you reland your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772339</commentid>
    <comment_count>31</comment_count>
      <attachid>175303</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 17:54:09 -0800</bug_when>
    <thetext>Comment on attachment 175303
patch for landing

One moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772369</commentid>
    <comment_count>32</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 18:31:16 -0800</bug_when>
    <thetext>If you don&apos;t mind, we can skip this patch because I&apos;m changing how this stuff works a bit in bug 102854.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174035</attachid>
            <date>2012-11-13 17:37:09 -0800</date>
            <delta_ts>2012-11-19 17:15:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102158-20121113173510.patch</filename>
            <type>text/plain</type>
            <size>8671</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBhZTM0MmMxZWNjMGFm
ZmZmOTA0ZjlkMDk3ZDQyNjdmMDMzZjdlZS4uZDk1YWNlOTMxZjdiNzgxYzZhM2U1OGU2MjQ2ODdl
MzA5NDI0ZTBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEyLTExLTEzICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgW1Y4XSBNZXJnZSBnZXRDYWNo
ZWRXcmFwcGVyKE5vZGUqKSBpbnRvIERPTURhdGFTdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbiBpbmNyZW1lbnRhbCBz
dGVwIHRvd2FyZHMgZnVsbHkgbWVyZ2luZyB0aGUgTm9kZSBjb2RlCisgICAgICAgIHBhdGggd2l0
aCB0aGUgZ2VuZXJhbCBjb2RlIHBhdGguIEFmdGVyIHRoaXMgcGF0Y2gsIGF0IGxlYXN0IE5vZGVz
IGZsb3cKKyAgICAgICAgdGhyb3VnaCB0aGUgc2FtZSBjbGFzcy4KKworICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVy
KToKKyAgICAgICAgKEdlbmVyYXRlVG9WOENvbnZlcnRlcnMpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpnZXRO
b2RlKToKKyAgICAgICAgKERPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRh
U3RvcmU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01X
cmFwcGVyV29ybGQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01X
cmFwcGVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
RE9NV3JhcHBlcldvcmxkLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERPTVdyYXBw
ZXJXb3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmg6CisgICAgICAg
IChWOERPTVdyYXBwZXIpOgorCisyMDEyLTExLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CisKICAgICAgICAgW1Y4XSBTaW1wbGlmeSBWOERPTVdpbmRvd1NoZWxsOjpnZXRFbnRl
cmVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIx
NTYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCmluZGV4IGU3YjlmY2FmYmJjYzA3ZDQ2NGU2ZDdj
ZGM3MzlmZTcxNmNkNTIyYzAuLjgyOTk4NTMyMjBjY2FhNjQ1NGNmNjQyZTgwNTk4NDA4MjYzMzRi
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZS5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RI
YXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDc3Y2RmMTRjMWQ0
NjY5NDNiM2MwOTI1ZTE1ZWE5MjQwNmNkY2FmZWMuLmUxZGU1YTk3NDNjY2U2YTQ1ZTE3MWI5MGYw
OTRhZGQ4NzdlYTdlM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC01NDUsNyArNTQ1LDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoJHtuYXRpdmVUeXBlfSosIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRp
b25Db250ZXgKIEVORAogICAgIH0gZWxzZSB7CiAKLSAgICAgICAgbXkgJGdldENhY2hlZFdyYXBw
ZXIgPSBJc05vZGVTdWJUeXBlKCRkYXRhTm9kZSkgPyAiVjhET01XcmFwcGVyOjpnZXRDYWNoZWRX
cmFwcGVyKGltcGwpIiA6ICJET01EYXRhU3RvcmU6OmN1cnJlbnQoaXNvbGF0ZSktPmdldChpbXBs
KSI7CisgICAgICAgIG15ICRnZXRDYWNoZWRXcmFwcGVyID0gSXNOb2RlU3ViVHlwZSgkZGF0YU5v
ZGUpID8gIkRPTURhdGFTdG9yZTo6Z2V0Tm9kZShpbXBsLCBpc29sYXRlKSIgOiAiRE9NRGF0YVN0
b3JlOjpjdXJyZW50KGlzb2xhdGUpLT5nZXQoaW1wbCkiOwogICAgICAgICBteSAkd3JhcFNsb3dD
YWxsID0gJGN1c3RvbVdyYXAgPyAiJHtjbGFzc05hbWV9OjpkaXNwYXRjaFdyYXBDdXN0b20iIDog
IiR7Y2xhc3NOYW1lfTo6d3JhcFNsb3ciOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCA8
PEVORCk7CiAKQEAgLTM0OTAsNyArMzQ5MCw3IEBAIHN1YiBHZW5lcmF0ZVRvVjhDb252ZXJ0ZXJz
CiAKICAgICBteSAkd3JhcFNsb3dBcmd1bWVudFR5cGUgPSBHZXRQYXNzUmVmUHRyVHlwZSgkbmF0
aXZlVHlwZSk7CiAgICAgbXkgJGJhc2VUeXBlID0gQmFzZUludGVyZmFjZU5hbWUoJGRhdGFOb2Rl
KTsKLSAgICBteSAkZ2V0Q2FjaGVkV3JhcHBlciA9IElzTm9kZVN1YlR5cGUoJGRhdGFOb2RlKSA/
ICJWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbC5nZXQoKSkiIDogIkRPTURhdGFT
dG9yZTo6Y3VycmVudChpc29sYXRlKS0+Z2V0KGltcGwuZ2V0KCkpIjsKKyAgICBteSAkZ2V0Q2Fj
aGVkV3JhcHBlciA9IElzTm9kZVN1YlR5cGUoJGRhdGFOb2RlKSA/ICJET01EYXRhU3RvcmU6Omdl
dE5vZGUoaW1wbC5nZXQoKSwgaXNvbGF0ZSkiIDogIkRPTURhdGFTdG9yZTo6Y3VycmVudChpc29s
YXRlKS0+Z2V0KGltcGwuZ2V0KCkpIjsKIAogICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
CiAKQEAgLTM1MTIsNyArMzUxMiw3IEBAIEVORAogICAgIGlmIChGcmFtZSogZnJhbWUgPSBpbXBs
LT5mcmFtZSgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+c2NyaXB0KCktPmluaXRpYWxpemVNYWlu
V29ybGQoKSkgewogICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZU1haW5Xb3JsZCBtYXkgaGF2ZSBj
cmVhdGVkIGEgd3JhcHBlciBmb3IgdGhlIG9iamVjdCwgcmV0cnkgZnJvbSB0aGUgc3RhcnQuCi0g
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOERPTVdyYXBwZXI6
OmdldENhY2hlZFdyYXBwZXIoaW1wbC5nZXQoKSk7CisgICAgICAgICAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXIgPSBET01EYXRhU3RvcmU6OmdldE5vZGUoaW1wbC5nZXQoKSwgaXNv
bGF0ZSk7CiAgICAgICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICAgICAg
ICAgIHJldHVybiB3cmFwcGVyOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oCmluZGV4IDRhZjljZTAxY2ExOTRlOWQwMGE0YTE1NmIyYzZiY2NjZGM2
YjhhYTkuLjBkODNiZjRlYmQ3NDVkZDk3ZmI2YjI2Y2Y3Yjk2ZTY3Njg4MzlkZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zMiw2ICszMiw3IEBACiAj
ZGVmaW5lIERPTURhdGFTdG9yZV9oCiAKICNpbmNsdWRlICJET01XcmFwcGVyTWFwLmgiCisjaW5j
bHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgPHY4
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KQEAgLTU5LDYgKzYwLDEzIEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBET01EYXRhU3RvcmUqIGN1cnJlbnQodjg6Oklzb2xhdGUqKTsKIAorICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldE5vZGUoTm9kZSogb2JqZWN0LCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSkKKyAgICB7CisgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBwZXJX
b3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkKKyAgICAgICAgICAgIHJldHVybiBnZXRXcmFw
cGVyRnJvbU9iamVjdChvYmplY3QpOworICAgICAgICByZXR1cm4gY3VycmVudChpc29sYXRlKS0+
Z2V0KG9iamVjdCk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBpbmxp
bmUgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXQoVCogb2JqZWN0KQogICAgIHsKQEAgLTgxLDEz
ICs4OSwxMyBAQCBwcml2YXRlOgogICAgIGJvb2wgd3JhcHBlcklzU3RvcmVkSW5PYmplY3Qodm9p
ZCopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCB3cmFwcGVySXNTdG9yZWRJbk9i
amVjdChTY3JpcHRXcmFwcGFibGUqKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gTWFpbldvcmxk
OyB9CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBwZXJGcm9tT2JqZWN0KHZv
aWQqKSBjb25zdAorICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBwZXJG
cm9tT2JqZWN0KHZvaWQqKQogICAgIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CiAgICAgfQogCi0gICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFwcGVyRnJvbU9iamVjdChTY3JpcHRXcmFwcGFibGUq
IG9iamVjdCkgY29uc3QKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFw
cGVyRnJvbU9iamVjdChTY3JpcHRXcmFwcGFibGUqIG9iamVjdCkKICAgICB7CiAgICAgICAgIEFT
U0VSVChtX3R5cGUgPT0gTWFpbldvcmxkKTsKICAgICAgICAgcmV0dXJuIG9iamVjdC0+d3JhcHBl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NV3JhcHBlcldv
cmxkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5jcHAK
aW5kZXggOTNkZDgyZWYzZjJkOGYwYzdkZDU0MDcwMjRhMGUxNzQ3OTYyZjc1Yi4uZDNhMDk1MmE5
Zjk3NWUwMmE1MDc3OTJhN2ExZjk3YTZiYTQ0YmExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAKKyNpbmNsdWRlICJE
T01EYXRhU3RvcmUuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtNDgsNiArNDksMTQgQEAgUGFzc1JlZlB0cjxET01XcmFw
cGVyV29ybGQ+IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlTWFpbldvcmxkKCkKICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IERPTVdyYXBwZXJXb3JsZChtYWluV29ybGRJZCwgbWFpbldvcmxkRXh0ZW5z
aW9uR3JvdXApKTsKIH0KIAorRE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQoaW50IHdv
cmxkSWQsIGludCBleHRlbnNpb25Hcm91cCkKKyAgICA6IG1fd29ybGRJZCh3b3JsZElkKQorICAg
ICwgbV9leHRlbnNpb25Hcm91cChleHRlbnNpb25Hcm91cCkKK3sKKyAgICBpZiAoaXNJc29sYXRl
ZFdvcmxkKCkpCisgICAgICAgIG1fZG9tRGF0YVN0b3JlID0gYWRvcHRQdHIobmV3IERPTURhdGFT
dG9yZShET01EYXRhU3RvcmU6Oklzb2xhdGVkV29ybGQpKTsKK30KKwogRE9NV3JhcHBlcldvcmxk
KiBtYWluVGhyZWFkTm9ybWFsV29ybGQoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5oCmluZGV4IGFl
ZDRmNGY5ZWFjMDU0MTQxYmE5OGU4NTM2NDcwYWQwY2JlYTNkNDQuLjI5MDA4ODZkN2I3NGUzMTAw
NGNlNDc0YTAxYTdhMWRkYjgxNGU1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0RPTVdyYXBwZXJXb3JsZC5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIERPTVdyYXBwZXJX
b3JsZF9oCiAjZGVmaW5lIERPTVdyYXBwZXJXb3JsZF9oCiAKLSNpbmNsdWRlICJET01EYXRhU3Rv
cmUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQwLDYgKzM5LDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01EYXRhU3RvcmU7CisKIC8vIFRoaXMgY2xh
c3MgcmVwcmVzZW50IGEgY29sbGVjdGlvbiBvZiBET00gd3JhcHBlcnMgZm9yIGEgc3BlY2lmaWMg
d29ybGQuCiBjbGFzcyBET01XcmFwcGVyV29ybGQgOiBwdWJsaWMgV1RGOjpSZWZDb3VudGVkQmFz
ZSB7CiBwdWJsaWM6CkBAIC05NSwxMyArOTYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gY3JlYXRlTWFpbldvcmxkKCk7CiAgICAgc3RhdGljIHZv
aWQgZGVhbGxvY2F0ZShET01XcmFwcGVyV29ybGQqKTsKIAotICAgIERPTVdyYXBwZXJXb3JsZChp
bnQgd29ybGRJZCwgaW50IGV4dGVuc2lvbkdyb3VwKQotICAgICAgICA6IG1fd29ybGRJZCh3b3Js
ZElkKQotICAgICAgICAsIG1fZXh0ZW5zaW9uR3JvdXAoZXh0ZW5zaW9uR3JvdXApCi0gICAgewot
ICAgICAgICBpZiAoaXNJc29sYXRlZFdvcmxkKCkpCi0gICAgICAgICAgICBtX2RvbURhdGFTdG9y
ZSA9IGFkb3B0UHRyKG5ldyBET01EYXRhU3RvcmUoRE9NRGF0YVN0b3JlOjpJc29sYXRlZFdvcmxk
KSk7Ci0gICAgfQorICAgIERPTVdyYXBwZXJXb3JsZChpbnQgd29ybGRJZCwgaW50IGV4dGVuc2lv
bkdyb3VwKTsKIAogICAgIGNvbnN0IGludCBtX3dvcmxkSWQ7CiAgICAgY29uc3QgaW50IG1fZXh0
ZW5zaW9uR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCmlu
ZGV4IDJkYTllNzMyODhkN2NjNGJkNjRkNDcyZWRmOWNlZjIyNmRhM2MyZmIuLjhiYWFlYmM1YzZi
MjQ3MzU5MmE5N2YwNDIyNmQ3YzRmYjVkMDJkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5oCkBAIC0xMTIsMjAgKzExMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICBzdGF0aWMgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluc3RhbnRpYXRlVjhP
YmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIFdyYXBwZXJUeXBl
SW5mbyosIHZvaWQqKTsKIAotICAgICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBn
ZXRDYWNoZWRXcmFwcGVyKE5vZGUqIG5vZGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgICAgICAgICBpZiAoTElLRUxZKCFET01XcmFwcGVyV29y
bGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkgfHwgIXY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+d3JhcHBlcigpOwotCi0gICAgICAgICAgICB2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEVudGVyZWQo
KTsKLSAgICAgICAgICAgIFY4RE9NV2luZG93U2hlbGwqIHNoZWxsID0gVjhET01XaW5kb3dTaGVs
bDo6aXNvbGF0ZWQoY29udGV4dCk7Ci0gICAgICAgICAgICBpZiAoTElLRUxZKCFzaGVsbCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUtPndyYXBwZXIoKTsKLQotICAgICAgICAgICAgcmV0
dXJuIHNoZWxsLT53b3JsZCgpLT5pc29sYXRlZFdvcmxkRE9NRGF0YVN0b3JlKCktPmdldChub2Rl
KTsKLSAgICAgICAgfQotCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIHZvaWQgc2V0V3Jh
cHBlckNsYXNzKHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQogICAg
ICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175085</attachid>
            <date>2012-11-19 17:15:37 -0800</date>
            <delta_ts>2012-11-19 17:16:40 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102158-20121119171327.patch</filename>
            <type>text/plain</type>
            <size>10111</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY1NjgwMDcyZjhhZTE4
NjYwZWJkMTlhNjg1OTlkNjNjMzNlM2M2Zi4uN2Q4NWEzMmUxMDEzYTMwY2FjYTQyYzY0MmUzZmM1
NzdhMmNiMzE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTE5ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1Y4XSBNZXJnZSBnZXRDYWNo
ZWRXcmFwcGVyKE5vZGUqKSBpbnRvIERPTURhdGFTdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbiBpbmNyZW1lbnRhbCBzdGVw
IHRvd2FyZHMgZnVsbHkgbWVyZ2luZyB0aGUgTm9kZSBjb2RlCisgICAgICAgIHBhdGggd2l0aCB0
aGUgZ2VuZXJhbCBjb2RlIHBhdGguIEFmdGVyIHRoaXMgcGF0Y2gsIGF0IGxlYXN0IE5vZGVzIGZs
b3cKKyAgICAgICAgdGhyb3VnaCB0aGUgc2FtZSBjbGFzcy4KKworICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToK
KyAgICAgICAgKEdlbmVyYXRlVG9WOENvbnZlcnRlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpnZXROb2Rl
KToKKyAgICAgICAgKERPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3Rv
cmU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01XcmFw
cGVyV29ybGQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01XcmFw
cGVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9N
V3JhcHBlcldvcmxkLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERPTVdyYXBwZXJX
b3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmg6CisgICAgICAgIChW
OERPTVdyYXBwZXIpOgorCiAyMDEyLTExLTE5ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBCdWlsZCBmaXggZm9yIENocm9taXVtLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3Jl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaApp
bmRleCA1MjA3Y2M4YjhhMmY1NzQwYTBhY2NlNDg0ODQzM2UxZDY0OGIxYTcxLi4zODJkMGY1MmYy
NmVkN2I4MTYxNmMwMjk0ODM1MjRhZTA4YjQ0ZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaApAQCAtNzMsNyArNzMsNyBAQCBw
dWJsaWM6CiAgICAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPGNoYXI+IG1fcHJpbWFyeUtleTsg
Ly8gRklYTUU6IE1ha2UgaXQgbW9yZSBjbGVhciB0aGF0IHRoaXMgaXMgdGhlICplbmNvZGVkKiB2
ZXJzaW9uIG9mIHRoZSBrZXkuCiAgICAgICAgIGludDY0X3QgbV92ZXJzaW9uOwotICAgICAgICBE
SVNBTExPV19DT1BZX0FORF9BU1NJR04oUmVjb3JkSWRlbnRpZmllcik7CisgICAgICAgIC8vIERJ
U0FMTE9XX0NPUFlfQU5EX0FTU0lHTihSZWNvcmRJZGVudGlmaWVyKTsKICAgICB9OwogCiAgICAg
dmlydHVhbCBTdHJpbmcgZ2V0UmVjb3JkKElEQkJhY2tpbmdTdG9yZTo6VHJhbnNhY3Rpb24qLCBp
bnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgY29uc3QgSURCS2V5Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggZTdiOWZjYWZiYmNjMDdkNDY0ZTZkN2NkYzcz
OWZlNzE2Y2Q1MjJjMC4uODI5OTg1MzIyMGNjYWE2NDU0Y2Y2NDJlODA1OTg0MDgyNjMzNGJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rp
b25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggNmI3NmExYWQ3MGQ0Y2Vl
YWI0NjcxYWM0YmM2OTJiNjhlYzg1OTFjMS4uZjA2OWQ1NmE4OTViZTQ0ZDE4OWIyMmZiZmM4ZTdj
OWU0OGRhMThhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yVjgucG0KQEAgLTUzNCw3ICs1MzQsNyBAQCBpbmxpbmUgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjhGYXN0KCR7bmF0aXZlVHlwZX0qIGltcGwsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZgogRU5ECiAgICAgfSBlbHNlIHsKIAotICAgICAgICBteSAkZ2V0Q2FjaGVkV3JhcHBlciA9
ICRjb2RlR2VuZXJhdG9yLT5Jc1N1YlR5cGUoJGRhdGFOb2RlLCAiTm9kZSIpID8gIlY4RE9NV3Jh
cHBlcjo6Z2V0Q2FjaGVkV3JhcHBlcihpbXBsKSIgOiAiRE9NRGF0YVN0b3JlOjpjdXJyZW50KGlz
b2xhdGUpLT5nZXQoaW1wbCkiOworICAgICAgICBteSAkZ2V0Q2FjaGVkV3JhcHBlciA9ICRjb2Rl
R2VuZXJhdG9yLT5Jc1N1YlR5cGUoJGRhdGFOb2RlLCAiTm9kZSIpID8gIkRPTURhdGFTdG9yZTo6
Z2V0Tm9kZShpbXBsLCBpc29sYXRlKSIgOiAiRE9NRGF0YVN0b3JlOjpjdXJyZW50KGlzb2xhdGUp
LT5nZXQoaW1wbCkiOwogICAgICAgICBteSAkY3JlYXRlV3JhcHBlckNhbGwgPSAkY3VzdG9tV3Jh
cCA/ICIke3Y4SW50ZXJmYWNlTmFtZX06OndyYXAiIDogIiR7djhJbnRlcmZhY2VOYW1lfTo6Y3Jl
YXRlV3JhcHBlciI7CiAKICAgICAgICAgaWYgKCRjdXN0b21XcmFwKSB7CkBAIC01ODcsNyArNTg3
LDcgQEAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4RmFzdCgke25hdGl2ZVR5cGV9
KiBpbXBsLCBjb25zdCB2ODo6QWNjZXNzb3JJbmYKICAgICAvLyBpbiBhbiBpc29sYXRlZCB3b3Js
ZC4gVGhlIGZhc3Rlc3Qgd2F5IHdlIGtub3cgaG93IHRvIGRvIHRoYXQgaXMgdG8gY2hlY2sKICAg
ICAvLyB3aGV0aGVyIHRoZSBob2xkZXIncyBpbmxpbmUgd3JhcHBlciBpcyB0aGUgc2FtZSB3cmFw
cGVyIHdlIHNlZSBpbiB0aGUKICAgICAvLyB2ODo6QWNjZXNzb3JJbmZvLgotICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IChob2xkZXItPndyYXBwZXIoKSA9PSBpbmZvLkhvbGRl
cigpKSA/IGltcGwtPndyYXBwZXIoKSA6IFY4RE9NV3JhcHBlcjo6Z2V0Q2FjaGVkV3JhcHBlcihp
bXBsKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSAoaG9sZGVyLT53cmFw
cGVyKCkgPT0gaW5mby5Ib2xkZXIoKSkgPyBpbXBsLT53cmFwcGVyKCkgOiBET01EYXRhU3RvcmU6
OmdldE5vZGUoaW1wbCwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGlmICghd3JhcHBlci5Jc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIHJldHVybiB3cmFwKGltcGwsIGlu
Zm8uSG9sZGVyKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKQEAgLTM0MzMsNyArMzQzMyw3IEBAIHN1
YiBHZW5lcmF0ZVRvVjhDb252ZXJ0ZXJzCiAKICAgICBteSAkY3JlYXRlV3JhcHBlckFyZ3VtZW50
VHlwZSA9IEdldFBhc3NSZWZQdHJUeXBlKCRuYXRpdmVUeXBlKTsKICAgICBteSAkYmFzZVR5cGUg
PSBCYXNlSW50ZXJmYWNlTmFtZSgkZGF0YU5vZGUpOwotICAgIG15ICRnZXRDYWNoZWRXcmFwcGVy
ID0gJGNvZGVHZW5lcmF0b3ItPklzU3ViVHlwZSgkZGF0YU5vZGUsICJOb2RlIikgPyAiVjhET01X
cmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwuZ2V0KCkpIiA6ICJET01EYXRhU3RvcmU6OmN1
cnJlbnQoaXNvbGF0ZSktPmdldChpbXBsLmdldCgpKSI7CisgICAgbXkgJGdldENhY2hlZFdyYXBw
ZXIgPSAkY29kZUdlbmVyYXRvci0+SXNTdWJUeXBlKCRkYXRhTm9kZSwgIk5vZGUiKSA/ICJET01E
YXRhU3RvcmU6OmdldE5vZGUoaW1wbC5nZXQoKSwgaXNvbGF0ZSkiIDogIkRPTURhdGFTdG9yZTo6
Y3VycmVudChpc29sYXRlKS0+Z2V0KGltcGwuZ2V0KCkpIjsKIAogICAgIHB1c2goQGltcGxDb250
ZW50LCA8PEVORCk7CiAKQEAgLTM0NTUsNyArMzQ1NSw3IEBAIEVORAogICAgIGlmIChGcmFtZSog
ZnJhbWUgPSBpbXBsLT5mcmFtZSgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+c2NyaXB0KCktPmlu
aXRpYWxpemVNYWluV29ybGQoKSkgewogICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZU1haW5Xb3Js
ZCBtYXkgaGF2ZSBjcmVhdGVkIGEgd3JhcHBlciBmb3IgdGhlIG9iamVjdCwgcmV0cnkgZnJvbSB0
aGUgc3RhcnQuCi0gICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBW
OERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbC5nZXQoKSk7CisgICAgICAgICAgICB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBET01EYXRhU3RvcmU6OmdldE5vZGUoaW1w
bC5nZXQoKSwgaXNvbGF0ZSk7CiAgICAgICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQog
ICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IDM5MjBjNzgzNGUxNTRiMjAzOGZkYmYx
MTdmMGNlYjVlNGI4ZWZhZDAuLjVlM2QzNjc3ZTBkOWNjYzU3ODJjYTA0MzllNWNmOTY0MDYxOWZm
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zMiw2
ICszMiw3IEBACiAjZGVmaW5lIERPTURhdGFTdG9yZV9oCiAKICNpbmNsdWRlICJET01XcmFwcGVy
TWFwLmgiCisjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgog
I2luY2x1ZGUgIlY4R0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8djguaD4KQEAgLTYwLDYgKzYx
LDEzIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBET01EYXRhU3RvcmUqIGN1cnJlbnQodjg6Oklz
b2xhdGUqKTsKIAorICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldE5vZGUoTm9k
ZSogb2JqZWN0LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKKyAgICB7CisgICAgICAgIGlmIChMSUtF
TFkoIURPTVdyYXBwZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkKKyAgICAgICAgICAg
IHJldHVybiBnZXRXcmFwcGVyRnJvbU9iamVjdChvYmplY3QpOworICAgICAgICByZXR1cm4gY3Vy
cmVudChpc29sYXRlKS0+Z2V0KG9iamVjdCk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4KICAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXQoVCogb2JqZWN0KQog
ICAgIHsKQEAgLTgyLDEzICs5MCwxMyBAQCBwcml2YXRlOgogICAgIGJvb2wgd3JhcHBlcklzU3Rv
cmVkSW5PYmplY3Qodm9pZCopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCB3cmFw
cGVySXNTdG9yZWRJbk9iamVjdChTY3JpcHRXcmFwcGFibGUqKSBjb25zdCB7IHJldHVybiBtX3R5
cGUgPT0gTWFpbldvcmxkOyB9CiAKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGdldFdyYXBw
ZXJGcm9tT2JqZWN0KHZvaWQqKSBjb25zdAorICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IGdldFdyYXBwZXJGcm9tT2JqZWN0KHZvaWQqKQogICAgIHsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CiAg
ICAgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFwcGVyRnJvbU9iamVjdChT
Y3JpcHRXcmFwcGFibGUqIG9iamVjdCkgY29uc3QKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBnZXRXcmFwcGVyRnJvbU9iamVjdChTY3JpcHRXcmFwcGFibGUqIG9iamVjdCkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX3R5cGUgPT0gTWFpbldvcmxkKTsKICAgICAgICAgcmV0dXJu
IG9iamVjdC0+d3JhcHBlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvRE9NV3JhcHBlcldvcmxkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdy
YXBwZXJXb3JsZC5jcHAKaW5kZXggOTNkZDgyZWYzZjJkOGYwYzdkZDU0MDcwMjRhMGUxNzQ3OTYy
Zjc1Yi4uZDNhMDk1MmE5Zjk3NWUwMmE1MDc3OTJhN2ExZjk3YTZiYTQ0YmExYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgi
CiAKKyNpbmNsdWRlICJET01EYXRhU3RvcmUuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtNDgsNiArNDksMTQgQEAgUGFz
c1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlTWFpbldvcmxk
KCkKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERPTVdyYXBwZXJXb3JsZChtYWluV29ybGRJZCwg
bWFpbldvcmxkRXh0ZW5zaW9uR3JvdXApKTsKIH0KIAorRE9NV3JhcHBlcldvcmxkOjpET01XcmFw
cGVyV29ybGQoaW50IHdvcmxkSWQsIGludCBleHRlbnNpb25Hcm91cCkKKyAgICA6IG1fd29ybGRJ
ZCh3b3JsZElkKQorICAgICwgbV9leHRlbnNpb25Hcm91cChleHRlbnNpb25Hcm91cCkKK3sKKyAg
ICBpZiAoaXNJc29sYXRlZFdvcmxkKCkpCisgICAgICAgIG1fZG9tRGF0YVN0b3JlID0gYWRvcHRQ
dHIobmV3IERPTURhdGFTdG9yZShET01EYXRhU3RvcmU6Oklzb2xhdGVkV29ybGQpKTsKK30KKwog
RE9NV3JhcHBlcldvcmxkKiBtYWluVGhyZWFkTm9ybWFsV29ybGQoKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01XcmFwcGVyV29ybGQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJX
b3JsZC5oCmluZGV4IGFlZDRmNGY5ZWFjMDU0MTQxYmE5OGU4NTM2NDcwYWQwY2JlYTNkNDQuLjI5
MDA4ODZkN2I3NGUzMTAwNGNlNDc0YTAxYTdhMWRkYjgxNGU1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZu
ZGVmIERPTVdyYXBwZXJXb3JsZF9oCiAjZGVmaW5lIERPTVdyYXBwZXJXb3JsZF9oCiAKLSNpbmNs
dWRlICJET01EYXRhU3RvcmUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQw
LDYgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01EYXRhU3RvcmU7
CisKIC8vIFRoaXMgY2xhc3MgcmVwcmVzZW50IGEgY29sbGVjdGlvbiBvZiBET00gd3JhcHBlcnMg
Zm9yIGEgc3BlY2lmaWMgd29ybGQuCiBjbGFzcyBET01XcmFwcGVyV29ybGQgOiBwdWJsaWMgV1RG
OjpSZWZDb3VudGVkQmFzZSB7CiBwdWJsaWM6CkBAIC05NSwxMyArOTYsNyBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gY3JlYXRlTWFpbldvcmxkKCk7
CiAgICAgc3RhdGljIHZvaWQgZGVhbGxvY2F0ZShET01XcmFwcGVyV29ybGQqKTsKIAotICAgIERP
TVdyYXBwZXJXb3JsZChpbnQgd29ybGRJZCwgaW50IGV4dGVuc2lvbkdyb3VwKQotICAgICAgICA6
IG1fd29ybGRJZCh3b3JsZElkKQotICAgICAgICAsIG1fZXh0ZW5zaW9uR3JvdXAoZXh0ZW5zaW9u
R3JvdXApCi0gICAgewotICAgICAgICBpZiAoaXNJc29sYXRlZFdvcmxkKCkpCi0gICAgICAgICAg
ICBtX2RvbURhdGFTdG9yZSA9IGFkb3B0UHRyKG5ldyBET01EYXRhU3RvcmUoRE9NRGF0YVN0b3Jl
OjpJc29sYXRlZFdvcmxkKSk7Ci0gICAgfQorICAgIERPTVdyYXBwZXJXb3JsZChpbnQgd29ybGRJ
ZCwgaW50IGV4dGVuc2lvbkdyb3VwKTsKIAogICAgIGNvbnN0IGludCBtX3dvcmxkSWQ7CiAgICAg
Y29uc3QgaW50IG1fZXh0ZW5zaW9uR3JvdXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5oCmluZGV4IDZmNDNlNzI0ZDUyY2ZmNWJmZjUwMzY1ZTMxMzIxN2UxYzZiZDk4
ZjkuLjFmODA2MmRjNmQ2OTQ5ZjA4NjFhZjM5Yjk2N2IwMGZmZGNmOTA5YjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCkBAIC0xMTIsMjAgKzExMiw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgdjg6OkxvY2FsPHY4OjpPYmplY3Q+
IGluc3RhbnRpYXRlVjhPYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRl
eHQsIFdyYXBwZXJUeXBlSW5mbyosIHZvaWQqKTsKIAotICAgICAgICBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBnZXRDYWNoZWRXcmFwcGVyKE5vZGUqIG5vZGUpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgICAgICAgICBpZiAoTElLRUxZ
KCFET01XcmFwcGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkgfHwgIXY4OjpDb250ZXh0
OjpJbkNvbnRleHQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+d3JhcHBlcigpOwot
Ci0gICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRl
eHQ6OkdldEVudGVyZWQoKTsKLSAgICAgICAgICAgIFY4RE9NV2luZG93U2hlbGwqIHNoZWxsID0g
VjhET01XaW5kb3dTaGVsbDo6aXNvbGF0ZWQoY29udGV4dCk7Ci0gICAgICAgICAgICBpZiAoTElL
RUxZKCFzaGVsbCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUtPndyYXBwZXIoKTsKLQot
ICAgICAgICAgICAgcmV0dXJuIHNoZWxsLT53b3JsZCgpLT5pc29sYXRlZFdvcmxkRE9NRGF0YVN0
b3JlKCktPmdldChub2RlKTsKLSAgICAgICAgfQotCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3Rh
dGljIHZvaWQgc2V0V3JhcHBlckNsYXNzKHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
PiB3cmFwcGVyKQogICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175086</attachid>
            <date>2012-11-19 17:16:42 -0800</date>
            <delta_ts>2012-11-19 17:18:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102158-20121119171432.patch</filename>
            <type>text/plain</type>
            <size>9365</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY1NjgwMDcyZjhhZTE4
NjYwZWJkMTlhNjg1OTlkNjNjMzNlM2M2Zi4uN2Q4NWEzMmUxMDEzYTMwY2FjYTQyYzY0MmUzZmM1
NzdhMmNiMzE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTE5ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1Y4XSBNZXJnZSBnZXRDYWNo
ZWRXcmFwcGVyKE5vZGUqKSBpbnRvIERPTURhdGFTdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbiBpbmNyZW1lbnRhbCBzdGVw
IHRvd2FyZHMgZnVsbHkgbWVyZ2luZyB0aGUgTm9kZSBjb2RlCisgICAgICAgIHBhdGggd2l0aCB0
aGUgZ2VuZXJhbCBjb2RlIHBhdGguIEFmdGVyIHRoaXMgcGF0Y2gsIGF0IGxlYXN0IE5vZGVzIGZs
b3cKKyAgICAgICAgdGhyb3VnaCB0aGUgc2FtZSBjbGFzcy4KKworICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToK
KyAgICAgICAgKEdlbmVyYXRlVG9WOENvbnZlcnRlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpnZXROb2Rl
KToKKyAgICAgICAgKERPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3Rv
cmU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01XcmFw
cGVyV29ybGQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01XcmFw
cGVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9N
V3JhcHBlcldvcmxkLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERPTVdyYXBwZXJX
b3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmg6CisgICAgICAgIChW
OERPTVdyYXBwZXIpOgorCiAyMDEyLTExLTE5ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBCdWlsZCBmaXggZm9yIENocm9taXVtLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5oCmluZGV4IGU3YjlmY2FmYmJjYzA3ZDQ2NGU2ZDdjZGM3MzlmZTcx
NmNkNTIyYzAuLjgyOTk4NTMyMjBjY2FhNjQ1NGNmNjQyZTgwNTk4NDA4MjYzMzRiZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5o
IgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDZiNzZhMWFkNzBkNGNlZWFiNDY3
MWFjNGJjNjkyYjY4ZWM4NTkxYzEuLmYwNjlkNTZhODk1YmU0NGQxODliMjJmYmZjOGU3YzllNDhk
YTE4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCkBAIC01MzQsNyArNTM0LDcgQEAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4RmFzdCgke25hdGl2ZVR5cGV9KiBpbXBsLCBjb25zdCB2ODo6QWNjZXNzb3JJbmYK
IEVORAogICAgIH0gZWxzZSB7CiAKLSAgICAgICAgbXkgJGdldENhY2hlZFdyYXBwZXIgPSAkY29k
ZUdlbmVyYXRvci0+SXNTdWJUeXBlKCRkYXRhTm9kZSwgIk5vZGUiKSA/ICJWOERPTVdyYXBwZXI6
OmdldENhY2hlZFdyYXBwZXIoaW1wbCkiIDogIkRPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRl
KS0+Z2V0KGltcGwpIjsKKyAgICAgICAgbXkgJGdldENhY2hlZFdyYXBwZXIgPSAkY29kZUdlbmVy
YXRvci0+SXNTdWJUeXBlKCRkYXRhTm9kZSwgIk5vZGUiKSA/ICJET01EYXRhU3RvcmU6OmdldE5v
ZGUoaW1wbCwgaXNvbGF0ZSkiIDogIkRPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRlKS0+Z2V0
KGltcGwpIjsKICAgICAgICAgbXkgJGNyZWF0ZVdyYXBwZXJDYWxsID0gJGN1c3RvbVdyYXAgPyAi
JHt2OEludGVyZmFjZU5hbWV9Ojp3cmFwIiA6ICIke3Y4SW50ZXJmYWNlTmFtZX06OmNyZWF0ZVdy
YXBwZXIiOwogCiAgICAgICAgIGlmICgkY3VzdG9tV3JhcCkgewpAQCAtNTg3LDcgKzU4Nyw3IEBA
IGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOEZhc3QoJHtuYXRpdmVUeXBlfSogaW1w
bCwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mCiAgICAgLy8gaW4gYW4gaXNvbGF0ZWQgd29ybGQuIFRo
ZSBmYXN0ZXN0IHdheSB3ZSBrbm93IGhvdyB0byBkbyB0aGF0IGlzIHRvIGNoZWNrCiAgICAgLy8g
d2hldGhlciB0aGUgaG9sZGVyJ3MgaW5saW5lIHdyYXBwZXIgaXMgdGhlIHNhbWUgd3JhcHBlciB3
ZSBzZWUgaW4gdGhlCiAgICAgLy8gdjg6OkFjY2Vzc29ySW5mby4KLSAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXIgPSAoaG9sZGVyLT53cmFwcGVyKCkgPT0gaW5mby5Ib2xkZXIoKSkg
PyBpbXBsLT53cmFwcGVyKCkgOiBWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbCk7
CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gKGhvbGRlci0+d3JhcHBlcigp
ID09IGluZm8uSG9sZGVyKCkpID8gaW1wbC0+d3JhcHBlcigpIDogRE9NRGF0YVN0b3JlOjpnZXRO
b2RlKGltcGwsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICByZXR1cm4gd3JhcChpbXBsLCBpbmZvLkhv
bGRlcigpLCBpbmZvLkdldElzb2xhdGUoKSk7CkBAIC0zNDMzLDcgKzM0MzMsNyBAQCBzdWIgR2Vu
ZXJhdGVUb1Y4Q29udmVydGVycwogCiAgICAgbXkgJGNyZWF0ZVdyYXBwZXJBcmd1bWVudFR5cGUg
PSBHZXRQYXNzUmVmUHRyVHlwZSgkbmF0aXZlVHlwZSk7CiAgICAgbXkgJGJhc2VUeXBlID0gQmFz
ZUludGVyZmFjZU5hbWUoJGRhdGFOb2RlKTsKLSAgICBteSAkZ2V0Q2FjaGVkV3JhcHBlciA9ICRj
b2RlR2VuZXJhdG9yLT5Jc1N1YlR5cGUoJGRhdGFOb2RlLCAiTm9kZSIpID8gIlY4RE9NV3JhcHBl
cjo6Z2V0Q2FjaGVkV3JhcHBlcihpbXBsLmdldCgpKSIgOiAiRE9NRGF0YVN0b3JlOjpjdXJyZW50
KGlzb2xhdGUpLT5nZXQoaW1wbC5nZXQoKSkiOworICAgIG15ICRnZXRDYWNoZWRXcmFwcGVyID0g
JGNvZGVHZW5lcmF0b3ItPklzU3ViVHlwZSgkZGF0YU5vZGUsICJOb2RlIikgPyAiRE9NRGF0YVN0
b3JlOjpnZXROb2RlKGltcGwuZ2V0KCksIGlzb2xhdGUpIiA6ICJET01EYXRhU3RvcmU6OmN1cnJl
bnQoaXNvbGF0ZSktPmdldChpbXBsLmdldCgpKSI7CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwg
PDxFTkQpOwogCkBAIC0zNDU1LDcgKzM0NTUsNyBAQCBFTkQKICAgICBpZiAoRnJhbWUqIGZyYW1l
ID0gaW1wbC0+ZnJhbWUoKSkgewogICAgICAgICBpZiAoZnJhbWUtPnNjcmlwdCgpLT5pbml0aWFs
aXplTWFpbldvcmxkKCkpIHsKICAgICAgICAgICAgIC8vIGluaXRpYWxpemVNYWluV29ybGQgbWF5
IGhhdmUgY3JlYXRlZCBhIHdyYXBwZXIgZm9yIHRoZSBvYmplY3QsIHJldHJ5IGZyb20gdGhlIHN0
YXJ0LgotICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01X
cmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwuZ2V0KCkpOworICAgICAgICAgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gRE9NRGF0YVN0b3JlOjpnZXROb2RlKGltcGwuZ2V0
KCksIGlzb2xhdGUpOwogICAgICAgICAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCAzOTIwYzc4MzRlMTU0YjIwMzhmZGJmMTE3ZjBj
ZWI1ZTRiOGVmYWQwLi41ZTNkMzY3N2UwZDljY2M1NzgyY2EwNDM5ZTVjZjk2NDA2MTlmZjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMzIsNiArMzIs
NyBAQAogI2RlZmluZSBET01EYXRhU3RvcmVfaAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlck1hcC5o
IgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNs
dWRlICJWOEdDQ29udHJvbGxlci5oIgogI2luY2x1ZGUgPHY4Lmg+CkBAIC02MCw2ICs2MSwxMyBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBjdXJyZW50KHY4OjpJc29sYXRl
Kik7CiAKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXROb2RlKE5vZGUqIG9i
amVjdCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCisgICAgeworICAgICAgICBpZiAoTElLRUxZKCFE
T01XcmFwcGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpCisgICAgICAgICAgICByZXR1
cm4gZ2V0V3JhcHBlckZyb21PYmplY3Qob2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIGN1cnJlbnQo
aXNvbGF0ZSktPmdldChvYmplY3QpOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CiAgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0KFQqIG9iamVjdCkKICAgICB7
CkBAIC04MiwxMyArOTAsMTMgQEAgcHJpdmF0ZToKICAgICBib29sIHdyYXBwZXJJc1N0b3JlZElu
T2JqZWN0KHZvaWQqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgd3JhcHBlcklz
U3RvcmVkSW5PYmplY3QoU2NyaXB0V3JhcHBhYmxlKikgY29uc3QgeyByZXR1cm4gbV90eXBlID09
IE1haW5Xb3JsZDsgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFwcGVyRnJv
bU9iamVjdCh2b2lkKikgY29uc3QKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBn
ZXRXcmFwcGVyRnJvbU9iamVjdCh2b2lkKikKICAgICB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6T2JqZWN0PigpOwogICAgIH0K
IAotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0
V3JhcHBhYmxlKiBvYmplY3QpIGNvbnN0CisgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpCiAgICAgewog
ICAgICAgICBBU1NFUlQobV90eXBlID09IE1haW5Xb3JsZCk7CiAgICAgICAgIHJldHVybiBvYmpl
Y3QtPndyYXBwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TVdyYXBwZXJXb3JsZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVy
V29ybGQuY3BwCmluZGV4IDkzZGQ4MmVmM2YyZDhmMGM3ZGQ1NDA3MDI0YTBlMTc0Nzk2MmY3NWIu
LmQzYTA5NTJhOWY5NzVlMDJhNTA3NzkyYTdhMWY5N2E2YmE0NGJhMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmNwcApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogCisj
aW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTQ4LDYgKzQ5LDE0IEBAIFBhc3NSZWZQ
dHI8RE9NV3JhcHBlcldvcmxkPiBET01XcmFwcGVyV29ybGQ6OmNyZWF0ZU1haW5Xb3JsZCgpCiAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01XcmFwcGVyV29ybGQobWFpbldvcmxkSWQsIG1haW5X
b3JsZEV4dGVuc2lvbkdyb3VwKSk7CiB9CiAKK0RPTVdyYXBwZXJXb3JsZDo6RE9NV3JhcHBlcldv
cmxkKGludCB3b3JsZElkLCBpbnQgZXh0ZW5zaW9uR3JvdXApCisgICAgOiBtX3dvcmxkSWQod29y
bGRJZCkKKyAgICAsIG1fZXh0ZW5zaW9uR3JvdXAoZXh0ZW5zaW9uR3JvdXApCit7CisgICAgaWYg
KGlzSXNvbGF0ZWRXb3JsZCgpKQorICAgICAgICBtX2RvbURhdGFTdG9yZSA9IGFkb3B0UHRyKG5l
dyBET01EYXRhU3RvcmUoRE9NRGF0YVN0b3JlOjpJc29sYXRlZFdvcmxkKSk7Cit9CisKIERPTVdy
YXBwZXJXb3JsZCogbWFpblRocmVhZE5vcm1hbFdvcmxkKCkKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NV3Jh
cHBlcldvcmxkLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQu
aAppbmRleCBhZWQ0ZjRmOWVhYzA1NDE0MWJhOThlODUzNjQ3MGFkMGNiZWEzZDQ0Li4yOTAwODg2
ZDdiNzRlMzEwMDRjZTQ3NGEwMWE3YTFkZGI4MTRlNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBE
T01XcmFwcGVyV29ybGRfaAogI2RlZmluZSBET01XcmFwcGVyV29ybGRfaAogCi0jaW5jbHVkZSAi
RE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00MCw2ICsz
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRE9NRGF0YVN0b3JlOworCiAv
LyBUaGlzIGNsYXNzIHJlcHJlc2VudCBhIGNvbGxlY3Rpb24gb2YgRE9NIHdyYXBwZXJzIGZvciBh
IHNwZWNpZmljIHdvcmxkLgogY2xhc3MgRE9NV3JhcHBlcldvcmxkIDogcHVibGljIFdURjo6UmVm
Q291bnRlZEJhc2UgewogcHVibGljOgpAQCAtOTUsMTMgKzk2LDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IGNyZWF0ZU1haW5Xb3JsZCgpOwogICAg
IHN0YXRpYyB2b2lkIGRlYWxsb2NhdGUoRE9NV3JhcHBlcldvcmxkKik7CiAKLSAgICBET01XcmFw
cGVyV29ybGQoaW50IHdvcmxkSWQsIGludCBleHRlbnNpb25Hcm91cCkKLSAgICAgICAgOiBtX3dv
cmxkSWQod29ybGRJZCkKLSAgICAgICAgLCBtX2V4dGVuc2lvbkdyb3VwKGV4dGVuc2lvbkdyb3Vw
KQotICAgIHsKLSAgICAgICAgaWYgKGlzSXNvbGF0ZWRXb3JsZCgpKQotICAgICAgICAgICAgbV9k
b21EYXRhU3RvcmUgPSBhZG9wdFB0cihuZXcgRE9NRGF0YVN0b3JlKERPTURhdGFTdG9yZTo6SXNv
bGF0ZWRXb3JsZCkpOwotICAgIH0KKyAgICBET01XcmFwcGVyV29ybGQoaW50IHdvcmxkSWQsIGlu
dCBleHRlbnNpb25Hcm91cCk7CiAKICAgICBjb25zdCBpbnQgbV93b3JsZElkOwogICAgIGNvbnN0
IGludCBtX2V4dGVuc2lvbkdyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdy
YXBwZXIuaAppbmRleCA2ZjQzZTcyNGQ1MmNmZjViZmY1MDM2NWUzMTMyMTdlMWM2YmQ5OGY5Li4x
ZjgwNjJkYzZkNjk0OWYwODYxYWYzOWI5NjdiMDBmZmRjZjkwOWI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaApAQCAtMTEyLDIwICsxMTIsNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbnN0
YW50aWF0ZVY4T2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXh0LCBX
cmFwcGVyVHlwZUluZm8qLCB2b2lkKik7CiAKLSAgICAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gZ2V0Q2FjaGVkV3JhcHBlcihOb2RlKiBub2RlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgICAgICAgICAgaWYgKExJS0VMWSghRE9N
V3JhcHBlcldvcmxkOjppc29sYXRlZFdvcmxkc0V4aXN0KCkpIHx8ICF2ODo6Q29udGV4dDo6SW5D
b250ZXh0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUtPndyYXBwZXIoKTsKLQotICAg
ICAgICAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpH
ZXRFbnRlcmVkKCk7Ci0gICAgICAgICAgICBWOERPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IFY4RE9N
V2luZG93U2hlbGw6Omlzb2xhdGVkKGNvbnRleHQpOwotICAgICAgICAgICAgaWYgKExJS0VMWSgh
c2hlbGwpKQotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT53cmFwcGVyKCk7Ci0KLSAgICAg
ICAgICAgIHJldHVybiBzaGVsbC0+d29ybGQoKS0+aXNvbGF0ZWRXb3JsZERPTURhdGFTdG9yZSgp
LT5nZXQobm9kZSk7Ci0gICAgICAgIH0KLQogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2
b2lkIHNldFdyYXBwZXJDbGFzcyh2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3Jh
cHBlcikKICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175087</attachid>
            <date>2012-11-19 17:18:07 -0800</date>
            <delta_ts>2012-11-19 22:16:47 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102158-20121119171557.patch</filename>
            <type>text/plain</type>
            <size>12518</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY1NjgwMDcyZjhhZTE4
NjYwZWJkMTlhNjg1OTlkNjNjMzNlM2M2Zi4uN2Q4NWEzMmUxMDEzYTMwY2FjYTQyYzY0MmUzZmM1
NzdhMmNiMzE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTE5ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1Y4XSBNZXJnZSBnZXRDYWNo
ZWRXcmFwcGVyKE5vZGUqKSBpbnRvIERPTURhdGFTdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbiBpbmNyZW1lbnRhbCBzdGVw
IHRvd2FyZHMgZnVsbHkgbWVyZ2luZyB0aGUgTm9kZSBjb2RlCisgICAgICAgIHBhdGggd2l0aCB0
aGUgZ2VuZXJhbCBjb2RlIHBhdGguIEFmdGVyIHRoaXMgcGF0Y2gsIGF0IGxlYXN0IE5vZGVzIGZs
b3cKKyAgICAgICAgdGhyb3VnaCB0aGUgc2FtZSBjbGFzcy4KKworICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToK
KyAgICAgICAgKEdlbmVyYXRlVG9WOENvbnZlcnRlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L0RPTURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpnZXROb2Rl
KToKKyAgICAgICAgKERPTURhdGFTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3Rv
cmU6OmdldFdyYXBwZXJGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9ET01XcmFw
cGVyV29ybGQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01XcmFw
cGVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvRE9N
V3JhcHBlcldvcmxkLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERPTVdyYXBwZXJX
b3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmg6CisgICAgICAgIChW
OERPTVdyYXBwZXIpOgorCiAyMDEyLTExLTE5ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBCdWlsZCBmaXggZm9yIENocm9taXVtLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5oCmluZGV4IGU3YjlmY2FmYmJjYzA3ZDQ2NGU2ZDdjZGM3MzlmZTcx
NmNkNTIyYzAuLjgyOTk4NTMyMjBjY2FhNjQ1NGNmNjQyZTgwNTk4NDA4MjYzMzRiZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5o
IgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDZiNzZhMWFkNzBkNGNlZWFiNDY3
MWFjNGJjNjkyYjY4ZWM4NTkxYzEuLmYwNjlkNTZhODk1YmU0NGQxODliMjJmYmZjOGU3YzllNDhk
YTE4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCkBAIC01MzQsNyArNTM0LDcgQEAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4RmFzdCgke25hdGl2ZVR5cGV9KiBpbXBsLCBjb25zdCB2ODo6QWNjZXNzb3JJbmYK
IEVORAogICAgIH0gZWxzZSB7CiAKLSAgICAgICAgbXkgJGdldENhY2hlZFdyYXBwZXIgPSAkY29k
ZUdlbmVyYXRvci0+SXNTdWJUeXBlKCRkYXRhTm9kZSwgIk5vZGUiKSA/ICJWOERPTVdyYXBwZXI6
OmdldENhY2hlZFdyYXBwZXIoaW1wbCkiIDogIkRPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRl
KS0+Z2V0KGltcGwpIjsKKyAgICAgICAgbXkgJGdldENhY2hlZFdyYXBwZXIgPSAkY29kZUdlbmVy
YXRvci0+SXNTdWJUeXBlKCRkYXRhTm9kZSwgIk5vZGUiKSA/ICJET01EYXRhU3RvcmU6OmdldE5v
ZGUoaW1wbCwgaXNvbGF0ZSkiIDogIkRPTURhdGFTdG9yZTo6Y3VycmVudChpc29sYXRlKS0+Z2V0
KGltcGwpIjsKICAgICAgICAgbXkgJGNyZWF0ZVdyYXBwZXJDYWxsID0gJGN1c3RvbVdyYXAgPyAi
JHt2OEludGVyZmFjZU5hbWV9Ojp3cmFwIiA6ICIke3Y4SW50ZXJmYWNlTmFtZX06OmNyZWF0ZVdy
YXBwZXIiOwogCiAgICAgICAgIGlmICgkY3VzdG9tV3JhcCkgewpAQCAtNTg3LDcgKzU4Nyw3IEBA
IGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOEZhc3QoJHtuYXRpdmVUeXBlfSogaW1w
bCwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mCiAgICAgLy8gaW4gYW4gaXNvbGF0ZWQgd29ybGQuIFRo
ZSBmYXN0ZXN0IHdheSB3ZSBrbm93IGhvdyB0byBkbyB0aGF0IGlzIHRvIGNoZWNrCiAgICAgLy8g
d2hldGhlciB0aGUgaG9sZGVyJ3MgaW5saW5lIHdyYXBwZXIgaXMgdGhlIHNhbWUgd3JhcHBlciB3
ZSBzZWUgaW4gdGhlCiAgICAgLy8gdjg6OkFjY2Vzc29ySW5mby4KLSAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXIgPSAoaG9sZGVyLT53cmFwcGVyKCkgPT0gaW5mby5Ib2xkZXIoKSkg
PyBpbXBsLT53cmFwcGVyKCkgOiBWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbCk7
CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gKGhvbGRlci0+d3JhcHBlcigp
ID09IGluZm8uSG9sZGVyKCkpID8gaW1wbC0+d3JhcHBlcigpIDogRE9NRGF0YVN0b3JlOjpnZXRO
b2RlKGltcGwsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICByZXR1cm4gd3JhcChpbXBsLCBpbmZvLkhv
bGRlcigpLCBpbmZvLkdldElzb2xhdGUoKSk7CkBAIC0zNDMzLDcgKzM0MzMsNyBAQCBzdWIgR2Vu
ZXJhdGVUb1Y4Q29udmVydGVycwogCiAgICAgbXkgJGNyZWF0ZVdyYXBwZXJBcmd1bWVudFR5cGUg
PSBHZXRQYXNzUmVmUHRyVHlwZSgkbmF0aXZlVHlwZSk7CiAgICAgbXkgJGJhc2VUeXBlID0gQmFz
ZUludGVyZmFjZU5hbWUoJGRhdGFOb2RlKTsKLSAgICBteSAkZ2V0Q2FjaGVkV3JhcHBlciA9ICRj
b2RlR2VuZXJhdG9yLT5Jc1N1YlR5cGUoJGRhdGFOb2RlLCAiTm9kZSIpID8gIlY4RE9NV3JhcHBl
cjo6Z2V0Q2FjaGVkV3JhcHBlcihpbXBsLmdldCgpKSIgOiAiRE9NRGF0YVN0b3JlOjpjdXJyZW50
KGlzb2xhdGUpLT5nZXQoaW1wbC5nZXQoKSkiOworICAgIG15ICRnZXRDYWNoZWRXcmFwcGVyID0g
JGNvZGVHZW5lcmF0b3ItPklzU3ViVHlwZSgkZGF0YU5vZGUsICJOb2RlIikgPyAiRE9NRGF0YVN0
b3JlOjpnZXROb2RlKGltcGwuZ2V0KCksIGlzb2xhdGUpIiA6ICJET01EYXRhU3RvcmU6OmN1cnJl
bnQoaXNvbGF0ZSktPmdldChpbXBsLmdldCgpKSI7CiAKICAgICBwdXNoKEBpbXBsQ29udGVudCwg
PDxFTkQpOwogCkBAIC0zNDU1LDcgKzM0NTUsNyBAQCBFTkQKICAgICBpZiAoRnJhbWUqIGZyYW1l
ID0gaW1wbC0+ZnJhbWUoKSkgewogICAgICAgICBpZiAoZnJhbWUtPnNjcmlwdCgpLT5pbml0aWFs
aXplTWFpbldvcmxkKCkpIHsKICAgICAgICAgICAgIC8vIGluaXRpYWxpemVNYWluV29ybGQgbWF5
IGhhdmUgY3JlYXRlZCBhIHdyYXBwZXIgZm9yIHRoZSBvYmplY3QsIHJldHJ5IGZyb20gdGhlIHN0
YXJ0LgotICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01X
cmFwcGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwuZ2V0KCkpOworICAgICAgICAgICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gRE9NRGF0YVN0b3JlOjpnZXROb2RlKGltcGwuZ2V0
KCksIGlzb2xhdGUpOwogICAgICAgICAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCmluZGV4IGUx
MTUyZmFjZWRlODdmMzQyMGIwMjg2OTBlM2VhY2EyYjFlYjdiMDguLmY5YzU3YWEzZTNiZDI3YzE0
NWZkYjMxOTE3MjA3NDk5MTY3MGFkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAKQEAgLTExMCw3ICsxMTAsNyBA
QCBib29sIFY4VGVzdE5vZGU6Okhhc0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1
ZSkKIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0Tm9kZTo6Y3JlYXRlV3JhcHBlcihQYXNz
UmVmUHRyPFRlc3ROb2RlPiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29u
dGV4dCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgQVNTRVJUKGltcGwuZ2V0KCkpOwot
ICAgIEFTU0VSVChWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbC5nZXQoKSkuSXNF
bXB0eSgpKTsKKyAgICBBU1NFUlQoRE9NRGF0YVN0b3JlOjpnZXROb2RlKGltcGwuZ2V0KCksIGlz
b2xhdGUpLklzRW1wdHkoKSk7CiAgICAgQVNTRVJUKHN0YXRpY19jYXN0PHZvaWQqPihzdGF0aWNf
Y2FzdDxOb2RlKj4oaW1wbC5nZXQoKSkpID09IHN0YXRpY19jYXN0PHZvaWQqPihpbXBsLmdldCgp
KSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOERPTVdyYXBwZXI6
Omluc3RhbnRpYXRlVjhPYmplY3QoY3JlYXRpb25Db250ZXh0LCAmaW5mbywgaW1wbC5nZXQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5vZGUuaAppbmRleCBhZTcxMGZjMmYyNWFiNDNkNzJiM2NlYjJlYTg3N2U1NzcxZTE1ZDQ1Li45
YWNiMWU0NTFhZmRiMjMwYTQzMGE5ZWUwZTRkZjY5YjJlNjRmNDczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmgKQEAgLTU2
LDcgKzU2LDcgQEAgcHJpdmF0ZToKIGlubGluZSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAo
VGVzdE5vZGUqIGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXh0LCB2
ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgQVNTRVJUKGltcGwpOwotICAgIEFTU0VS
VChWOERPTVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbCkuSXNFbXB0eSgpKTsKKyAgICBB
U1NFUlQoRE9NRGF0YVN0b3JlOjpnZXROb2RlKGltcGwsIGlzb2xhdGUpLklzRW1wdHkoKSk7CiAg
ICAgcmV0dXJuIFY4VGVzdE5vZGU6OmNyZWF0ZVdyYXBwZXIoaW1wbCwgY3JlYXRpb25Db250ZXh0
LCBpc29sYXRlKTsKIH0KIApAQCAtNjQsNyArNjQsNyBAQCBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB0b1Y4T2JqZWN0KFRlc3ROb2RlKiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
CiB7CiAgICAgaWYgKFVOTElLRUxZKCFpbXBsKSkKICAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4oKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOERP
TVdyYXBwZXI6OmdldENhY2hlZFdyYXBwZXIoaW1wbCk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyID0gRE9NRGF0YVN0b3JlOjpnZXROb2RlKGltcGwsIGlzb2xhdGUpOwogICAg
IGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIHJl
dHVybiB3cmFwKGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CkBAIC03NCw3ICs3NCw3
IEBAIGlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0Tm9kZSogaW1wbCwgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvCiB7CiAgICAgaWYgKFVOTElLRUxZKCFpbXBsKSkK
ICAgICAgICAgcmV0dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gd3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6Z2V0Q2FjaGVkV3JhcHBlcihpbXBs
KTsKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlciA9IERPTURhdGFTdG9yZTo6Z2V0
Tm9kZShpbXBsLCBpc29sYXRlKTsKICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gd3JhcHBlcjsKICAgICByZXR1cm4gd3JhcChpbXBsLCBjcmVhdGlvbkNvbnRleHQs
IGlzb2xhdGUpOwpAQCAtODgsNyArODgsNyBAQCBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjhGYXN0KFRlc3ROb2RlKiBpbXBsLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbgogICAg
IC8vIGluIGFuIGlzb2xhdGVkIHdvcmxkLiBUaGUgZmFzdGVzdCB3YXkgd2Uga25vdyBob3cgdG8g
ZG8gdGhhdCBpcyB0byBjaGVjawogICAgIC8vIHdoZXRoZXIgdGhlIGhvbGRlcidzIGlubGluZSB3
cmFwcGVyIGlzIHRoZSBzYW1lIHdyYXBwZXIgd2Ugc2VlIGluIHRoZQogICAgIC8vIHY4OjpBY2Nl
c3NvckluZm8uCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gKGhvbGRlci0+
d3JhcHBlcigpID09IGluZm8uSG9sZGVyKCkpID8gaW1wbC0+d3JhcHBlcigpIDogVjhET01XcmFw
cGVyOjpnZXRDYWNoZWRXcmFwcGVyKGltcGwpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
d3JhcHBlciA9IChob2xkZXItPndyYXBwZXIoKSA9PSBpbmZvLkhvbGRlcigpKSA/IGltcGwtPndy
YXBwZXIoKSA6IERPTURhdGFTdG9yZTo6Z2V0Tm9kZShpbXBsLCBpbmZvLkdldElzb2xhdGUoKSk7
CiAgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAg
ICAgcmV0dXJuIHdyYXAoaW1wbCwgaW5mby5Ib2xkZXIoKSwgaW5mby5HZXRJc29sYXRlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCAzOTIwYzc4MzRl
MTU0YjIwMzhmZGJmMTE3ZjBjZWI1ZTRiOGVmYWQwLi41ZTNkMzY3N2UwZDljY2M1NzgyY2EwNDM5
ZTVjZjk2NDA2MTlmZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3Rv
cmUuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBET01EYXRhU3RvcmVfaAogCiAjaW5jbHVk
ZSAiRE9NV3JhcHBlck1hcC5oIgorI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1
ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJWOEdDQ29udHJvbGxlci5oIgogI2luY2x1ZGUgPHY4Lmg+
CkBAIC02MCw2ICs2MSwxMyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRE9NRGF0YVN0b3JlKiBj
dXJyZW50KHY4OjpJc29sYXRlKik7CiAKKyAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBnZXROb2RlKE5vZGUqIG9iamVjdCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCisgICAgeworICAg
ICAgICBpZiAoTElLRUxZKCFET01XcmFwcGVyV29ybGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkp
CisgICAgICAgICAgICByZXR1cm4gZ2V0V3JhcHBlckZyb21PYmplY3Qob2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIGN1cnJlbnQoaXNvbGF0ZSktPmdldChvYmplY3QpOworICAgIH0KKwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0
KFQqIG9iamVjdCkKICAgICB7CkBAIC04MiwxMyArOTAsMTMgQEAgcHJpdmF0ZToKICAgICBib29s
IHdyYXBwZXJJc1N0b3JlZEluT2JqZWN0KHZvaWQqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIGJvb2wgd3JhcHBlcklzU3RvcmVkSW5PYmplY3QoU2NyaXB0V3JhcHBhYmxlKikgY29uc3Qg
eyByZXR1cm4gbV90eXBlID09IE1haW5Xb3JsZDsgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBnZXRXcmFwcGVyRnJvbU9iamVjdCh2b2lkKikgY29uc3QKKyAgICBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFwcGVyRnJvbU9iamVjdCh2b2lkKikKICAgICB7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PigpOwogICAgIH0KIAotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0V3JhcHBl
ckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxlKiBvYmplY3QpIGNvbnN0CisgICAgc3RhdGljIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0V3JhcHBlckZyb21PYmplY3QoU2NyaXB0V3JhcHBhYmxl
KiBvYmplY3QpCiAgICAgewogICAgICAgICBBU1NFUlQobV90eXBlID09IE1haW5Xb3JsZCk7CiAg
ICAgICAgIHJldHVybiBvYmplY3QtPndyYXBwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3JsZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01XcmFwcGVyV29ybGQuY3BwCmluZGV4IDkzZGQ4MmVmM2YyZDhmMGM3ZGQ1NDA3
MDI0YTBlMTc0Nzk2MmY3NWIuLmQzYTA5NTJhOWY5NzVlMDJhNTA3NzkyYTdhMWY5N2E2YmE0NGJh
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTVdyYXBwZXJXb3Js
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTVdy
YXBwZXJXb3JsZC5oIgogCisjaW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTQ4LDYg
KzQ5LDE0IEBAIFBhc3NSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBET01XcmFwcGVyV29ybGQ6OmNy
ZWF0ZU1haW5Xb3JsZCgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01XcmFwcGVyV29ybGQo
bWFpbldvcmxkSWQsIG1haW5Xb3JsZEV4dGVuc2lvbkdyb3VwKSk7CiB9CiAKK0RPTVdyYXBwZXJX
b3JsZDo6RE9NV3JhcHBlcldvcmxkKGludCB3b3JsZElkLCBpbnQgZXh0ZW5zaW9uR3JvdXApCisg
ICAgOiBtX3dvcmxkSWQod29ybGRJZCkKKyAgICAsIG1fZXh0ZW5zaW9uR3JvdXAoZXh0ZW5zaW9u
R3JvdXApCit7CisgICAgaWYgKGlzSXNvbGF0ZWRXb3JsZCgpKQorICAgICAgICBtX2RvbURhdGFT
dG9yZSA9IGFkb3B0UHRyKG5ldyBET01EYXRhU3RvcmUoRE9NRGF0YVN0b3JlOjpJc29sYXRlZFdv
cmxkKSk7Cit9CisKIERPTVdyYXBwZXJXb3JsZCogbWFpblRocmVhZE5vcm1hbFdvcmxkKCkKIHsK
ICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvRE9NV3JhcHBlcldvcmxkLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01XcmFwcGVyV29ybGQuaAppbmRleCBhZWQ0ZjRmOWVhYzA1NDE0MWJhOThlODUzNjQ3MGFk
MGNiZWEzZDQ0Li4yOTAwODg2ZDdiNzRlMzEwMDRjZTQ3NGEwMWE3YTFkZGI4MTRlNWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01XcmFwcGVyV29ybGQuaApAQCAtMzEsNyAr
MzEsNiBAQAogI2lmbmRlZiBET01XcmFwcGVyV29ybGRfaAogI2RlZmluZSBET01XcmFwcGVyV29y
bGRfaAogCi0jaW5jbHVkZSAiRE9NRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CkBAIC00MCw2ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3Mg
RE9NRGF0YVN0b3JlOworCiAvLyBUaGlzIGNsYXNzIHJlcHJlc2VudCBhIGNvbGxlY3Rpb24gb2Yg
RE9NIHdyYXBwZXJzIGZvciBhIHNwZWNpZmljIHdvcmxkLgogY2xhc3MgRE9NV3JhcHBlcldvcmxk
IDogcHVibGljIFdURjo6UmVmQ291bnRlZEJhc2UgewogcHVibGljOgpAQCAtOTUsMTMgKzk2LDcg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IGNyZWF0
ZU1haW5Xb3JsZCgpOwogICAgIHN0YXRpYyB2b2lkIGRlYWxsb2NhdGUoRE9NV3JhcHBlcldvcmxk
Kik7CiAKLSAgICBET01XcmFwcGVyV29ybGQoaW50IHdvcmxkSWQsIGludCBleHRlbnNpb25Hcm91
cCkKLSAgICAgICAgOiBtX3dvcmxkSWQod29ybGRJZCkKLSAgICAgICAgLCBtX2V4dGVuc2lvbkdy
b3VwKGV4dGVuc2lvbkdyb3VwKQotICAgIHsKLSAgICAgICAgaWYgKGlzSXNvbGF0ZWRXb3JsZCgp
KQotICAgICAgICAgICAgbV9kb21EYXRhU3RvcmUgPSBhZG9wdFB0cihuZXcgRE9NRGF0YVN0b3Jl
KERPTURhdGFTdG9yZTo6SXNvbGF0ZWRXb3JsZCkpOwotICAgIH0KKyAgICBET01XcmFwcGVyV29y
bGQoaW50IHdvcmxkSWQsIGludCBleHRlbnNpb25Hcm91cCk7CiAKICAgICBjb25zdCBpbnQgbV93
b3JsZElkOwogICAgIGNvbnN0IGludCBtX2V4dGVuc2lvbkdyb3VwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAppbmRleCA2ZjQzZTcyNGQ1MmNmZjViZmY1MDM2NWUz
MTMyMTdlMWM2YmQ5OGY5Li4xZjgwNjJkYzZkNjk0OWYwODYxYWYzOWI5NjdiMDBmZmRjZjkwOWI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaApAQCAtMTEyLDIw
ICsxMTIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBpbnN0YW50aWF0ZVY4T2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
Y3JlYXRpb25Db250ZXh0LCBXcmFwcGVyVHlwZUluZm8qLCB2b2lkKik7CiAKLSAgICAgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0Q2FjaGVkV3JhcHBlcihOb2RlKiBub2RlKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgICAgICAg
ICAgaWYgKExJS0VMWSghRE9NV3JhcHBlcldvcmxkOjppc29sYXRlZFdvcmxkc0V4aXN0KCkpIHx8
ICF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUt
PndyYXBwZXIoKTsKLQotICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4
dCA9IHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCk7Ci0gICAgICAgICAgICBWOERPTVdpbmRvd1No
ZWxsKiBzaGVsbCA9IFY4RE9NV2luZG93U2hlbGw6Omlzb2xhdGVkKGNvbnRleHQpOwotICAgICAg
ICAgICAgaWYgKExJS0VMWSghc2hlbGwpKQotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT53
cmFwcGVyKCk7Ci0KLSAgICAgICAgICAgIHJldHVybiBzaGVsbC0+d29ybGQoKS0+aXNvbGF0ZWRX
b3JsZERPTURhdGFTdG9yZSgpLT5nZXQobm9kZSk7Ci0gICAgICAgIH0KLQogICAgIHByaXZhdGU6
CiAgICAgICAgIHN0YXRpYyB2b2lkIHNldFdyYXBwZXJDbGFzcyh2b2lkKiwgdjg6OlBlcnNpc3Rl
bnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175140</attachid>
            <date>2012-11-19 22:16:54 -0800</date>
            <delta_ts>2012-11-20 00:29:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102158-20121120151443.patch</filename>
            <type>text/plain</type>
            <size>1574</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJmNjA3YjIxZjMwYWM0
NjIwZTBmZDE3MTE5ZjEzOGEyMDU4MDgwMi4uNzUwYTY5NjUwMWZjYjEyYWI4YzBjZDE1N2NjZjBi
Njk5ZmNhYzUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDEyLTExLTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIE1lcmdlIGdl
dENhY2hlZFdyYXBwZXIoTm9kZSopIGludG8gRE9NRGF0YVN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIxNTgKKworICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBmb2xsb3ctdXAgcGF0Y2ggZm9yIHIx
MzUyMzAuIFRoaXMgcGF0Y2ggYWRkcyBhIGNvcnJlY3QgQVNTRVJUSU9OLgorCisgICAgICAgIE5v
IHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6Z2V0Tm9kZSk6
CisKKzIwMTItMTEtMTkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIEluIENvZGVHZW5lcmF0b3JPYmoucG0gd2Ugc2hvdWxkIHJlbmFtZSAkZGF0YU5vZGUg
dG8gJGludGVyZmFjZS4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjc0OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CmluZGV4IDVlM2QzNjc3ZTBkOWNjYzU3ODJjYTA0MzllNWNmOTY0MDYxOWZmMjQuLjIyNjlkZWZh
YTdhMDhiOTU2MWFiYTQyNmNlYWFlMmY4YzJkODU2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC02Myw4ICs2MywxMCBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXROb2RlKE5vZGUqIG9iamVjdCwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUpCiAgICAgewotICAgICAgICBpZiAoTElLRUxZKCFET01XcmFwcGVyV29y
bGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpCisgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBw
ZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkgeworICAgICAgICAgICAgQVNTRVJUKHdy
YXBwZXJJc1N0b3JlZEluT2JqZWN0KG9iamVjdCkpOwogICAgICAgICAgICAgcmV0dXJuIGdldFdy
YXBwZXJGcm9tT2JqZWN0KG9iamVjdCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGN1cnJl
bnQoaXNvbGF0ZSktPmdldChvYmplY3QpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175168</attachid>
            <date>2012-11-20 00:29:50 -0800</date>
            <delta_ts>2012-11-20 16:51:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102158-20121120172739.patch</filename>
            <type>text/plain</type>
            <size>1880</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkwMmI2ZGU3ZjVhZTNj
NzFhMTdhNThmNjM4NDY5Y2E4N2NhOTczYi4uMmI2Y2VjMGE2Yjc4NDk4ODUwNGYxZWI1MTkzNzBi
MTg2MjA1MjQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTExLTIwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1lcmdlIGdl
dENhY2hlZFdyYXBwZXIoTm9kZSopIGludG8gRE9NRGF0YVN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIxNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGNvcnJlY3QgQVNTRVJUSU9O
IHRoYXQgcGFzc2VzIGEgRGVidWcgYnVpbGQuCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5n
ZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NRGF0YVN0b3JlOjpnZXROb2RlKToKKyAgICAgICAgKERPTURh
dGFTdG9yZSk6CisKIDIwMTItMTEtMTkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdW1dpbl0gVW5yZXZpZXdlZCBzcGVjdWxhdGl2ZSBidWlsZGZp
eCBhZnRlciByMTM1MjE3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUu
aAppbmRleCAzNGU4NDg2MDM4YjgyN2U3ZjE0ZjM2ODI1ZWE0ZjBmMjUxOTY5ODVmLi5iZDY5NDE0
NDNjMDY2NDFhYWQ4ZmU1MDA2YzhiMDlkMjI3ZTRkNjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZ2V0Tm9kZShOb2RlKiBvYmplY3QsIHY4OjpJc29s
YXRlKiBpc29sYXRlKQogICAgIHsKICAgICAgICAgaWYgKExJS0VMWSghRE9NV3JhcHBlcldvcmxk
Ojppc29sYXRlZFdvcmxkc0V4aXN0KCkpKSB7Ci0gICAgICAgICAgICBBU1NFUlQod3JhcHBlcklz
U3RvcmVkSW5PYmplY3Qob2JqZWN0KSk7CisgICAgICAgICAgICBBU1NFUlQoY3VycmVudChpc29s
YXRlKS0+d3JhcHBlcklzU3RvcmVkSW5PYmplY3Qob2JqZWN0KSk7CiAgICAgICAgICAgICByZXR1
cm4gZ2V0V3JhcHBlckZyb21PYmplY3Qob2JqZWN0KTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gY3VycmVudChpc29sYXRlKS0+Z2V0KG9iamVjdCk7CkBAIC04OCwxMCArODgsMTAgQEAgcHVi
bGljOgogCiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29u
c3Q7CiAKLXByaXZhdGU6CiAgICAgYm9vbCB3cmFwcGVySXNTdG9yZWRJbk9iamVjdCh2b2lkKikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIHdyYXBwZXJJc1N0b3JlZEluT2JqZWN0
KFNjcmlwdFdyYXBwYWJsZSopIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBNYWluV29ybGQ7IH0K
IAorcHJpdmF0ZToKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXRXcmFwcGVy
RnJvbU9iamVjdCh2b2lkKikKICAgICB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175303</attachid>
            <date>2012-11-20 16:52:01 -0800</date>
            <delta_ts>2012-11-20 17:54:09 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-102158-20121121094949.patch</filename>
            <type>text/plain</type>
            <size>1899</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2U4MTVlNmUwNjVmMTA0
YTc1MWFjMDU3ZTMyNjk4N2QwMDBjZmNiNC4uYjU3N2Y0NmViMWQwMjUyZDM0N2M2YmJjZjQxZjIx
ODQ2NjU5MmU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTExLTIwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1lcmdlIGdl
dENhY2hlZFdyYXBwZXIoTm9kZSopIGludG8gRE9NRGF0YVN0b3JlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIxNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZGVkIGEgY29ycmVjdCBBU1NFUlRJT04gdGhh
dCBwYXNzZXMgYSBEZWJ1ZyBidWlsZC4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGlu
IGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpET01EYXRhU3RvcmU6OmdldE5vZGUpOgorICAgICAgICAoRE9NRGF0YVN0
b3JlKToKKwogMjAxMi0xMS0yMCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEluZGV4ZWREQjogTW92ZSBjb250cm9sIG9mIHRyYW5zYWN0aW9uIGNvbXBsZXRp
b24gdG8gZnJvbnQgZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CmluZGV4IDRiMmI0MjVlZTM1MDAzNmFhNmY5MDc0MmRkNTYxMmVmMjY2MTA2ZTUuLmJkNjk0MTQ0
M2MwNjY0MWFhZDhmZTUwMDZjOGIwOWQyMjdlNGQ2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC02Myw4ICs2MywxMCBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBnZXROb2RlKE5vZGUqIG9iamVjdCwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUpCiAgICAgewotICAgICAgICBpZiAoTElLRUxZKCFET01XcmFwcGVyV29y
bGQ6Omlzb2xhdGVkV29ybGRzRXhpc3QoKSkpCisgICAgICAgIGlmIChMSUtFTFkoIURPTVdyYXBw
ZXJXb3JsZDo6aXNvbGF0ZWRXb3JsZHNFeGlzdCgpKSkgeworICAgICAgICAgICAgQVNTRVJUKGN1
cnJlbnQoaXNvbGF0ZSktPndyYXBwZXJJc1N0b3JlZEluT2JqZWN0KG9iamVjdCkpOwogICAgICAg
ICAgICAgcmV0dXJuIGdldFdyYXBwZXJGcm9tT2JqZWN0KG9iamVjdCk7CisgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIGN1cnJlbnQoaXNvbGF0ZSktPmdldChvYmplY3QpOwogICAgIH0KIApAQCAt
ODYsMTAgKzg4LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCi1wcml2YXRlOgogICAgIGJvb2wgd3JhcHBlcklzU3Rv
cmVkSW5PYmplY3Qodm9pZCopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCB3cmFw
cGVySXNTdG9yZWRJbk9iamVjdChTY3JpcHRXcmFwcGFibGUqKSBjb25zdCB7IHJldHVybiBtX3R5
cGUgPT0gTWFpbldvcmxkOyB9CiAKK3ByaXZhdGU6CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gZ2V0V3JhcHBlckZyb21PYmplY3Qodm9pZCopCiAgICAgewogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsK
</data>
<flag name="commit-queue"
          id="190712"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>