<?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>45640</bug_id>
          
          <creation_ts>2010-09-13 00:05:03 -0700</creation_ts>
          <short_desc>Navigating dark background websites results in blinding white flashes between pages.</short_desc>
          <delta_ts>2026-04-06 13:49:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=311569</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
    
    <cc>jerem.selier</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>mahaniok</cc>
    
    <cc>mitz</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkitb</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278015</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-13 00:05:03 -0700</bug_when>
    <thetext>This bug is a placeholder of two-sided patch for http://code.google.com/p/chromium/issues/detail?id=1373.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278024</commentid>
    <comment_count>1</comment_count>
      <attachid>67368</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-13 00:18:27 -0700</bug_when>
    <thetext>Created attachment 67368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278035</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-13 00:40:56 -0700</bug_when>
    <thetext>Chromium side is: http://codereview.chromium.org/3316015/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278772</commentid>
    <comment_count>3</comment_count>
      <attachid>67527</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-14 01:53:59 -0700</bug_when>
    <thetext>Created attachment 67527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278773</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-14 01:55:05 -0700</bug_when>
    <thetext>Revised the patch based on the advice on http://codereview.chromium.org/3316015/show.
This patch is no longer 2-sided. It is now self contained.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278776</commentid>
    <comment_count>5</comment_count>
      <attachid>67527</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-09-14 02:11:53 -0700</bug_when>
    <thetext>Comment on attachment 67527
Patch

&gt; diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
&gt; +        (WebKit::WebFrameImpl::isReadyToPaint): Added.
&gt; +        * src/WebFrameImpl.h:
&gt; +        * src/WebViewImpl.cpp:
&gt; +        (WebKit::WebViewImpl::mainFrameImpl): Qualified with const.
&gt; +        (WebKit::WebViewImpl::isReadytoPaint): Added, just delegating to the  main frame.

I guess you&apos;d like to rename isReadytoPaint to isReadyToPaint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278786</commentid>
    <comment_count>6</comment_count>
      <attachid>67531</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-14 02:50:25 -0700</bug_when>
    <thetext>Created attachment 67531
fixed typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278787</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-14 02:51:26 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I guess you&apos;d like to rename isReadytoPaint to isReadyToPaint.
Sure. Thank you for pointing this out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278944</commentid>
    <comment_count>8</comment_count>
      <attachid>67531</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-09-14 09:09:05 -0700</bug_when>
    <thetext>Comment on attachment 67531
fixed typo

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

&gt; WebKit/chromium/ChangeLog:5
&gt; +        [Chromium] WebView should provide the way to query paint readiness
this summary is no longer accurate since you are not exposing a webkit api

&gt; WebKit/chromium/src/ChromeClientImpl.cpp:499
&gt; +        if (m_webView-&gt;client() &amp;&amp; m_webView-&gt;isReadyToPaint())
what about the case where accelerated compositing is active?

&gt; WebKit/chromium/src/WebFrameImpl.cpp:1854
&gt; +    // including &lt;style&gt;s are totally loaded. Also note that: 
this suggests that DOM construction is deferred until external stylesheets
are downloaded.  i didn&apos;t think that was the case.  i know it is for
external scripts, but that&apos;s because an external script may contain a
document.write() call.

&gt; WebKit/chromium/src/WebFrameImpl.cpp:1857
&gt; +    // - A &lt;frameset&gt; can be retunred for body().
nit: retunred -&gt; returned

&gt; WebKit/chromium/src/WebViewImpl.h:235
&gt; +    WebFrameImpl* mainFrameImpl() const;
why make this const?  it does not return a const WebFrameImpl, so it
would appear to function much like a const_cast stripping away the
const on the WebViewImpl.

By the way, it seems like it would be possible to implement this entire
patch on the Chromium side.  We have WebDocument::isHTMLDocument() and
WebDocument::body().  Ignoring a didInvalidateRect call would be easy to
do on the Chromium side too.

It may be a bit simpler to just skip the PostTask(CallDoDeferredUpdate)
in chrome/renderer/render_widget.cc when there is no body element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280012</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-16 04:37:39 -0700</bug_when>
    <thetext>Hi Darin, 
Thank you for reviewing and I&apos;m sorry for my slow response.

&gt; By the way, it seems like it would be possible to implement this entire
&gt; patch on the Chromium side.  We have WebDocument::isHTMLDocument() and
&gt; WebDocument::body().  Ignoring a didInvalidateRect call would be easy to
&gt; do on the Chromium side too.
&gt; 
&gt; It may be a bit simpler to just skip the PostTask(CallDoDeferredUpdate)
&gt; in chrome/renderer/render_widget.cc when there is no body element.
This totally makes sense.
So I ported these code to chromium side with your feedback in mind:
http://codereview.chromium.org/3397008
As you guessed, the intention get clear.
Could you take a look?

I&apos;ll close this bug when chromium side lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282173</commentid>
    <comment_count>10</comment_count>
      <attachid>68205</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-21 03:22:12 -0700</bug_when>
    <thetext>Created attachment 68205
A server script to reproduce</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282174</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-09-21 03:25:24 -0700</bug_when>
    <thetext>I changed a summary line because this problem reproduces even in Safari.
(It does reproduce more often in Chromium though.)

You can reproduce the problem with running the script https://bugs.webkit.org/attachment.cgi?id=68205
and accessing http://localhost:8080/, then reloading it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292905</commentid>
    <comment_count>12</comment_count>
      <attachid>70521</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-12 05:27:46 -0700</bug_when>
    <thetext>Created attachment 70521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292906</commentid>
    <comment_count>13</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-12 05:31:42 -0700</bug_when>
    <thetext>Hi Darin, and folks familiar with this area, could you take a look?
Original problem is frequently complained by so many users...

The latest patch is stays solely in WebCore and tried to tackle the root cause instead of 
working around in WebKit layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292993</commentid>
    <comment_count>14</comment_count>
      <attachid>70521</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-12 10:39:14 -0700</bug_when>
    <thetext>Comment on attachment 70521
Patch

Whether or not you can paint safely is based off whether you have pending stylesheets.  You can see some code that checks this and prevents the painting of children in that case in (for example) in RenderLayer.cpp.


// Avoid painting layers when stylesheets haven&apos;t loaded.  This eliminates FOUC.
    // It&apos;s ok not to draw, because later on, when all the stylesheets do load, updateStyleSelector on the Document
    // will do a full repaint().
    if (renderer()-&gt;document()-&gt;didLayoutWithPendingStylesheets() &amp;&amp; !renderer()-&gt;isRenderView() &amp;&amp; !renderer()-&gt;isRoot())
        return;

That code is essentially running &quot;too late&quot;, so you get a flash of white when the &lt;body&gt; on down don&apos;t paint.  The goal of your patch should be to pull that check up.  I think if your hasPaintableContent just does the didLayoutWithPendingStylesheets() check that it might fix the bug.

In theory you could remove the places that are already checking this if you&apos;re going to choke off the painting at a higher level like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293303</commentid>
    <comment_count>15</comment_count>
      <attachid>70587</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-13 01:19:47 -0700</bug_when>
    <thetext>Created attachment 70587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293308</commentid>
    <comment_count>16</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-13 01:34:55 -0700</bug_when>
    <thetext>Hi Hyatt, thank you for reviewing!
I updated the patch.

&gt; 
&gt; That code is essentially running &quot;too late&quot;, so you get a flash of white when the &lt;body&gt; on down don&apos;t paint.  The goal of your patch should be to pull that check up.  I think if your hasPaintableContent just does the didLayoutWithPendingStylesheets() check that it might fix the bug.

This totally makes sense. Thanks much for your suggestion.
The point is that many web sites specify its background style to &lt;body&gt; element, 
instead of &lt;html&gt; element. So before &lt;body&gt; is available, the FOUC is possible
even if their stylesheets are loaded.
On the other hand, checking &lt;body&gt; isn&apos;t enough as you mentioned.
So the updated patch extracted didLayoutWithPendingStylesheets() checks on renderers 
to mayCauseFlashOfUnstyledContent() and added a check for &lt;body&gt; availability. 

&gt; In theory you could remove the places that are already checking this if you&apos;re going to choke off the painting at a higher level like this.

Sure. I did cleanup the patch to use mayCauseFlashOfUnstyledContent() both 
for skipping painting requests and skipping actual paint.
And I also removed the guard on the FrameView::paintContent(). So there is no longer duplication
on the FOUC guards (I hope).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297053</commentid>
    <comment_count>17</comment_count>
      <attachid>70587</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-20 14:57:49 -0700</bug_when>
    <thetext>Comment on attachment 70587
Patch

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

&gt; WebCore/dom/Document.cpp:4770
&gt; +    if (document()-&gt;didLayoutWithPendingStylesheets())

Don&apos;t need document()-&gt; here.

&gt; WebCore/dom/Document.cpp:4772
&gt; +    // Many websites give thier background style using &lt;body&gt; instead of &lt;html&gt;.

Typo. &quot;thier&quot; should be &quot;their&quot;

&gt; WebCore/dom/Document.cpp:4776
&gt; +    if ((isHTMLDocument() || isXHTMLDocument()) &amp;&amp; !body())
&gt; +        return true;
&gt; +    return false;

Can just write this as:

return (isHTMLDocument() || isXHtmlDocument()) &amp;&amp; !body();

I&apos;d also flip the check.  It&apos;s cheaper to ask if body() is present then to make the virtual function call to ask what kind of document you are.

&gt; WebCore/page/FrameView.cpp:306
&gt; +        if (hostWindow() &amp;&amp; shouldUpdate(false))

Don&apos;t need &quot;false&quot; here.  It&apos;s the default value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297311</commentid>
    <comment_count>18</comment_count>
      <attachid>71411</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-21 02:34:29 -0700</bug_when>
    <thetext>Created attachment 71411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297314</commentid>
    <comment_count>19</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-21 02:36:51 -0700</bug_when>
    <thetext>Hi Dave, thank you for taking a look agian!
I update the patch to address your feedback.
 
(In reply to comment #17)
&gt; &gt; WebCore/dom/Document.cpp:4770
&gt; &gt; +    if (document()-&gt;didLayoutWithPendingStylesheets())
&gt; 
Fixed.

&gt; Don&apos;t need document()-&gt; here.
&gt; 
&gt; &gt; WebCore/dom/Document.cpp:4772
&gt; &gt; +    // Many websites give thier background style using &lt;body&gt; instead of &lt;html&gt;.
&gt; 
&gt; Typo. &quot;thier&quot; should be &quot;their&quot;
Oops. Done.

&gt; 
&gt; &gt; WebCore/dom/Document.cpp:4776
&gt; &gt; +    if ((isHTMLDocument() || isXHTMLDocument()) &amp;&amp; !body())
&gt; &gt; +        return true;
&gt; &gt; +    return false;
&gt; 
&gt; Can just write this as:
&gt; 
&gt; return (isHTMLDocument() || isXHtmlDocument()) &amp;&amp; !body();
&gt; 
&gt; I&apos;d also flip the check.  It&apos;s cheaper to ask if body() is present then to make the virtual function call to ask what kind of document you are.
Fixed. and made &quot;!body()&quot; first.

&gt; 
&gt; &gt; WebCore/page/FrameView.cpp:306
&gt; &gt; +        if (hostWindow() &amp;&amp; shouldUpdate(false))
&gt; 
&gt; Don&apos;t need &quot;false&quot; here.  It&apos;s the default value.
Fixed removing &quot;false&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301624</commentid>
    <comment_count>20</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-29 00:50:02 -0700</bug_when>
    <thetext>Committed r70850: &lt;http://trac.webkit.org/changeset/70850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301710</commentid>
    <comment_count>21</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-10-29 06:14:02 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Committed r70850: &lt;http://trac.webkit.org/changeset/70850&gt;

This broke several SVG tests, that now stopped rendering aka. show blank instead of content.

svg-in-xhtml.xhtml 
svg/custom/createImageElement2.xhtml 
svg-element-in-xhtml-auto.xhtml 
svg-element-in-xhtml-defaults.xhtml 
svg-element-in-xhtml-hidden.xhtml 
svg-element-in-xhtml-scroll.xhtml 
svg-element-in-xhtml-visible.xhtml 

Can you investigate or roll it out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301855</commentid>
    <comment_count>22</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-10-29 10:32:45 -0700</bug_when>
    <thetext>Reverted r70850 for reason:

chromium and qt pixel test regressions

Committed r70896: &lt;http://trac.webkit.org/changeset/70896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301857</commentid>
    <comment_count>23</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-10-29 10:34:05 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Reverted r70850 for reason:
&gt; 
&gt; chromium and qt pixel test regressions
&gt; 
&gt; Committed r70896: &lt;http://trac.webkit.org/changeset/70896&gt;

Reverted so Morita can investigate the test failures next week.  The chromium pixel test failures are tracked here:
https://bugs.webkit.org/show_bug.cgi?id=48627</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301916</commentid>
    <comment_count>24</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-29 11:46:07 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; Committed r70850: &lt;http://trac.webkit.org/changeset/70850&gt;
&gt; 
&gt; This broke several SVG tests, that now stopped rendering aka. show blank instead of content.
&gt; 
&gt; svg-in-xhtml.xhtml 
&gt; svg/custom/createImageElement2.xhtml 
&gt; svg-element-in-xhtml-auto.xhtml 
&gt; svg-element-in-xhtml-defaults.xhtml 
&gt; svg-element-in-xhtml-hidden.xhtml 
&gt; svg-element-in-xhtml-scroll.xhtml 
&gt; svg-element-in-xhtml-visible.xhtml 
&gt; 
&gt; Can you investigate or roll it out?

The problem appears to be the lack of an xmlns attribute on the &lt;html&gt; elements in those test documents. This causes Document::body() (used by the new mayCauseFlashOfUnstyledContent() function) to fail since it uses Element::hasTagName(bodyTag) to identify the &lt;body&gt; element.

If the document is parsed as XHTML but has no xmlns attribute, the &lt;body&gt; element will be in the &quot;&quot; namespace which doesn&apos;t match bodyTag.namespaceURI().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302528</commentid>
    <comment_count>25</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-10-31 19:14:27 -0700</bug_when>
    <thetext>Tony, thank you for taking care of this and I&apos;m sorry for my absence. 
I&apos;ll investigate this soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302584</commentid>
    <comment_count>26</comment_count>
      <attachid>72489</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-01 00:55:10 -0700</bug_when>
    <thetext>Created attachment 72489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302586</commentid>
    <comment_count>27</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-01 01:01:37 -0700</bug_when>
    <thetext>Hi Kling,

&gt; The problem appears to be the lack of an xmlns attribute on the &lt;html&gt; elements in those test documents. This causes Document::body() (used by the new mayCauseFlashOfUnstyledContent() function) to fail since it uses Element::hasTagName(bodyTag) to identify the &lt;body&gt; element.

Thank you for your insight!
This is completely makes sense. In broken tests, their document.body is null.
I didn&apos;t noticed that!

Could you take a look at the updated patch?
The fix looks to need eyes from non-HTML experts.
I changed Document::mayCauseFlashOfUnstyledContent() to check 
if there are elements other than &lt;head&gt;.
This is more conservative compared to the original one so there are smaller chance to
accidentally skip painting. 
Now all SVG pixel tests are passed on Snow Leopard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302604</commentid>
    <comment_count>28</comment_count>
      <attachid>72489</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-11-01 05:25:49 -0700</bug_when>
    <thetext>Comment on attachment 72489
Patch

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

&gt; WebCore/dom/Document.cpp:4808
&gt; +        if (!i-&gt;hasTagName(headTag))
&gt; +            return true;

This logic is nicer than the previous version IMO, but will trigger for the &lt;head&gt; tag, too, if the xmlns attribute is missing.
In other words, Node::hasTagName(headTag) will be false for a &lt;head&gt; tag in an &quot;application/xhtml+xml&quot; document with no xmlns attribute on the &lt;html&gt; tag.
I&apos;m not sure that&apos;s what you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302607</commentid>
    <comment_count>29</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-01 05:42:29 -0700</bug_when>
    <thetext>Hi Kling, thank you for reviewing this!

&gt; This logic is nicer than the previous version IMO, but will trigger for the &lt;head&gt; tag, too, if the xmlns attribute is missing.
&gt; In other words, Node::hasTagName(headTag) will be false for a &lt;head&gt; tag in an &quot;application/xhtml+xml&quot; document with no xmlns attribute on the &lt;html&gt; tag.
&gt; I&apos;m not sure that&apos;s what you want.

Yeah, it&apos;s OK to trigger when non-HTML &lt;head&gt; tag, because the page author might want to render it.
(a &lt;head&gt;element from a foreign namespace.)
 
The intention here is to wait painting during only HTML &lt;head&gt; is given,
to prevent flushing a white screen (because page authors often give a style for &lt;body&gt;, not &lt;html&gt;.)
It&apos;s safe to return true always, except that it cannot prevent possible flushing as current as in the past.
It is not safe to return false accidentally though. Which is what the reverted patch did.

So assuming such &lt;head&gt; is minor, I think it&apos;s OK to return true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302620</commentid>
    <comment_count>30</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-11-01 06:03:28 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Yeah, it&apos;s OK to trigger when non-HTML &lt;head&gt; tag, because the page author might want to render it.
&gt; (a &lt;head&gt;element from a foreign namespace.)

I&apos;m fine with the code change, but I&apos;d like to see a comment in there about how this only works &quot;properly&quot; for HTML documents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303196</commentid>
    <comment_count>31</comment_count>
      <attachid>72627</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-01 20:49:14 -0700</bug_when>
    <thetext>Created attachment 72627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303197</commentid>
    <comment_count>32</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-01 20:52:11 -0700</bug_when>
    <thetext>&gt; I&apos;m fine with the code change, but I&apos;d like to see a comment in there about how this only works &quot;properly&quot; for HTML documents.
Okay. I added an explanation as a comment on Document::mayCauseFlashOfUnstyledContent().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311291</commentid>
    <comment_count>33</comment_count>
      <attachid>72627</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-18 21:49:31 -0800</bug_when>
    <thetext>Comment on attachment 72627
Patch

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

Just one minor adjustment I&apos;d like to see....

&gt; WebCore/dom/Document.cpp:4798
&gt; +bool Document::hasHeadSibling() const

I think this could just be a static function in the cpp file without adding it as a member function to Document.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311294</commentid>
    <comment_count>34</comment_count>
      <attachid>74354</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-18 22:21:35 -0800</bug_when>
    <thetext>Created attachment 74354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311295</commentid>
    <comment_count>35</comment_count>
      <attachid>74354</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-18 22:22:56 -0800</bug_when>
    <thetext>Comment on attachment 74354
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311296</commentid>
    <comment_count>36</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-11-18 22:25:52 -0800</bug_when>
    <thetext>Committed r72367: &lt;http://trac.webkit.org/changeset/72367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385741</commentid>
    <comment_count>37</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-04-14 07:10:21 -0700</bug_when>
    <thetext>This is a very slow way to fix this.

https://bugs.webkit.org/show_bug.cgi?id=58512</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387095</commentid>
    <comment_count>38</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-15 17:50:22 -0700</bug_when>
    <thetext>Reopening because the original change was reverted.
http://trac.webkit.org/changeset/84066</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423162</commentid>
    <comment_count>39</comment_count>
      <attachid>74354</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-18 12:17:03 -0700</bug_when>
    <thetext>Comment on attachment 74354
Patch

Clearing review flag because the patch was reverted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67368</attachid>
            <date>2010-09-13 00:18:27 -0700</date>
            <delta_ts>2010-09-14 01:53:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20100913161825.patch</filename>
            <type>text/plain</type>
            <size>6700</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDk3NTkxNmY3MWIxZGZjMTkyODY2ZTViMmQwNWMxZTZlMmMyODAzMDcu
LjkxYjJkNGVlZDFmZTQ0N2QyZmU0MTI2ZTM2MjI0ODJjMTAxYWM3YjIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDEwLTA5LTEzICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gV2ViVmlldyBzaG91bGQgcHJvdmlkZSB0aGUgd2F5IHRvIHF1ZXJ5IHBhaW50
IHJlYWRpbmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU2NDAKKworICAgICAgICBBZGRlZCBXZWJXaWRnZXQ6OmlzUmVhZHlUb1BhaW50KCkgYW5k
IGl0cyBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgVG8gY2hlY2sgdGhlIHBhaW50IHJlYWRpbmVz
cywgaXQgcXVlcmllcyB3aGV0aGVyIDxib2R5PiBpcyBhdmFpbGFibGUuCisgICAgICAgIAorICAg
ICAgICBObyB0ZXN0LCBqdXN0IGV4cG9ydCBhbiBhZGRpdGlvbmFsIHN0YXRlLgorCisgICAgICAg
ICogcHVibGljL1dlYldpZGdldC5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnBhaW50V2l0aENvbnRleHQpOiBFeHRyYWN0
ZWQgYSBjb25kaXRpb24gdG8gaXNSZWFkeVRvUGFpbnQoKQorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OmlzUmVhZHlUb1BhaW50KTogQWRkZWQuCisgICAgICAgICogc3JjL1dlYkZyYW1l
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlBvcHVwTWVudUltcGw6OmlzUmVhZHl0b1BhaW50KTogQWRkZWQuIEl0IGp1c3QgcmV0
dXJucyB0cnVlLgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjptYWluRnJhbWVJbXBsKTogTWFkZSBpdCBjb25zdC4KKyAgICAgICAg
KFdlYktpdDo6V2ViVmlld0ltcGw6OmlzUmVhZHl0b1BhaW50KTogQWRkZWQuCisgICAgICAgICog
c3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMTAtMDktMTIgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJXaWRnZXQuaAppbmRleCBkMDEwMjcwNjVjOWU5MGMxNDc1NmU3Nzg3Y2EyNjZkZjY3
ZWFlYzNiLi4wNzJjNDczYmZiNDlmZjY2OWJiMzM4MWU4NzkyZTY0ZDJhZjdlYTNiIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAgLTgxLDYgKzgxLDExIEBAIHB1YmxpYzoKICAgICAv
LyBvbiByZWNlaXZpbmcgdGhpcyBtZXNzYWdlCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdl
ZCgpID0gMDsKIAorICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBwYWdlIGhhcyBzb21ldGhpbmcg
dG8gcGFpbnQuCisgICAgLy8gSWYgdGhlIGNsaWVudCBkb2VzIHBhaW50KCkgYmVmb3JlIHRoaXMg
cmV0dXJucyB0cnVlLAorICAgIC8vIGl0IGNhbiByZXN1bHQgYmxhbmsgY2FudmFzLgorICAgIHZp
cnR1YWwgYm9vbCBpc1JlYWR5dG9QYWludCgpIGNvbnN0ID0gMDsKKwogICAgIC8vIENhbGxlZCB0
byBpbmZvcm0gdGhlIFdlYldpZGdldCBvZiBhbiBpbnB1dCBldmVudC4gIFJldHVybnMgdHJ1ZSBp
ZgogICAgIC8vIHRoZSBldmVudCBoYXMgYmVlbiBwcm9jZXNzZWQsIGZhbHNlIG90aGVyd2lzZS4K
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50Jikg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDJkNDJmNGI3NTNmNmM4
ZGZhMGJiYzM4MWNmOGJjNTk1ZDkzNWNhMTkuLjJhMDBmNTlkMzhmZjYyY2E1YTlhMDE2Nzg1OTA3
ZTgxZDJmZGYzYWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTE4MTcs
NyArMTgxNyw3IEBAIHZvaWQgV2ViRnJhbWVJbXBsOjpwYWludFdpdGhDb250ZXh0KEdyYXBoaWNz
Q29udGV4dCYgZ2MsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgSW50UmVjdCBkaXJ0eVJl
Y3QocmVjdCk7CiAgICAgZ2Muc2F2ZSgpOwotICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpICYm
IGZyYW1lVmlldygpKSB7CisgICAgaWYgKGlzUmVhZHlUb1BhaW50KCkpIHsKICAgICAgICAgZ2Mu
Y2xpcChkaXJ0eVJlY3QpOwogICAgICAgICBmcmFtZVZpZXcoKS0+cGFpbnQoJmdjLCBkaXJ0eVJl
Y3QpOwogICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZHJh
d05vZGVIaWdobGlnaHQoZ2MpOwpAQCAtMTgyNiw2ICsxODI2LDI2IEBAIHZvaWQgV2ViRnJhbWVJ
bXBsOjpwYWludFdpdGhDb250ZXh0KEdyYXBoaWNzQ29udGV4dCYgZ2MsIGNvbnN0IFdlYlJlY3Qm
IHJlY3QpCiAgICAgZ2MucmVzdG9yZSgpOwogfQogCitib29sIFdlYkZyYW1lSW1wbDo6aXNSZWFk
eVRvUGFpbnQoKSBjb25zdAoreworICAgIGlmICghZnJhbWVWaWV3KCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOwor
ICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBUaGVyZSBp
cyBubyB3YXkgdG8gZGV0ZWN0IGEgcGFpbnQgcmVhZGluZXNzIGZvciBub24tSFRNTCBwYWdlLgor
ICAgIGlmICghZG9jdW1lbnQtPmlzSFRNTEVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgLy8gSWYgdGhlcmUgaXMgYSA8Ym9keT4sIHRoZSByZW5kZXJlciBjYW4gZXhwZWN0IHRo
YXQgd2UgbWlnaHQKKyAgICAvLyBoYXZlIHNvbWUgZXNzZW50aWFsIHN0eWxlcyBsaWtlIGJhY2tn
cm91bmQtY29sb3IuCisgICAgLy8KKyAgICAvLyBOb3RlIHRoYXQ6IAorICAgIC8vIC0gV2ViS2l0
IGdlbmVyYXRlcyA8Ym9keT4gZm9yIGltYWdlcyBhbmQgcGx1Z2lucy4KKyAgICAvLyAtIFdlYktp
dCBnZW5lcmF0ZXMgbWlzc2luZyA8Ym9keT4gZm9yIGlsbC1mb3JtZWQgSFRNTHMuCisgICAgLy8g
LSBBIDxmcmFtZXNldD4gY2FuIGJlIHJldHVucmVkIGZvciBib2R5KCkuCisgICAgcmV0dXJuIGRv
Y3VtZW50LT5ib2R5KCk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBsOjpwYWludChXZWJDYW52YXMq
IGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKICAgICBpZiAocmVjdC5pc0VtcHR5KCkp
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAyNWU3MDA0YTI3ZWUxM2Y5NTU2ZmFm
YzAxOGQxZmQxZjE3ZGQ2MzhlLi4wYjQ4Yjg4YjFiZTEzM2ZjODEwYzU4YmE1ODFjMjczNTMzNmIw
ZmVmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTE5Nyw2ICsxOTcsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CiAgICAg
dm9pZCBwYWludFdpdGhDb250ZXh0KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdl
YlJlY3QmKTsKICAgICB2b2lkIGNyZWF0ZUZyYW1lVmlldygpOworICAgIGJvb2wgaXNSZWFkeVRv
UGFpbnQoKSBjb25zdDsKIAogICAgIHN0YXRpYyBXZWJGcmFtZUltcGwqIGZyb21GcmFtZShXZWJD
b3JlOjpGcmFtZSogZnJhbWUpOwogICAgIHN0YXRpYyBXZWJGcmFtZUltcGwqIGZyb21GcmFtZU93
bmVyRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMzhmMmM0YzczNmQ2NzdmYWJmYTMyMmUwNTFm
OTA0MjY0Yy4uY2RkNWYzZWUyYjZiZjA1NGE3YWMzMDQ0YTNiNDhjNWM4NTA5NjMzOSAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCByZXNpemUoY29uc3QgV2ViU2l6ZSYpOwogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiBjYW52YXMs
IGNvbnN0IFdlYlJlY3QmIHJlY3QpOworICAgIHZpcnR1YWwgYm9vbCBpc1JlYWR5dG9QYWludCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCk7
CiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0ZShib29sIGZpbmlzaCk7CiAgICAgdmlydHVhbCBi
b29sIGhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5wdXRFdmVudCYpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAppbmRleCAwNDNlMzI4YTNjYmU2ZTNmNWM3ODczNTIyNTg4MTBhY2I1
NjA5YzE1Li4zZmY3MzExM2Q1ODZlZTlmNTQzODgyOTdkNTk4YzhiMjgyYmE1OTlhIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMzE1LDcgKzMxNSw3IEBAIFJlbmRlclRoZW1l
KiBXZWJWaWV3SW1wbDo6dGhlbWUoKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2UuZ2V0KCkgPyBt
X3BhZ2UtPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCkuZ2V0KCk7CiB9CiAK
LVdlYkZyYW1lSW1wbCogV2ViVmlld0ltcGw6Om1haW5GcmFtZUltcGwoKQorV2ViRnJhbWVJbXBs
KiBXZWJWaWV3SW1wbDo6bWFpbkZyYW1lSW1wbCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFn
ZS5nZXQoKSA/IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKG1fcGFnZS0+bWFpbkZyYW1lKCkpIDog
MDsKIH0KQEAgLTk1MCw2ICs5NTAsMTMgQEAgdm9pZCBXZWJWaWV3SW1wbDo6bGF5b3V0KCkKICAg
ICB9CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OmlzUmVhZHl0b1BhaW50KCkgY29uc3QKK3sKKyAg
ICBpZiAoY29uc3QgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9IG1haW5GcmFtZUltcGwoKSkKKyAg
ICAgICAgcmV0dXJuIHdlYmZyYW1lLT5pc1JlYWR5VG9QYWludCgpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0
IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2
ZSgpKSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzJlZjMxMzA3YzM5YmVmN2I2
MDJiODM4MjJiYTgwNzExODBhMWYwZS4uNTFiYzFkNGIyZjhmODk1MWExZjU2ZTI4ZGVmYmIyMjBl
NmUyNmIyZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtOTMsNiArOTMsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZShjb25zdCBXZWJTaXplJik7CiAgICAgdmly
dHVhbCB2b2lkIGxheW91dCgpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBj
b25zdCBXZWJSZWN0Jik7CisgICAgdmlydHVhbCBib29sIGlzUmVhZHl0b1BhaW50KCkgY29uc3Q7
CiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpOwogICAgIHZpcnR1YWwgdm9pZCBjb21w
b3NpdGUoYm9vbCBmaW5pc2gpOwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNv
bnN0IFdlYklucHV0RXZlbnQmKTsKQEAgLTIzMiw3ICsyMzMsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBSZXR1cm5zIHRoZSBtYWluIGZyYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHZpZXcuIFRoaXMg
bWF5IGJlIG51bGwgd2hlbgogICAgIC8vIHRoZSBwYWdlIGlzIHNodXR0aW5nIGRvd24sIGJ1dCB3
aWxsIGJlIHZhbGlkIGF0IGFsbCBvdGhlciB0aW1lcy4KLSAgICBXZWJGcmFtZUltcGwqIG1haW5G
cmFtZUltcGwoKTsKKyAgICBXZWJGcmFtZUltcGwqIG1haW5GcmFtZUltcGwoKSBjb25zdDsKIAog
ICAgIC8vIEhpc3RvcnkgcmVsYXRlZCBtZXRob2RzOgogICAgIHZvaWQgc2V0Q3VycmVudEhpc3Rv
cnlJdGVtKFdlYkNvcmU6Okhpc3RvcnlJdGVtKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67527</attachid>
            <date>2010-09-14 01:53:59 -0700</date>
            <delta_ts>2010-09-14 02:50:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20100914175358.patch</filename>
            <type>text/plain</type>
            <size>6951</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDk3NTkxNmY3MWIxZGZjMTkyODY2ZTViMmQwNWMxZTZlMmMyODAzMDcu
LjM4MzcyMmNjYmRhMWM0NmZjZDM1MDg4YjNkNjQ1YzhhYWYxNDRiNTEgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI4IEBACisyMDEwLTA5LTE0ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gV2ViVmlldyBzaG91bGQgcHJvdmlkZSB0aGUgd2F5IHRvIHF1ZXJ5IHBhaW50
IHJlYWRpbmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU2NDAKKworICAgICAgICBEaWQgc2tpcCBub3RpZnlpbmcgcGFpbnRpbmctcmVjdHMgdW5s
ZXNzIHRoZSB2aWV3IGlzIHJlYWR5IHRvIHBhaW50LAorICAgICAgICB0aGF0IGNhbiBlbGltaW5h
dGUgYSBmbGlja2VyIGJ5IHBhaW50aW5nIGEgYmxhbmsgcGFnZS4KKyAgICAgICAgVGhlIHBhaW50
IHJlYWRpbmVzcyBpcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgor
ICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3QsIGJlY2F1c2UgaXQncyBhIHRpbWluZyByZWxh
dGVkIHByb2JsZW0gYW5kIERSVCBjYW4ndCBoZWxwLgorCisgICAgICAgICogc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3cpOgorICAgICAgICBDaGVja2VkIGlzUmVhZHlUb1BhaW50KCkg
YmVmb3JlIG5vdGlmeWluZyBkaWRJbnZhbGlkYXRlUmVjdCgpLgorICAgICAgICAqIHNyYy9XZWJG
cmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnBhaW50V2l0aENv
bnRleHQpOiBFeHRyYWN0ZWQgdGhlIHJlYWRpbmVzcyBjb25kaXRpb24gdG8gaXNSZWFkeVRvUGFp
bnQoKQorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmlzUmVhZHlUb1BhaW50KTogQWRk
ZWQuCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjptYWluRnJhbWVJbXBsKTog
UXVhbGlmaWVkIHdpdGggY29uc3QuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjppc1Jl
YWR5dG9QYWludCk6IEFkZGVkLCBqdXN0IGRlbGVnYXRpbmcgdG8gdGhlICBtYWluIGZyYW1lLgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEwLTA5LTEyICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggYzY2MmU2MDY3OTVi
YzI0Y2I4OTRmNWI3MTY2ZDVkZTBhNTUyYzJkOS4uNDc3NjJkYTk1NDEwNTc5ODU3OTVjYmI0N2Ri
NTA2NzY0YWJkYTlkYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
CkBAIC00OTYsNyArNDk2LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlkYXRlQ29u
dGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm8KICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKCFtX3dlYlZpZXctPmlzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0FjdGl2ZSgpKSB7CiAjZW5kaWYKLSAgICAgICAgaWYgKG1fd2ViVmlldy0+Y2xp
ZW50KCkpCisgICAgICAgIGlmIChtX3dlYlZpZXctPmNsaWVudCgpICYmIG1fd2ViVmlldy0+aXNS
ZWFkeXRvUGFpbnQoKSkKICAgICAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZEludmFs
aWRhdGVSZWN0KHVwZGF0ZVJlY3QpOwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICB9IGVsc2UKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCAyZDQyZjRi
NzUzZjZjOGRmYTBiYmMzODFjZjhiYzU5NWQ5MzVjYTE5Li4yZTVmZDAwNGIzNGQ1ODA2NThhM2Jj
OWZkN2Y0ZWU0MmQzZmM1M2Y3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBA
IC0xODE3LDcgKzE4MTcsNyBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6cGFpbnRXaXRoQ29udGV4dChH
cmFwaGljc0NvbnRleHQmIGdjLCBjb25zdCBXZWJSZWN0JiByZWN0KQogewogICAgIEludFJlY3Qg
ZGlydHlSZWN0KHJlY3QpOwogICAgIGdjLnNhdmUoKTsKLSAgICBpZiAobV9mcmFtZS0+ZG9jdW1l
bnQoKSAmJiBmcmFtZVZpZXcoKSkgeworICAgIGlmIChpc1JlYWR5VG9QYWludCgpKSB7CiAgICAg
ICAgIGdjLmNsaXAoZGlydHlSZWN0KTsKICAgICAgICAgZnJhbWVWaWV3KCktPnBhaW50KCZnYywg
ZGlydHlSZWN0KTsKICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVy
KCktPmRyYXdOb2RlSGlnaGxpZ2h0KGdjKTsKQEAgLTE4MjYsNiArMTgyNiwzOCBAQCB2b2lkIFdl
YkZyYW1lSW1wbDo6cGFpbnRXaXRoQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGdjLCBjb25zdCBX
ZWJSZWN0JiByZWN0KQogICAgIGdjLnJlc3RvcmUoKTsKIH0KIAorYm9vbCBXZWJGcmFtZUltcGw6
OmlzUmVhZHlUb1BhaW50KCkgY29uc3QKK3sKKyAgICBpZiAoIWZyYW1lVmlldygpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1l
bnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAv
LyBUaGVyZSBpcyBubyB3YXkgdG8gZGV0ZWN0IGEgcGFpbnQgcmVhZGluZXNzIGZvciBub24tKFgp
SFRNTCBwYWdlLgorICAgIGlmICghZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkgJiYgIWRvY3Vt
ZW50LT5pc1hIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBU
aGUgYXJlIHNvbWUgcG9zc2libGUgc3RyYXRlZ3kgdG8gZGV0ZWN0IHJlYWRpbmVzczoKKyAgICAv
LyAtICgxKSBHZXRzIHJlYWR5IHdoZW4gdGhlIGRvd25sb2FkaW5nIHN0YXJ0ZWQsIG9yCisgICAg
Ly8gLSAoMikgR2V0cyByZWFkeSB3aGVuIHRoZSA8aGVhZD4gY29udGVudHMgYXJlIGxvYWRlZCwg
b3IKKyAgICAvLyAtICgzKSBHZXRzIHJlYWR5IHdoZW4gdGhlIHdob2xlIEhUTUwgbG9hZGVkLCBv
cgorICAgIC8vIC0gKDQpIEdldHMgcmVhZHkgd2hlbiAoMykgcGx1cyB3aG9sZSBleHRlcm5hbCBD
U1MgbG9hZGVkCisgICAgLy8KKyAgICAvLyBBbmQgaGVyZSBpcyBhIHRyYWRlLW9mZi4KKyAgICAv
LyAtIEZvcm1lciBjYW4gc3RhcnQgcGFnZSByZW5kZXJpbmcgZWFybGllci4KKyAgICAvLyAtIExh
dGVyIGNhbiBzYXZlIHBhZ2UgcmVmbG93IGFuZCByZS1zdHlsaW5nLCB0aHVzIGF2b2lkIGZsaWNr
ZXJpbmcuCisgICAgLy8gCisgICAgLy8gQ3VycmVudCBjaG9pY2UgaXMgKDIpLiBCdXQgbW9yZSBp
bnRlbGxpZ2VudCBkZXNpZ24gaXMgZGVzaXJhYmxlLgorCisgICAgLy8gSWYgeW91IGhhdmUgPGJv
ZHk+LCBJdCBpcyBleHBlY3RlZCB0aGF0IHByZWNlZGluZyA8aGVhZD4gY29udGVudHMKKyAgICAv
LyBpbmNsdWRpbmcgPHN0eWxlPnMgYXJlIHRvdGFsbHkgbG9hZGVkLiBBbHNvIG5vdGUgdGhhdDog
CisgICAgLy8gLSBXZWJLaXQgZ2VuZXJhdGVzIDxib2R5PiBmb3IgaW1hZ2VzIGFuZCBwbHVnaW5z
LgorICAgIC8vIC0gV2ViS2l0IGdlbmVyYXRlcyBtaXNzaW5nIDxib2R5PiBmb3IgaWxsLWZvcm1l
ZCBIVE1Mcy4KKyAgICAvLyAtIEEgPGZyYW1lc2V0PiBjYW4gYmUgcmV0dW5yZWQgZm9yIGJvZHko
KS4KKyAgICByZXR1cm4gZG9jdW1lbnQtPmJvZHkoKTsKK30KKwogdm9pZCBXZWJGcmFtZUltcGw6
OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQogewogICAgIGlm
IChyZWN0LmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDI1ZTcw
MDRhMjdlZTEzZjk1NTZmYWZjMDE4ZDFmZDFmMTdkZDYzOGUuLjBiNDhiODhiMWJlMTMzZmM4MTBj
NThiYTU4MWMyNzM1MzM2YjBmZWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAt
MTk3LDYgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0
IFdlYlJlY3QmKTsKICAgICB2b2lkIHBhaW50V2l0aENvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiwgY29uc3QgV2ViUmVjdCYpOwogICAgIHZvaWQgY3JlYXRlRnJhbWVWaWV3KCk7Cisg
ICAgYm9vbCBpc1JlYWR5VG9QYWludCgpIGNvbnN0OwogCiAgICAgc3RhdGljIFdlYkZyYW1lSW1w
bCogZnJvbUZyYW1lKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSk7CiAgICAgc3RhdGljIFdlYkZyYW1l
SW1wbCogZnJvbUZyYW1lT3duZXJFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwNDNlMzI4YTNjYmU2ZTNmNWM3ODcz
NTIyNTg4MTBhY2I1NjA5YzE1Li4zZmY3MzExM2Q1ODZlZTlmNTQzODgyOTdkNTk4YzhiMjgyYmE1
OTlhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMzE1LDcgKzMxNSw3IEBA
IFJlbmRlclRoZW1lKiBXZWJWaWV3SW1wbDo6dGhlbWUoKSBjb25zdAogICAgIHJldHVybiBtX3Bh
Z2UuZ2V0KCkgPyBtX3BhZ2UtPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCku
Z2V0KCk7CiB9CiAKLVdlYkZyYW1lSW1wbCogV2ViVmlld0ltcGw6Om1haW5GcmFtZUltcGwoKQor
V2ViRnJhbWVJbXBsKiBXZWJWaWV3SW1wbDo6bWFpbkZyYW1lSW1wbCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fcGFnZS5nZXQoKSA/IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKG1fcGFnZS0+bWFp
bkZyYW1lKCkpIDogMDsKIH0KQEAgLTk1MCw2ICs5NTAsMTMgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
bGF5b3V0KCkKICAgICB9CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OmlzUmVhZHl0b1BhaW50KCkg
Y29uc3QKK3sKKyAgICBpZiAoY29uc3QgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9IG1haW5GcmFt
ZUltcGwoKSkKKyAgICAgICAgcmV0dXJuIHdlYmZyYW1lLT5pc1JlYWR5VG9QYWludCgpOworICAg
IHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBj
YW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0FjdGl2ZSgpKSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzJlZjMx
MzA3YzM5YmVmN2I2MDJiODM4MjJiYTgwNzExODBhMWYwZS4uZjZjZTYxOTMxMjU4Y2ZmZjBmNzgy
ZGJkZTVkNDEzMjcwNzZlOGY5NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMjMy
LDcgKzIzMiw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgdGhlIG1haW4gZnJhbWUgYXNz
b2NpYXRlZCB3aXRoIHRoaXMgdmlldy4gVGhpcyBtYXkgYmUgbnVsbCB3aGVuCiAgICAgLy8gdGhl
IHBhZ2UgaXMgc2h1dHRpbmcgZG93biwgYnV0IHdpbGwgYmUgdmFsaWQgYXQgYWxsIG90aGVyIHRp
bWVzLgotICAgIFdlYkZyYW1lSW1wbCogbWFpbkZyYW1lSW1wbCgpOworICAgIFdlYkZyYW1lSW1w
bCogbWFpbkZyYW1lSW1wbCgpIGNvbnN0OwogCiAgICAgLy8gSGlzdG9yeSByZWxhdGVkIG1ldGhv
ZHM6CiAgICAgdm9pZCBzZXRDdXJyZW50SGlzdG9yeUl0ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0q
KTsKQEAgLTM0OSw2ICszNDksMTAgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24qIHNjcm9sbERpcmVjdGlvbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHkqIHNjcm9sbEdyYW51bGFyaXR5KTsKIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGFn
ZSBoYXMgc29tZXRoaW5nIHRvIHBhaW50LgorICAgIC8vIElmIHRoZSBjbGllbnQgZG9lcyBwYWlu
dCgpIGJlZm9yZSBnZXQgcmVhZHksCisgICAgLy8gaXQgY2FuIHJlc3VsdCBibGFuayBjYW52YXMu
CisgICAgYm9vbCBpc1JlYWR5dG9QYWludCgpIGNvbnN0OwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgV2ViVmlldzsgIC8vIFNvIFdlYlZpZXc6OkNyZWF0ZSBjYW4gY2FsbCBvdXIgY29uc3Ry
dWN0b3IKICAgICBmcmllbmQgY2xhc3MgV1RGOjpSZWZDb3VudGVkPFdlYlZpZXdJbXBsPjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67531</attachid>
            <date>2010-09-14 02:50:25 -0700</date>
            <delta_ts>2010-10-12 05:27:40 -0700</delta_ts>
            <desc>fixed typo</desc>
            <filename>bug-45640-20100914185023.patch</filename>
            <type>text/plain</type>
            <size>6951</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDk3NTkxNmY3MWIxZGZjMTkyODY2ZTViMmQwNWMxZTZlMmMyODAzMDcu
LmVlYjFjYTkzMjhkNGQwZWUxMDkxZjk2MDU4NmQ2Y2JjNmVhMjQ3NzkgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI4IEBACisyMDEwLTA5LTE0ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gV2ViVmlldyBzaG91bGQgcHJvdmlkZSB0aGUgd2F5IHRvIHF1ZXJ5IHBhaW50
IHJlYWRpbmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDU2NDAKKworICAgICAgICBEaWQgc2tpcCBub3RpZnlpbmcgcGFpbnRpbmctcmVjdHMgdW5s
ZXNzIHRoZSB2aWV3IGlzIHJlYWR5IHRvIHBhaW50LAorICAgICAgICB0aGF0IGNhbiBlbGltaW5h
dGUgYSBmbGlja2VyIGJ5IHBhaW50aW5nIGEgYmxhbmsgcGFnZS4KKyAgICAgICAgVGhlIHBhaW50
IHJlYWRpbmVzcyBpcyBiYXNlZCBvbiB3aGV0aGVyIHRoZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgor
ICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3QsIGJlY2F1c2UgaXQncyBhIHRpbWluZyByZWxh
dGVkIHByb2JsZW0gYW5kIERSVCBjYW4ndCBoZWxwLgorCisgICAgICAgICogc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3cpOgorICAgICAgICBDaGVja2VkIGlzUmVhZHlUb1BhaW50KCkg
YmVmb3JlIG5vdGlmeWluZyBkaWRJbnZhbGlkYXRlUmVjdCgpLgorICAgICAgICAqIHNyYy9XZWJG
cmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnBhaW50V2l0aENv
bnRleHQpOiBFeHRyYWN0ZWQgdGhlIHJlYWRpbmVzcyBjb25kaXRpb24gdG8gaXNSZWFkeVRvUGFp
bnQoKQorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmlzUmVhZHlUb1BhaW50KTogQWRk
ZWQuCisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjptYWluRnJhbWVJbXBsKTog
UXVhbGlmaWVkIHdpdGggY29uc3QuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjppc1Jl
YWR5VG9QYWludCk6IEFkZGVkLCBqdXN0IGRlbGVnYXRpbmcgdG8gdGhlICBtYWluIGZyYW1lLgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEwLTA5LTEyICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggYzY2MmU2MDY3OTVi
YzI0Y2I4OTRmNWI3MTY2ZDVkZTBhNTUyYzJkOS4uMzhkNmM3Y2JmNjVlMzljYTRkN2RmN2IwNjM1
MWExOGY4NDVmNDczZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3Bw
CkBAIC00OTYsNyArNDk2LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjppbnZhbGlkYXRlQ29u
dGVudHNBbmRXaW5kb3coY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCwgYm8KICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaWYgKCFtX3dlYlZpZXctPmlzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0FjdGl2ZSgpKSB7CiAjZW5kaWYKLSAgICAgICAgaWYgKG1fd2ViVmlldy0+Y2xp
ZW50KCkpCisgICAgICAgIGlmIChtX3dlYlZpZXctPmNsaWVudCgpICYmIG1fd2ViVmlldy0+aXNS
ZWFkeVRvUGFpbnQoKSkKICAgICAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZEludmFs
aWRhdGVSZWN0KHVwZGF0ZVJlY3QpOwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ICAgICB9IGVsc2UKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCAyZDQyZjRi
NzUzZjZjOGRmYTBiYmMzODFjZjhiYzU5NWQ5MzVjYTE5Li4yZTVmZDAwNGIzNGQ1ODA2NThhM2Jj
OWZkN2Y0ZWU0MmQzZmM1M2Y3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZy
YW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBA
IC0xODE3LDcgKzE4MTcsNyBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6cGFpbnRXaXRoQ29udGV4dChH
cmFwaGljc0NvbnRleHQmIGdjLCBjb25zdCBXZWJSZWN0JiByZWN0KQogewogICAgIEludFJlY3Qg
ZGlydHlSZWN0KHJlY3QpOwogICAgIGdjLnNhdmUoKTsKLSAgICBpZiAobV9mcmFtZS0+ZG9jdW1l
bnQoKSAmJiBmcmFtZVZpZXcoKSkgeworICAgIGlmIChpc1JlYWR5VG9QYWludCgpKSB7CiAgICAg
ICAgIGdjLmNsaXAoZGlydHlSZWN0KTsKICAgICAgICAgZnJhbWVWaWV3KCktPnBhaW50KCZnYywg
ZGlydHlSZWN0KTsKICAgICAgICAgbV9mcmFtZS0+cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVy
KCktPmRyYXdOb2RlSGlnaGxpZ2h0KGdjKTsKQEAgLTE4MjYsNiArMTgyNiwzOCBAQCB2b2lkIFdl
YkZyYW1lSW1wbDo6cGFpbnRXaXRoQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGdjLCBjb25zdCBX
ZWJSZWN0JiByZWN0KQogICAgIGdjLnJlc3RvcmUoKTsKIH0KIAorYm9vbCBXZWJGcmFtZUltcGw6
OmlzUmVhZHlUb1BhaW50KCkgY29uc3QKK3sKKyAgICBpZiAoIWZyYW1lVmlldygpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1l
bnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAv
LyBUaGVyZSBpcyBubyB3YXkgdG8gZGV0ZWN0IGEgcGFpbnQgcmVhZGluZXNzIGZvciBub24tKFgp
SFRNTCBwYWdlLgorICAgIGlmICghZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkgJiYgIWRvY3Vt
ZW50LT5pc1hIVE1MRG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBU
aGUgYXJlIHNvbWUgcG9zc2libGUgc3RyYXRlZ3kgdG8gZGV0ZWN0IHJlYWRpbmVzczoKKyAgICAv
LyAtICgxKSBHZXRzIHJlYWR5IHdoZW4gdGhlIGRvd25sb2FkaW5nIHN0YXJ0ZWQsIG9yCisgICAg
Ly8gLSAoMikgR2V0cyByZWFkeSB3aGVuIHRoZSA8aGVhZD4gY29udGVudHMgYXJlIGxvYWRlZCwg
b3IKKyAgICAvLyAtICgzKSBHZXRzIHJlYWR5IHdoZW4gdGhlIHdob2xlIEhUTUwgbG9hZGVkLCBv
cgorICAgIC8vIC0gKDQpIEdldHMgcmVhZHkgd2hlbiAoMykgcGx1cyB3aG9sZSBleHRlcm5hbCBD
U1MgbG9hZGVkCisgICAgLy8KKyAgICAvLyBBbmQgaGVyZSBpcyBhIHRyYWRlLW9mZi4KKyAgICAv
LyAtIEZvcm1lciBjYW4gc3RhcnQgcGFnZSByZW5kZXJpbmcgZWFybGllci4KKyAgICAvLyAtIExh
dGVyIGNhbiBzYXZlIHBhZ2UgcmVmbG93IGFuZCByZS1zdHlsaW5nLCB0aHVzIGF2b2lkIGZsaWNr
ZXJpbmcuCisgICAgLy8gCisgICAgLy8gQ3VycmVudCBjaG9pY2UgaXMgKDIpLiBCdXQgbW9yZSBp
bnRlbGxpZ2VudCBkZXNpZ24gaXMgZGVzaXJhYmxlLgorCisgICAgLy8gSWYgeW91IGhhdmUgPGJv
ZHk+LCBJdCBpcyBleHBlY3RlZCB0aGF0IHByZWNlZGluZyA8aGVhZD4gY29udGVudHMKKyAgICAv
LyBpbmNsdWRpbmcgPHN0eWxlPnMgYXJlIHRvdGFsbHkgbG9hZGVkLiBBbHNvIG5vdGUgdGhhdDog
CisgICAgLy8gLSBXZWJLaXQgZ2VuZXJhdGVzIDxib2R5PiBmb3IgaW1hZ2VzIGFuZCBwbHVnaW5z
LgorICAgIC8vIC0gV2ViS2l0IGdlbmVyYXRlcyBtaXNzaW5nIDxib2R5PiBmb3IgaWxsLWZvcm1l
ZCBIVE1Mcy4KKyAgICAvLyAtIEEgPGZyYW1lc2V0PiBjYW4gYmUgcmV0dW5yZWQgZm9yIGJvZHko
KS4KKyAgICByZXR1cm4gZG9jdW1lbnQtPmJvZHkoKTsKK30KKwogdm9pZCBXZWJGcmFtZUltcGw6
OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQogewogICAgIGlm
IChyZWN0LmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDI1ZTcw
MDRhMjdlZTEzZjk1NTZmYWZjMDE4ZDFmZDFmMTdkZDYzOGUuLjBiNDhiODhiMWJlMTMzZmM4MTBj
NThiYTU4MWMyNzM1MzM2YjBmZWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAt
MTk3LDYgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0
IFdlYlJlY3QmKTsKICAgICB2b2lkIHBhaW50V2l0aENvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiwgY29uc3QgV2ViUmVjdCYpOwogICAgIHZvaWQgY3JlYXRlRnJhbWVWaWV3KCk7Cisg
ICAgYm9vbCBpc1JlYWR5VG9QYWludCgpIGNvbnN0OwogCiAgICAgc3RhdGljIFdlYkZyYW1lSW1w
bCogZnJvbUZyYW1lKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSk7CiAgICAgc3RhdGljIFdlYkZyYW1l
SW1wbCogZnJvbUZyYW1lT3duZXJFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwNDNlMzI4YTNjYmU2ZTNmNWM3ODcz
NTIyNTg4MTBhY2I1NjA5YzE1Li4xM2ZjNTY4MjRmMjJkNmY0MDAyNGFmZmU0ZDA3YTExNjZmNTIz
Y2Y3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMzE1LDcgKzMxNSw3IEBA
IFJlbmRlclRoZW1lKiBXZWJWaWV3SW1wbDo6dGhlbWUoKSBjb25zdAogICAgIHJldHVybiBtX3Bh
Z2UuZ2V0KCkgPyBtX3BhZ2UtPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCku
Z2V0KCk7CiB9CiAKLVdlYkZyYW1lSW1wbCogV2ViVmlld0ltcGw6Om1haW5GcmFtZUltcGwoKQor
V2ViRnJhbWVJbXBsKiBXZWJWaWV3SW1wbDo6bWFpbkZyYW1lSW1wbCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fcGFnZS5nZXQoKSA/IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKG1fcGFnZS0+bWFp
bkZyYW1lKCkpIDogMDsKIH0KQEAgLTk1MCw2ICs5NTAsMTMgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
bGF5b3V0KCkKICAgICB9CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OmlzUmVhZHlUb1BhaW50KCkg
Y29uc3QKK3sKKyAgICBpZiAoY29uc3QgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9IG1haW5GcmFt
ZUltcGwoKSkKKyAgICAgICAgcmV0dXJuIHdlYmZyYW1lLT5pc1JlYWR5VG9QYWludCgpOworICAg
IHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBj
YW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0FjdGl2ZSgpKSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggYzJlZjMx
MzA3YzM5YmVmN2I2MDJiODM4MjJiYTgwNzExODBhMWYwZS4uMzA0YmVjYWQ2YTkzZTJiYWIwZmU1
YTc2OThiMDdlZWFlODIxYmM5NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMjMy
LDcgKzIzMiw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgdGhlIG1haW4gZnJhbWUgYXNz
b2NpYXRlZCB3aXRoIHRoaXMgdmlldy4gVGhpcyBtYXkgYmUgbnVsbCB3aGVuCiAgICAgLy8gdGhl
IHBhZ2UgaXMgc2h1dHRpbmcgZG93biwgYnV0IHdpbGwgYmUgdmFsaWQgYXQgYWxsIG90aGVyIHRp
bWVzLgotICAgIFdlYkZyYW1lSW1wbCogbWFpbkZyYW1lSW1wbCgpOworICAgIFdlYkZyYW1lSW1w
bCogbWFpbkZyYW1lSW1wbCgpIGNvbnN0OwogCiAgICAgLy8gSGlzdG9yeSByZWxhdGVkIG1ldGhv
ZHM6CiAgICAgdm9pZCBzZXRDdXJyZW50SGlzdG9yeUl0ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0q
KTsKQEAgLTM0OSw2ICszNDksMTAgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24qIHNjcm9sbERpcmVjdGlvbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsR3JhbnVsYXJp
dHkqIHNjcm9sbEdyYW51bGFyaXR5KTsKIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGFn
ZSBoYXMgc29tZXRoaW5nIHRvIHBhaW50LgorICAgIC8vIElmIHRoZSBjbGllbnQgZG9lcyBwYWlu
dCgpIGJlZm9yZSBnZXQgcmVhZHksCisgICAgLy8gaXQgY2FuIHJlc3VsdCBibGFuayBjYW52YXMu
CisgICAgYm9vbCBpc1JlYWR5VG9QYWludCgpIGNvbnN0OwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgV2ViVmlldzsgIC8vIFNvIFdlYlZpZXc6OkNyZWF0ZSBjYW4gY2FsbCBvdXIgY29uc3Ry
dWN0b3IKICAgICBmcmllbmQgY2xhc3MgV1RGOjpSZWZDb3VudGVkPFdlYlZpZXdJbXBsPjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>68205</attachid>
            <date>2010-09-21 03:22:12 -0700</date>
            <delta_ts>2010-09-21 03:22:12 -0700</delta_ts>
            <desc>A server script to reproduce</desc>
            <filename>slowd.rb</filename>
            <type>text/x-ruby-script</type>
            <size>1468</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcnVieQojCiMgeW91IGNhbiBhY2Nlc3MgaHR0cDovL2xvY2FsaG9zdDo4
MDgwLyB0byByZXByb2R1Y2UuCiMKCnJlcXVpcmUgInNvY2tldCIKIApQUk9MT0dVRSA9IDw8RU9G
CjxodG1sPgo8aGVhZD4KICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9
InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICA8c3R5bGU+IGJvZHkgeyBiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyB9IDwvc3R5bGU+CiAgPHNjcmlwdD4KICAgICBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQub2Zmc2V0TGVmdDsgLy8gdG8gbWFrZSBzaWRlLWVmZmVjdAogIDwvc2NyaXB0PgpF
T0YKCkVQSUxPR1VFID0gPDxFT0YKPC9oZWFkPgo8Ym9keT4KSGVsbG8hCjwvYm9keT4KPC9odG1s
PgpFT0YKCiMgTmVlZCB0byB3b3JrYXJvdW5kIGJ1ZmZlcmluZy4KIyBUaGVyZSBhcmUgbGFyZ2Ug
Q1NTIG9yIHNjcmlwdHMgaW4gcmVhbCB3ZWIgc2l0ZXMuCldISVRFUEFEID0gIiAiKjEwMDAKU0xF
RVBTRUMgPSAyLjAKCmdzID0gVENQc2VydmVyLm9wZW4oODA4MCkKCndoaWxlIHRydWUKICBUaHJl
YWQuc3RhcnQoZ3MuYWNjZXB0KSBkbyB8c3wKICAgIGJlZ2luCiAgICAgIHByaW50KHMsICIgaXMg
YWNjZXB0ZWRcbiIpCiAgICAgIHJlcWxpbmUgPSBzLnJlYWRsaW5lCiAgICAgIFNUREVSUi5wcmlu
dChyZXFsaW5lLCAiXG4iKQoKICAgICAgaWYgcmVxbGluZS5pbmNsdWRlPygiZmF2aWNvbiIpCiAg
ICAgICAgcy53cml0ZSgiSFRUUC8xLjAgMjAwIE9LXHJcbiIpCiAgICAgICAgcy53cml0ZSgiQ29u
dGVudC1UeXBlOiB0ZXh0L2h0bWxcclxuIikKICAgICAgICBzLndyaXRlKCJDb25uZWN0aW9uOiBj
bG9zZVxyXG4iKQogICAgICAgIHMud3JpdGUoIkNvbnRlbnQtTGVuZ3RoOiAwIikKICAgICAgICBz
LndyaXRlKCJcclxuIikKICAgICAgICBzLmNsb3NlCiAgICAgICAgU1RERVJSLnByaW50KCJ6ZXJv
LWNsb3NlZFxuIikKICAgICAgZWxzZQogICAgICAgIHMud3JpdGUoIkhUVFAvMS4wIDIwMCBPS1xy
XG4iKQogICAgICAgIHMud3JpdGUoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sXHJcbiIpCiAgICAg
ICAgcy53cml0ZSgiQ29ubmVjdGlvbjogY2xvc2VcclxuIikKICAgICAgICBzLndyaXRlKCJcclxu
IikKICAgICAgICBTVERFUlIucHJpbnQoInByb2xvZ3VlXHJcbiIpCiAgICAgICAgcy53cml0ZShQ
Uk9MT0dVRSArIFdISVRFUEFEKTsgcy5mbHVzaCgpCiAgICAgICAgc2xlZXAoMSkgIyB0byBlbXBo
YXNpemUgd2hpdGUgYmxhbmsKICAgICAgICBTVERFUlIucHJpbnQoImJvZHlcclxuIikKICAgICAg
ICBzLndyaXRlKEVQSUxPR1VFICsgV0hJVEVQQUQpOyBzLmZsdXNoKCkKICAgICAgICBzLmNsb3Nl
CiAgICAgICAgU1RERVJSLnByaW50KCJodG1sLWNsb3NlZFxuIikKICAgICAgZW5kCgogICAgcmVz
Y3VlCiAgICAgIHAgJCEuYmFja3RyYWNlCiAgICBlbmQKICBlbmQKZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70521</attachid>
            <date>2010-10-12 05:27:46 -0700</date>
            <delta_ts>2010-10-13 01:19:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101012212744.patch</filename>
            <type>text/plain</type>
            <size>5457</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjMGUwMmE1MWRiY2JiMWE0YTE1YjUwNTY5ZjVjMDU3ZWRjMjZkMi4uYTJmNzI1NWJmYTI4NDJh
MzU3ZmZlZDhkZjEzZDNjOWZlMDQ2ZWJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMC0xMC0xMiAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgcHJvYmxlbSBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3Qg
YmVmb3JlIHRoZSA8Ym9keT4gaXMgcmVhZHkuCisgICAgICAgIC0gU29tZSBET00gb3BlcmF0aW9u
IHN1Y2ggYXMgJ2VsZW1lbnQub2Zmc2V0TGVmdCcgY2F1c2VzIHBhZ2UgbGF5b3V0LgorICAgICAg
ICAtIFRoZSBwYWdlIGxheW91dCByZXN1bHRzIHBhZ2UgcmVwYWludAorICAgICAgICAtIFRoZSBw
YWdlIHBhZ2UgcmVwYWludCBtYWtlcyBhIHdoaXRlIHNjcmVlbi4gYmVjYXVzZSB0aGVyZSBpcyBu
b3RoaW5nIHRvIHBhaW50CisgICAgICAgICAgYmVmb3JlIDxib2R5PiBpcyBhdmFpbGFibGUuCisg
ICAgICAgIAorICAgICAgICBUaGUgcHJvYmxlbSBpcyB0cmlnZ2VyZWQgYnkgMiBkaWZmZXJlbnQg
cGF0aC4KKyAgICAgICAgLSBCeSByZXF1ZXN0aW5nIHJlcGFpbnQgYnkgcmVwYWludENvbnRlbnRS
ZWN0YW5nbGUoKS4KKyAgICAgICAgICBUaGUgcmVxdWVzdCBtYWtlcyB0aGUgc2NyZWVuIGNsZWFy
ZWQuIENocm9taXVtIGlzIHRoaXMgY2FzZS4KKyAgICAgICAgLSBCeSBhY3R1YWwgcGFpbnRpbmcg
YnkgcGFpbnRDb250ZW50cygpLiBUaGlzIGFsc28gY2FuIGNsZWFyIHRoZSBzY3JlZW4uCisgICAg
ICAgICAgU2FmYXJpIGlzIHRoaXMgY2FzZS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgY2hhbmdl
IGFkZGVkIGEgZ3VhcmQgZm9yIGVhY2guIFRoZSBndWFyZCwgRnJhbWU6Omhhc1BhaW50YWJsZUNv
bnRlbnQoKSwgCisgICAgICAgIGNoZWNrcyBpZiB0aGUgPGJvZHk+IGJlIGF2YWlsYWJsZSwgYW5k
IHNraXBzIChyZSlwYWludCB1bmxlc3MgdGhlIGZyYW1lIGlzIHJlYWR5LgorICAgICAgICBUaGlz
IHNraXAgaXMgc2FmZSBiZWNhdXNlIGEgd2hvbGUgcmVwYWludCBpcyByZXF1ZXN0ZWQgd2hlbiA8
Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGUg
ZGF0YSBsb2FkaW5nIHNwZWVkIG1hdHRlcnMgYW5kIGl0IGNhbm5vdCBiZSBjYXB0dXJlZCBieSBE
UlQuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
OjpoYXNQYWludGFibGVDb250ZW50KTogQWRkZWQuCisgICAgICAgICogcGFnZS9GcmFtZS5oOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojpkb0RlZmVycmVkUmVwYWludHMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91
bGRVcGRhdGUpOiBFeHRyYWN0ZWQgZnJvbSBzZXZlcmFsIGNvbmRpdGlvbmFscy4KKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50cyk6IEFkZGVkIGEgZ3VhcmQgcGFpbnRp
bmcgYmVmb3JlIHRoZSBjb250ZW50IHJlYWR5LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
CisKIDIwMTAtMTAtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDVhMDQwZjE3ZTdh
OWI5MjFkNjc2MzUxYmI2MDI5ODM5NmQwZjU0NmIuLmRhYTgyYTQ4YTVlN2QzN2QyODU2NjU4YTE2
NDJjM2ZjZTYzYjE0NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtNDk0LDYgKzQ5NCwxOSBAQCBTdHJpbmcgRnJhbWU6
Om1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQoY29uc3QgVmVjdG9yPFN0cmluZz4mIGxhYmVscywg
RWxlbWVudCogZQogICAgIHJldHVybiBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcobGFiZWxzLCBl
bGVtZW50LT5nZXRBdHRyaWJ1dGUoaWRBdHRyKSk7CiB9CiAKK2Jvb2wgRnJhbWU6Omhhc1BhaW50
YWJsZUNvbnRlbnQoKSBjb25zdAoreworICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwor
ICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gV2UgY2Fubm90IGRl
dGVybWluZSBpZiBub24tKFgpSFRNTCBkb2N1bWVudCBpcyByZWFkeSB0byBwYWludAorICAgIGlm
ICghZG9jLT5pc0hUTUxEb2N1bWVudCgpICYmIGRvYy0+aXNYSFRNTERvY3VtZW50KCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIGlmICghZG9jLT5ib2R5KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBGcmFtZTo6c2V0UHJpbnRpbmcoYm9v
bCBwcmludGluZywgY29uc3QgRmxvYXRTaXplJiBwYWdlU2l6ZSwgZmxvYXQgbWF4aW11bVNocmlu
a1JhdGlvLCBBZGp1c3RWaWV3U2l6ZU9yTm90IHNob3VsZEFkanVzdFZpZXdTaXplKQogewogICAg
IG1fZG9jLT5zZXRQcmludGluZyhwcmludGluZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IGI0OGY1YzhmOTE3YjY3NzBlMTQz
ZDEyNTdiZGE2MzFmMmFjOGY4MWEuLjE5NTQwMTU4Njc4M2I5ODc1NDI3MmViZmUyZDViZjRkOTMw
NWM1NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9GcmFtZS5oCkBAIC0xODMsNiArMTgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBOU0ltYWdlKiBpbWFnZUZyb21SZWN0KE5TUmVjdCkgY29uc3Q7CiAjZW5kaWYKIAorICAgICAg
ICBib29sIGhhc1BhaW50YWJsZUNvbnRlbnQoKSBjb25zdDsKICAgICAvLyA9PT09PT09PQogCiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMjk0MWYyM2Y5OTExZDU2Y2RmY2I3YTFjNGVh
YTJlMzQ3YjFlMzVhZC4uMjU0MGRhZmEyM2JhNDZmNTczZjEyMzZjNTYxZjU0MDJiMDQ3NWQzOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKQEAgLTExODgsNyArMTE4OCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXBh
aW50Q29udGVudFJlY3RhbmdsZShjb25zdCBJbnRSZWN0JiByLCBib29sIGltbWVkaWF0ZSkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBpZiAoIWltbWVkaWF0ZSAmJiBpc09mZnNj
cmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKQorICAgIGlmICghc2hvdWxk
VXBkYXRlKGltbWVkaWF0ZSkpCiAgICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQpAQCAtMTI2Miw3ICsxMjYyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNoZWNr
U3RvcERlbGF5aW5nRGVmZXJyZWRSZXBhaW50cygpCiB2b2lkIEZyYW1lVmlldzo6ZG9EZWZlcnJl
ZFJlcGFpbnRzKCkKIHsKICAgICBBU1NFUlQoIW1fZGVmZXJyaW5nUmVwYWludHMpOwotICAgIGlm
IChpc09mZnNjcmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKSB7CisgICAg
aWYgKCFzaG91bGRVcGRhdGUoKSkgewogICAgICAgICBtX3JlcGFpbnRSZWN0cy5jbGVhcigpOwog
ICAgICAgICBtX3JlcGFpbnRDb3VudCA9IDA7CiAgICAgICAgIHJldHVybjsKQEAgLTE1MDMsNiAr
MTUwMywxNSBAQCB2b2lkIEZyYW1lVmlldzo6c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4o
Ym9vbCBzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbikKICAgICBtX3Nob3VsZFVwZGF0ZVdoaWxl
T2Zmc2NyZWVuID0gc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW47CiB9CiAKK2Jvb2wgRnJhbWVW
aWV3OjpzaG91bGRVcGRhdGUoYm9vbCBpbW1lZGlhdGVSZXF1ZXN0ZWQpIGNvbnN0Cit7CisgICAg
aWYgKCFpbW1lZGlhdGVSZXF1ZXN0ZWQgJiYgaXNPZmZzY3JlZW4oKSAmJiAhc2hvdWxkVXBkYXRl
V2hpbGVPZmZzY3JlZW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghbV9mcmFt
ZSB8fCAhbV9mcmFtZS0+aGFzUGFpbnRhYmxlQ29udGVudCgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgRnJhbWVWaWV3OjpzY2hlZHVsZUV2ZW50
KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IGV2ZW50VGFyZ2V0KQog
ewogICAgIGlmICghbV9lbnF1ZXVlRXZlbnRzKSB7CkBAIC0xOTI4LDYgKzE5MzcsOSBAQCB2b2lk
IEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQobV9mcmFtZS5nZXQoKSwgcmVjdCk7
CiAKKyAgICBpZiAoIWZyYW1lKCktPmhhc1BhaW50YWJsZUNvbnRlbnQoKSkKKyAgICAgICAgcmV0
dXJuOworCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUoKS0+ZG9jdW1lbnQoKTsKIAog
I2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA1ZTI3NDMzNmJhNTJlNjMxZGM1MjhiZmM4NDI4
MzFlZGRjMGQ5MzRiLi41NDcyZmFiM2RiY2MzMzc2MjA2OTNhYmEzMGViZTdkNjNlNjE5NWE1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCkBAIC0xMzQsNiArMTM0LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91bGRV
cGRhdGVXaGlsZU9mZnNjcmVlbigpIGNvbnN0OwogICAgIHZvaWQgc2V0U2hvdWxkVXBkYXRlV2hp
bGVPZmZzY3JlZW4oYm9vbCk7CisgICAgYm9vbCBzaG91bGRVcGRhdGUoYm9vbCA9IGZhbHNlKSBj
b25zdDsKIAogICAgIHZvaWQgYWRqdXN0Vmlld1NpemUoKTsKICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70587</attachid>
            <date>2010-10-13 01:19:47 -0700</date>
            <delta_ts>2010-10-21 02:34:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101013171945.patch</filename>
            <type>text/plain</type>
            <size>7390</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjMGUwMmE1MWRiY2JiMWE0YTE1YjUwNTY5ZjVjMDU3ZWRjMjZkMi4uOTM3ZDBkNzBmZjhiYTgw
YTQxMjM1MjFkYTdkY2FhOGI4ZWY5ZGJlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMC0xMC0xMyAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgRk9VQyBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3QgYmVm
b3JlIHRoZSA8Ym9keT4gaXMgcmVhZHksIAorICAgICAgICBhbmQgdGhlIHBhZ2UncyBiYWNrZ3Jv
dW5kIHN0eWxlIGdpdmVuIGZvciA8Ym9keT4sIGluc3RlYWQgb2YgPGh0bWw+LgorICAgICAgICBT
byBtYW55IHNpdGVzIGhhdmUgc3VjaCBzdHlsZXNoZWV0cyB0aGF0IHdlIHNob3VsZCBjYXJlIHRo
ZW0uCisgICAgICAgIAorICAgICAgICAtIFNvbWUgRE9NIG9wZXJhdGlvbiBzdWNoIGFzICdlbGVt
ZW50Lm9mZnNldExlZnQnIGNhdXNlcyBwYWdlIGxheW91dC4KKyAgICAgICAgLSBUaGUgcGFnZSBs
YXlvdXQgcmVzdWx0cyBwYWdlIHJlcGFpbnQKKyAgICAgICAgLSBUaGUgcGFnZSBwYWdlIHJlcGFp
bnQgbWFrZXMgYSB3aGl0ZSBzY3JlZW4uIGJlY2F1c2UgdGhlcmUgaXMgbm90aGluZyB0byBwYWlu
dAorICAgICAgICAgIGJlZm9yZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBjaGFuZ2U6CisgICAgICAgIC0gZXh0cmFjdGVkIGV4aXN0aW5nIEZPVUMgY2hlY2sg
b24gUmVuZGVyQmxvY2sgYW5kIFJlbmRlckxheWVyIHRvIAorICAgICAgICAgIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSwKKyAgICAgICAgLSBjaGVja2VkIDxib2R5
PiBhdmFpbGFiaWxpdHkgb24gbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCksIGFuZAor
ICAgICAgICAtIGFkZGVkIEZPVUMgZ3VhcmRzIGJlZm9yZSByZXF1ZXN0aW5nIHJlYXBpbnQgb24g
RnJhbWVWaWV3LgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGUgZGF0YSBsb2Fk
aW5nIHNwZWVkIG1hdHRlcnMgYW5kIGl0IGNhbm5vdCBiZQorICAgICAgICBjYXB0dXJlZCBieSBE
UlQuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6Om1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCk6IEFkZGVkLgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6aW52YWxpZGF0ZVJlY3QpOiBBZGRlZCBhIGd1YXJkLgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXBhaW50Q29udGVudFJlY3RhbmdsZSk6IEFkZGVk
IGEgZ3VhcmQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRvRGVmZXJyZWRSZXBhaW50
cyk6IEFkZGVkIGEgZ3VhcmQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNob3VsZFVw
ZGF0ZSk6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpw
YWludENvbnRlbnRzKTogUmVwbGFjZWQgRk9VQyBjaGVjayB0byB1c2UgbWF5Q2F1c2VGbGFzaE9m
VW5zdHlsZWRDb250ZW50CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyKTogUmVwbGFjZWQgRk9VQyBj
aGVjayB0byB1c2UgbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50CisKIDIwMTAtMTAtMDcg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBjMzExY2EyNmZiOTBhODlmODE5Mjcy
NTgzOWRlNWIzMTBmNTk2YWUwLi4yYzA2OGM3ZTQ5M2UwM2ZjYTlkYjc3YmZmMjBkM2RiOWI5NzBi
MWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCkBAIC00NzY1LDQgKzQ3NjUsMTUgQEAgdm9pZCBEb2N1bWVudDo6bG9h
ZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCiAgICAgICAgIGZyYW1lKCkt
PmxvYWRlcigpLT5jaGVja0NvbXBsZXRlZCgpOwogfQogCitib29sIERvY3VtZW50OjptYXlDYXVz
ZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25zdAoreworICAgIGlmIChkb2N1bWVudCgpLT5k
aWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkpCisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIC8vIE1hbnkgd2Vic2l0ZXMgZ2l2ZSB0aGllciBiYWNrZ3JvdW5kIHN0eWxlIHVzaW5nIDxi
b2R5PiBpbnN0ZWFkIG9mIDxodG1sPi4KKyAgICAvLyBTbyBwYWludGluZyBiZWZvcmUgPGJvZHk+
IGNhbiBjYXVzZSBhIGZsYXNoLgorICAgIGlmICgoaXNIVE1MRG9jdW1lbnQoKSB8fCBpc1hIVE1M
RG9jdW1lbnQoKSkgJiYgIWJvZHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBjZjEwYjQ5MTdj
Y2IyODBkMTIyODBhNjNmYzIxMjk4ZjE2YWI5YzkyLi45YjdhY2NhYzdmYmFlNzUwYWYxMzI3OTVk
MmJmOGU3NWNiOWExZDI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEwMzIsNiArMTAzMiw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKICAgICBib29sIGlzRGVsYXlp
bmdMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX2xvYWRFdmVudERlbGF5Q291bnQ7IH0KIAor
ICAgIGJvb2wgbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkgY29uc3Q7CiBwcm90ZWN0
ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwg
Ym9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CmluZGV4IDI5NDFmMjNmOTkxMWQ1NmNkZmNiN2ExYzRlYWEyZTM0N2IxZTM1YWQuLmY4NTg3NjMy
ZDRhZDE3YzM4YTdkZDczMjgxZWQ0ODRhNmRjN2I1N2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMDMs
NyArMzAzLDcgQEAgYm9vbCBGcmFtZVZpZXc6OmRpZEZpcnN0TGF5b3V0KCkgY29uc3QKIHZvaWQg
RnJhbWVWaWV3OjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIGlm
ICghcGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGhvc3RXaW5kb3coKSkKKyAgICAgICAgaWYgKGhv
c3RXaW5kb3coKSAmJiBzaG91bGRVcGRhdGUoZmFsc2UpKQogICAgICAgICAgICAgaG9zdFdpbmRv
dygpLT5pbnZhbGlkYXRlQ29udGVudHNBbmRXaW5kb3cocmVjdCwgZmFsc2UgLyppbW1lZGlhdGUq
Lyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMTg4LDcgKzExODgsNyBAQCB2b2lkIEZy
YW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUoY29uc3QgSW50UmVjdCYgciwgYm9vbCBp
bW1lZGlhdGUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCi0gICAgaWYgKCFpbW1lZGlh
dGUgJiYgaXNPZmZzY3JlZW4oKSAmJiAhc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4oKSkKKyAg
ICBpZiAoIXNob3VsZFVwZGF0ZShpbW1lZGlhdGUpKQogICAgICAgICByZXR1cm47CiAKICNpZiBF
TkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTEyNjIsNyArMTI2Miw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpjaGVja1N0b3BEZWxheWluZ0RlZmVycmVkUmVwYWludHMoKQogdm9pZCBGcmFtZVZp
ZXc6OmRvRGVmZXJyZWRSZXBhaW50cygpCiB7CiAgICAgQVNTRVJUKCFtX2RlZmVycmluZ1JlcGFp
bnRzKTsKLSAgICBpZiAoaXNPZmZzY3JlZW4oKSAmJiAhc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW4oKSkgeworICAgIGlmICghc2hvdWxkVXBkYXRlKCkpIHsKICAgICAgICAgbV9yZXBhaW50UmVj
dHMuY2xlYXIoKTsKICAgICAgICAgbV9yZXBhaW50Q291bnQgPSAwOwogICAgICAgICByZXR1cm47
CkBAIC0xNTAzLDYgKzE1MDMsMTUgQEAgdm9pZCBGcmFtZVZpZXc6OnNldFNob3VsZFVwZGF0ZVdo
aWxlT2Zmc2NyZWVuKGJvb2wgc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4pCiAgICAgbV9zaG91
bGRVcGRhdGVXaGlsZU9mZnNjcmVlbiA9IHNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuOwogfQog
Citib29sIEZyYW1lVmlldzo6c2hvdWxkVXBkYXRlKGJvb2wgaW1tZWRpYXRlUmVxdWVzdGVkKSBj
b25zdAoreworICAgIGlmICghaW1tZWRpYXRlUmVxdWVzdGVkICYmIGlzT2Zmc2NyZWVuKCkgJiYg
IXNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPmRvY3VtZW50KCkgfHwgbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlRXZl
bnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gZXZlbnRUYXJnZXQp
CiB7CiAgICAgaWYgKCFtX2VucXVldWVFdmVudHMpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA1ZTI3NDMzNmJh
NTJlNjMxZGM1MjhiZmM4NDI4MzFlZGRjMGQ5MzRiLi41NDcyZmFiM2RiY2MzMzc2MjA2OTNhYmEz
MGViZTdkNjNlNjE5NWE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysr
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0xMzQsNiArMTM0LDcgQEAgcHVibGljOgog
CiAgICAgYm9vbCBzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpIGNvbnN0OwogICAgIHZvaWQg
c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4oYm9vbCk7CisgICAgYm9vbCBzaG91bGRVcGRh
dGUoYm9vbCA9IGZhbHNlKSBjb25zdDsKIAogICAgIHZvaWQgYWRqdXN0Vmlld1NpemUoKTsKICAg
ICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCAyM2YzMDgxYTUwM2YyZjhiNjM3ZTIz
ZGQ0MjYzNzFhZWY1ZDM0NmM4Li4xN2E0NGRkMjBmOWE5OWRlMDVlNGI4ZGNkODA3Y2Y0NWM4YzM2
MGZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0yMjE4LDcgKzIyMTgsNyBAQCB2
b2lkIFJlbmRlckJsb2NrOjpwYWludENvbnRlbnRzKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQg
dHgsIGludCB0eSkKICAgICAvLyBBdm9pZCBwYWludGluZyBkZXNjZW5kYW50cyBvZiB0aGUgcm9v
dCBlbGVtZW50IHdoZW4gc3R5bGVzaGVldHMgaGF2ZW4ndCBsb2FkZWQuICBUaGlzIGVsaW1pbmF0
ZXMgRk9VQy4KICAgICAvLyBJdCdzIG9rIG5vdCB0byBkcmF3LCBiZWNhdXNlIGxhdGVyIG9uLCB3
aGVuIGFsbCB0aGUgc3R5bGVzaGVldHMgZG8gbG9hZCwgdXBkYXRlU3R5bGVTZWxlY3RvciBvbiB0
aGUgRG9jdW1lbnQKICAgICAvLyB3aWxsIGRvIGEgZnVsbCByZXBhaW50KCkuCi0gICAgaWYgKGRv
Y3VtZW50KCktPmRpZExheW91dFdpdGhQZW5kaW5nU3R5bGVzaGVldHMoKSAmJiAhaXNSZW5kZXJW
aWV3KCkpCisgICAgaWYgKGRvY3VtZW50KCktPm1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVu
dCgpICYmICFpc1JlbmRlclZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGNoaWxk
cmVuSW5saW5lKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYTM2MzlkOGZlMDE2
MjA2ZGU2MWQwMWFjZmI2NzdkYWNjOWNhODc5Yi4uZjc1YTRhMGVlZmRkOGM3MTg4Njg5MjY0OGUw
Mjk0YjNmYzViMjZmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjM1MSw3ICsy
MzUxLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihSZW5kZXJMYXllciogcm9vdExh
eWVyLCBHcmFwaGljc0NvbnRleHQqIHAsCiAgICAgLy8gQXZvaWQgcGFpbnRpbmcgbGF5ZXJzIHdo
ZW4gc3R5bGVzaGVldHMgaGF2ZW4ndCBsb2FkZWQuICBUaGlzIGVsaW1pbmF0ZXMgRk9VQy4KICAg
ICAvLyBJdCdzIG9rIG5vdCB0byBkcmF3LCBiZWNhdXNlIGxhdGVyIG9uLCB3aGVuIGFsbCB0aGUg
c3R5bGVzaGVldHMgZG8gbG9hZCwgdXBkYXRlU3R5bGVTZWxlY3RvciBvbiB0aGUgRG9jdW1lbnQK
ICAgICAvLyB3aWxsIGRvIGEgZnVsbCByZXBhaW50KCkuCi0gICAgaWYgKHJlbmRlcmVyKCktPmRv
Y3VtZW50KCktPmRpZExheW91dFdpdGhQZW5kaW5nU3R5bGVzaGVldHMoKSAmJiAhcmVuZGVyZXIo
KS0+aXNSZW5kZXJWaWV3KCkgJiYgIXJlbmRlcmVyKCktPmlzUm9vdCgpKQorICAgIGlmIChyZW5k
ZXJlcigpLT5kb2N1bWVudCgpLT5tYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSAmJiAh
cmVuZGVyZXIoKS0+aXNSZW5kZXJWaWV3KCkgJiYgIXJlbmRlcmVyKCktPmlzUm9vdCgpKQogICAg
ICAgICByZXR1cm47CiAgICAgCiAgICAgLy8gSWYgdGhpcyBsYXllciBpcyB0b3RhbGx5IGludmlz
aWJsZSB0aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gcGFpbnQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71411</attachid>
            <date>2010-10-21 02:34:29 -0700</date>
            <delta_ts>2010-11-01 00:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101021183427.patch</filename>
            <type>text/plain</type>
            <size>7140</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWM3YjM5NzE3ZTZiNzBmMmE1NTNiZDdjNThkNzVmOTY0NWQ0NzI4Ny4uMzY1MDFjZDliNDMxOGVh
YTMwNGY2ZmIyNmMyN2NkMWFkYmY3NmMyNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMC0xMC0xMyAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgRk9VQyBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3QgYmVm
b3JlIHRoZSA8Ym9keT4gaXMgcmVhZHksIAorICAgICAgICBhbmQgdGhlIHBhZ2UncyBiYWNrZ3Jv
dW5kIHN0eWxlIGdpdmVuIGZvciA8Ym9keT4sIGluc3RlYWQgb2YgPGh0bWw+LgorICAgICAgICBT
byBtYW55IHNpdGVzIGhhdmUgc3VjaCBzdHlsZXNoZWV0cyB0aGF0IHdlIHNob3VsZCBjYXJlIHRo
ZW0uCisgICAgICAgIAorICAgICAgICAtIFNvbWUgRE9NIG9wZXJhdGlvbiBzdWNoIGFzICdlbGVt
ZW50Lm9mZnNldExlZnQnIGNhdXNlcyBwYWdlIGxheW91dC4KKyAgICAgICAgLSBUaGUgcGFnZSBs
YXlvdXQgcmVzdWx0cyBwYWdlIHJlcGFpbnQKKyAgICAgICAgLSBUaGUgcGFnZSBwYWdlIHJlcGFp
bnQgbWFrZXMgYSB3aGl0ZSBzY3JlZW4uIGJlY2F1c2UgdGhlcmUgaXMgbm90aGluZyB0byBwYWlu
dAorICAgICAgICAgIGJlZm9yZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBjaGFuZ2U6CisgICAgICAgIC0gZXh0cmFjdGVkIGV4aXN0aW5nIEZPVUMgY2hlY2sg
b24gUmVuZGVyQmxvY2sgYW5kIFJlbmRlckxheWVyIHRvIAorICAgICAgICAgIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSwKKyAgICAgICAgLSBjaGVja2VkIDxib2R5
PiBhdmFpbGFiaWxpdHkgb24gbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCksIGFuZAor
ICAgICAgICAtIGFkZGVkIEZPVUMgZ3VhcmRzIGJlZm9yZSByZXF1ZXN0aW5nIHJlYXBpbnQgb24g
RnJhbWVWaWV3LgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGUgZGF0YSBsb2Fk
aW5nIHNwZWVkIG1hdHRlcnMgYW5kIGl0IGNhbm5vdCBiZQorICAgICAgICBjYXB0dXJlZCBieSBE
UlQuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6Om1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCk6IEFkZGVkLgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6aW52YWxpZGF0ZVJlY3QpOiBBZGRlZCBhIGd1YXJkLgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXBhaW50Q29udGVudFJlY3RhbmdsZSk6IEFkZGVk
IGEgZ3VhcmQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRvRGVmZXJyZWRSZXBhaW50
cyk6IEFkZGVkIGEgZ3VhcmQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNob3VsZFVw
ZGF0ZSk6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpw
YWludENvbnRlbnRzKTogUmVwbGFjZWQgRk9VQyBjaGVjayB0byB1c2UgbWF5Q2F1c2VGbGFzaE9m
VW5zdHlsZWRDb250ZW50CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyKTogUmVwbGFjZWQgRk9VQyBj
aGVjayB0byB1c2UgbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50CisKIDIwMTAtMTAtMjEg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBlODllYjcyMWYwNmI2ODE4
ZTliOWUzNWUxYjQ2ZWVlM2ExNjdmNDNjLi5hN2VkOGQwYTNkYWRlMjRkZDY4MjQ5MTg3NGEzNzVl
ZDgwMzZlOTgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NzkxLDQgKzQ3OTEsMTEgQEAgUGFzc1JlZlB0cjxU
b3VjaExpc3Q+IERvY3VtZW50OjpjcmVhdGVUb3VjaExpc3QoRXhjZXB0aW9uQ29kZSYpIGNvbnN0
CiB9CiAjZW5kaWYKIAorYm9vbCBEb2N1bWVudDo6bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50KCkgY29uc3QKK3sKKyAgICBpZiAoZGlkTGF5b3V0V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gIWJvZHkoKSAmJiAoaXNIVE1MRG9j
dW1lbnQoKSB8fCBpc1hIVE1MRG9jdW1lbnQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IGE5ODkwMWU4ZjhmNmMwZmU5MGE1NGRlZmEzNzA3YTExZDI2M2JiYzEuLmE1
OWY4YTkwMDQ5ZWJmMWFjZjU0MmI0NmI3NDkyZjA1MDdlYmEzOTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTA0Myw2
ICsxMDQzLDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8VG91Y2hMaXN0PiBjcmVhdGVUb3Vj
aExpc3QoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBib29sIG1heUNhdXNl
Rmxhc2hPZlVuc3R5bGVkQ29udGVudCgpIGNvbnN0OwogcHJvdGVjdGVkOgogICAgIERvY3VtZW50
KEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb25z
dCBLVVJMJiBiYXNlVVJMID0gS1VSTCgpKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAwYzA2M2UwZjc3
MDI3Zjg4OGNhNGM0ZDAwNmUyOTBmZTNkN2I2MjcxLi41NGQ0OGI0MDNkMWZkNzM0ZDY4NmQ0MzBh
ZTI5NGIwMjJlYjlmMWEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAzLDcgKzMwMyw3IEBAIGJvb2wg
RnJhbWVWaWV3OjpkaWRGaXJzdExheW91dCgpIGNvbnN0CiB2b2lkIEZyYW1lVmlldzo6aW52YWxp
ZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBpZiAoIXBhcmVudCgpKSB7Ci0g
ICAgICAgIGlmIChob3N0V2luZG93KCkpCisgICAgICAgIGlmIChob3N0V2luZG93KCkgJiYgc2hv
dWxkVXBkYXRlKCkpCiAgICAgICAgICAgICBob3N0V2luZG93KCktPmludmFsaWRhdGVDb250ZW50
c0FuZFdpbmRvdyhyZWN0LCBmYWxzZSAvKmltbWVkaWF0ZSovKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTEyMDEsNyArMTIwMSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXBhaW50Q29udGVu
dFJlY3RhbmdsZShjb25zdCBJbnRSZWN0JiByLCBib29sIGltbWVkaWF0ZSkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAKLSAgICBpZiAoIWltbWVkaWF0ZSAmJiBpc09mZnNjcmVlbigpICYm
ICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKQorICAgIGlmICghc2hvdWxkVXBkYXRlKGlt
bWVkaWF0ZSkpCiAgICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShUSUxFRF9CQUNLSU5HX1NU
T1JFKQpAQCAtMTI3NSw3ICsxMjc1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNoZWNrU3RvcERlbGF5
aW5nRGVmZXJyZWRSZXBhaW50cygpCiB2b2lkIEZyYW1lVmlldzo6ZG9EZWZlcnJlZFJlcGFpbnRz
KCkKIHsKICAgICBBU1NFUlQoIW1fZGVmZXJyaW5nUmVwYWludHMpOwotICAgIGlmIChpc09mZnNj
cmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKSB7CisgICAgaWYgKCFzaG91
bGRVcGRhdGUoKSkgewogICAgICAgICBtX3JlcGFpbnRSZWN0cy5jbGVhcigpOwogICAgICAgICBt
X3JlcGFpbnRDb3VudCA9IDA7CiAgICAgICAgIHJldHVybjsKQEAgLTE1MTYsNiArMTUxNiwxNSBA
QCB2b2lkIEZyYW1lVmlldzo6c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4oYm9vbCBzaG91
bGRVcGRhdGVXaGlsZU9mZnNjcmVlbikKICAgICBtX3Nob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVu
ID0gc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW47CiB9CiAKK2Jvb2wgRnJhbWVWaWV3OjpzaG91
bGRVcGRhdGUoYm9vbCBpbW1lZGlhdGVSZXF1ZXN0ZWQpIGNvbnN0Cit7CisgICAgaWYgKCFpbW1l
ZGlhdGVSZXF1ZXN0ZWQgJiYgaXNPZmZzY3JlZW4oKSAmJiAhc2hvdWxkVXBkYXRlV2hpbGVPZmZz
Y3JlZW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghbV9mcmFtZSB8fCAhbV9m
cmFtZS0+ZG9jdW1lbnQoKSB8fCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5tYXlDYXVzZUZsYXNoT2ZV
bnN0eWxlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVl
OworfQorCiB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBl
dmVudCwgUGFzc1JlZlB0cjxOb2RlPiBldmVudFRhcmdldCkKIHsKICAgICBpZiAoIW1fZW5xdWV1
ZUV2ZW50cykgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDE1MTgyMzM5NTNmYjgwZmQ5MzdiNDliNDNmZDcwMjU4
OWUwYjFjNmUuLjMwZGIxMDM2MzgzYTVkYzc2NTMwYThhYmViNGM5MzQ1MmJmMWQyMTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKQEAgLTEzNCw2ICsxMzQsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNob3VsZFVwZGF0
ZVdoaWxlT2Zmc2NyZWVuKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTaG91bGRVcGRhdGVXaGlsZU9m
ZnNjcmVlbihib29sKTsKKyAgICBib29sIHNob3VsZFVwZGF0ZShib29sID0gZmFsc2UpIGNvbnN0
OwogCiAgICAgdm9pZCBhZGp1c3RWaWV3U2l6ZSgpOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCmluZGV4IDc3MWM2ZDdmMGJmYmZjMzJjNTNkZmQ3ZTFhMzEwN2QyZmE4YWQ2N2YuLmJl
OThhZDM5YzczOTA1YzcwZjNjZTE4YmY0M2EyYjk2NWM4Y2ExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAKQEAgLTIyMjQsNyArMjIyNCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50
Q29udGVudHMoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogICAgIC8vIEF2
b2lkIHBhaW50aW5nIGRlc2NlbmRhbnRzIG9mIHRoZSByb290IGVsZW1lbnQgd2hlbiBzdHlsZXNo
ZWV0cyBoYXZlbid0IGxvYWRlZC4gIFRoaXMgZWxpbWluYXRlcyBGT1VDLgogICAgIC8vIEl0J3Mg
b2sgbm90IHRvIGRyYXcsIGJlY2F1c2UgbGF0ZXIgb24sIHdoZW4gYWxsIHRoZSBzdHlsZXNoZWV0
cyBkbyBsb2FkLCB1cGRhdGVTdHlsZVNlbGVjdG9yIG9uIHRoZSBEb2N1bWVudAogICAgIC8vIHdp
bGwgZG8gYSBmdWxsIHJlcGFpbnQoKS4KLSAgICBpZiAoZG9jdW1lbnQoKS0+ZGlkTGF5b3V0V2l0
aFBlbmRpbmdTdHlsZXNoZWV0cygpICYmICFpc1JlbmRlclZpZXcoKSkKKyAgICBpZiAoZG9jdW1l
bnQoKS0+bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkgJiYgIWlzUmVuZGVyVmlldygp
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCA5ODQ3NTVmYzFkNTkyNTE1YmQ1NTVkNzU5ODc0Y2Y4YTE1
MDUyOTg1Li5mMDcxZmY4MGQ1MzE0ZjZhOWU0MmRmZmIwNWUyZjBhNjRjYTdkZjZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yMzUxLDcgKzIzNTEsNyBAQCB2b2lkIFJlbmRlckxh
eWVyOjpwYWludExheWVyKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNzQ29udGV4dCog
cCwKICAgICAvLyBBdm9pZCBwYWludGluZyBsYXllcnMgd2hlbiBzdHlsZXNoZWV0cyBoYXZlbid0
IGxvYWRlZC4gIFRoaXMgZWxpbWluYXRlcyBGT1VDLgogICAgIC8vIEl0J3Mgb2sgbm90IHRvIGRy
YXcsIGJlY2F1c2UgbGF0ZXIgb24sIHdoZW4gYWxsIHRoZSBzdHlsZXNoZWV0cyBkbyBsb2FkLCB1
cGRhdGVTdHlsZVNlbGVjdG9yIG9uIHRoZSBEb2N1bWVudAogICAgIC8vIHdpbGwgZG8gYSBmdWxs
IHJlcGFpbnQoKS4KLSAgICBpZiAocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+ZGlkTGF5b3V0V2l0
aFBlbmRpbmdTdHlsZXNoZWV0cygpICYmICFyZW5kZXJlcigpLT5pc1JlbmRlclZpZXcoKSAmJiAh
cmVuZGVyZXIoKS0+aXNSb290KCkpCisgICAgaWYgKHJlbmRlcmVyKCktPmRvY3VtZW50KCktPm1h
eUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpICYmICFyZW5kZXJlcigpLT5pc1JlbmRlclZp
ZXcoKSAmJiAhcmVuZGVyZXIoKS0+aXNSb290KCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAg
ICAvLyBJZiB0aGlzIGxheWVyIGlzIHRvdGFsbHkgaW52aXNpYmxlIHRoZW4gdGhlcmUgaXMgbm90
aGluZyB0byBwYWludC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72489</attachid>
            <date>2010-11-01 00:55:10 -0700</date>
            <delta_ts>2010-11-01 20:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101101165508.patch</filename>
            <type>text/plain</type>
            <size>7973</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzAxNmVkOWQ2Y2ViY2VjZTYyODI3MTZlOWRkMzMxZWIzYTY1MWI5Yy4uMDNhNTc4ZGM1OTIxZjAz
OThjNDExM2I4ZmE0ZjM3YTg5YThlMDk1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0xMS0wMSAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgRk9VQyBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3QgYmVm
b3JlIHRoZSA8Ym9keT4gaXMgcmVhZHksIAorICAgICAgICBhbmQgdGhlIHBhZ2UncyBiYWNrZ3Jv
dW5kIHN0eWxlIGdpdmVuIGZvciA8Ym9keT4sIGluc3RlYWQgb2YgPGh0bWw+LgorICAgICAgICBT
byBtYW55IHNpdGVzIGhhdmUgc3VjaCBzdHlsZXNoZWV0cyB0aGF0IHdlIHNob3VsZCBjYXJlIHRo
ZW0uCisgICAgICAgIAorICAgICAgICAtIFNvbWUgRE9NIG9wZXJhdGlvbiBzdWNoIGFzICdlbGVt
ZW50Lm9mZnNldExlZnQnIGNhdXNlcyBwYWdlIGxheW91dC4KKyAgICAgICAgLSBUaGUgcGFnZSBs
YXlvdXQgcmVzdWx0cyBwYWdlIHJlcGFpbnQKKyAgICAgICAgLSBUaGUgcGFnZSBwYWdlIHJlcGFp
bnQgbWFrZXMgYSB3aGl0ZSBzY3JlZW4uIGJlY2F1c2UgdGhlcmUgaXMgbm90aGluZyB0byBwYWlu
dAorICAgICAgICAgIGJlZm9yZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBjaGFuZ2U6CisgICAgICAgIC0gZXh0cmFjdGVkIGV4aXN0aW5nIEZPVUMgY2hlY2sg
b24gUmVuZGVyQmxvY2sgYW5kIFJlbmRlckxheWVyIHRvIAorICAgICAgICAgIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSwKKyAgICAgICAgLSBjaGVja2VkIG5vbi08
aGVhZD4gZWxlbWVudCBhdmFpbGFiaWxpdHkgb24gbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50KCksIGFuZAorICAgICAgICAtIGFkZGVkIEZPVUMgZ3VhcmRzIGJlZm9yZSByZXF1ZXN0aW5n
IHJlYXBpbnQgb24gRnJhbWVWaWV3LgorICAgICAgICAKKyAgICAgICAgTm90ZSB0aGF0IG5vbi08
aGVhZD4gZG9jdW1lbnQgcm9vdCBjaGlsZHJlbiBhcmUgdHlwaWNhbGx5IDxib2R5PiwgYnV0IHBv
c3NpYmx5CisgICAgICAgIHNvbWUgb3RoZXIgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgY2FzZSBv
ZiBub24tSFRNTCBkb2N1bWVudHMuCisgICAgICAgIAorICAgICAgICBObyBuZXcgdGVzdHMuIFRo
ZSBkYXRhIGxvYWRpbmcgc3BlZWQgbWF0dGVycyBhbmQgaXQgY2Fubm90IGJlCisgICAgICAgIGNh
cHR1cmVkIGJ5IERSVC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6aGFzSGVhZFNpYmxpbmcpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjptYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQpOiBBZGRlZC4KKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmludmFsaWRhdGVSZWN0KTogQWRkZWQgYSBndWFy
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUp
OiBBZGRlZCBhIGd1YXJkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpkb0RlZmVycmVk
UmVwYWludHMpOiBBZGRlZCBhIGd1YXJkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
aG91bGRVcGRhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6cGFpbnRDb250ZW50cyk6IFJlcGxhY2VkIEZPVUMgY2hlY2sgdG8gdXNlIG1heUNhdXNl
Rmxhc2hPZlVuc3R5bGVkQ29udGVudAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6IFJlcGxhY2Vk
IEZPVUMgY2hlY2sgdG8gdXNlIG1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudAorCiAyMDEw
LTEwLTMxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzNmIwODBhNWEzY2Rm
YzYyMmFkZDU2ZWIyMGU3ZDhjN2VlYmQ3NDQyLi41ZDUwOTgyZjY3ZTE5NGRkMjVkYTRhYzQzYjRl
NzNmNTg2YmE1MGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00Nzk1LDQgKzQ3OTUsMjcgQEAgUGFzc1JlZlB0
cjxUb3VjaExpc3Q+IERvY3VtZW50OjpjcmVhdGVUb3VjaExpc3QoRXhjZXB0aW9uQ29kZSYpIGNv
bnN0CiB9CiAjZW5kaWYKIAorYm9vbCBEb2N1bWVudDo6aGFzSGVhZFNpYmxpbmcoKSBjb25zdAor
eworICAgIE5vZGUqIGRlID0gZG9jdW1lbnRFbGVtZW50KCk7CisgICAgaWYgKCFkZSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9yIChOb2RlKiBpID0gZGUtPmZpcnN0Q2hpbGQoKTsg
aTsgaSA9IGktPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgLy8gQSBjaGlsZCBvZiB0aGUgZG9j
dW1lbnQgZWxlbWVudCB3aGljaCBpcyByYXRoZXIgdGhhbiA8aGVhZD4gaXMKKyAgICAgICAgLy8g
dHlwaWNhbGx5IHZpc2libGUgYW5kIEZPVUMgc2FmZS4gU28gd2UgcmV0dXJuIHRydWUgaGVyZS4K
KyAgICAgICAgaWYgKCFpLT5oYXNUYWdOYW1lKGhlYWRUYWcpKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25zdAoreworICAgIGlmIChkaWRMYXlv
dXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJl
dHVybiAhaGFzSGVhZFNpYmxpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggMTMzNGFhM2E5ZTUyMGQ4MTllMTUyMzJlOWU5ZGZlODU5OWU4YzMyMC4uMzcyYWNmNTM2
MWVjM2MwODZiOTJmYTY5MmE3M2Y0NWM5MmU5YzVhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDQ1LDYgKzEwNDUs
NyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxUb3VjaExpc3Q+IGNyZWF0ZVRvdWNoTGlzdChF
eGNlcHRpb25Db2RlJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgbWF5Q2F1c2VGbGFzaE9m
VW5zdHlsZWRDb250ZW50KCkgY29uc3Q7CiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUq
LCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwm
IGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMDkzLDYgKzEwOTQsOCBAQCBwcml2YXRlOgogCiAg
ICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7CiAKKyAg
ICBib29sIGhhc0hlYWRTaWJsaW5nKCkgY29uc3Q7CisKICAgICBPd25QdHI8Q1NTU3R5bGVTZWxl
Y3Rvcj4gbV9zdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9kaWRDYWxjdWxhdGVTdHlsZVNlbGVj
dG9yOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDI3MDhjZTU0NTJhZDY2OWNlZWFkNDZlMTE3YzRlNWUz
NmRhM2Q1ODYuLjUzMmQ1NzI5NTcwMDAyODZkMjM0N2Q1YTgwNTc3YjZmYTZhMjIwNzcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0zMDMsNyArMzAzLDcgQEAgYm9vbCBGcmFtZVZpZXc6OmRpZEZpcnN0TGF5
b3V0KCkgY29uc3QKIHZvaWQgRnJhbWVWaWV3OjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0
JiByZWN0KQogewogICAgIGlmICghcGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGhvc3RXaW5kb3co
KSkKKyAgICAgICAgaWYgKGhvc3RXaW5kb3coKSAmJiBzaG91bGRVcGRhdGUoKSkKICAgICAgICAg
ICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHJlY3QsIGZhbHNl
IC8qaW1tZWRpYXRlKi8pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTIyNSw3ICsxMjI1
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKGNvbnN0IEludFJl
Y3QmIHIsIGJvb2wgaW1tZWRpYXRlKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAotICAg
IGlmICghaW1tZWRpYXRlICYmIGlzT2Zmc2NyZWVuKCkgJiYgIXNob3VsZFVwZGF0ZVdoaWxlT2Zm
c2NyZWVuKCkpCisgICAgaWYgKCFzaG91bGRVcGRhdGUoaW1tZWRpYXRlKSkKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCkBAIC0xMjk5LDcgKzEyOTks
NyBAQCB2b2lkIEZyYW1lVmlldzo6Y2hlY2tTdG9wRGVsYXlpbmdEZWZlcnJlZFJlcGFpbnRzKCkK
IHZvaWQgRnJhbWVWaWV3Ojpkb0RlZmVycmVkUmVwYWludHMoKQogewogICAgIEFTU0VSVCghbV9k
ZWZlcnJpbmdSZXBhaW50cyk7Ci0gICAgaWYgKGlzT2Zmc2NyZWVuKCkgJiYgIXNob3VsZFVwZGF0
ZVdoaWxlT2Zmc2NyZWVuKCkpIHsKKyAgICBpZiAoIXNob3VsZFVwZGF0ZSgpKSB7CiAgICAgICAg
IG1fcmVwYWludFJlY3RzLmNsZWFyKCk7CiAgICAgICAgIG1fcmVwYWludENvdW50ID0gMDsKICAg
ICAgICAgcmV0dXJuOwpAQCAtMTU0MCw2ICsxNTQwLDE1IEBAIHZvaWQgRnJhbWVWaWV3OjpzZXRT
aG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbihib29sIHNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVu
KQogICAgIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4gPSBzaG91bGRVcGRhdGVXaGlsZU9m
ZnNjcmVlbjsKIH0KIAorYm9vbCBGcmFtZVZpZXc6OnNob3VsZFVwZGF0ZShib29sIGltbWVkaWF0
ZVJlcXVlc3RlZCkgY29uc3QKK3sKKyAgICBpZiAoIWltbWVkaWF0ZVJlcXVlc3RlZCAmJiBpc09m
ZnNjcmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5kb2N1bWVudCgpIHx8IG1f
ZnJhbWUtPmRvY3VtZW50KCktPm1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgRnJhbWVWaWV3
OjpzY2hlZHVsZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+
IGV2ZW50VGFyZ2V0KQogewogICAgIGlmICghbV9lbnF1ZXVlRXZlbnRzKSB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5k
ZXggZjkyMTJjMWE5OWVhZjJmOTI5MTVmOTEzOWM5NWFhNjZhZmJlYzI2Yy4uNTNmMWE1YWY0NGU2
NjAxNTU1NDk0MjUwMWQ2ODE1NTVlNzFlNjhjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTM0LDYgKzEzNCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4oKSBjb25z
dDsKICAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKGJvb2wpOworICAgIGJv
b2wgc2hvdWxkVXBkYXRlKGJvb2wgPSBmYWxzZSkgY29uc3Q7CiAKICAgICB2b2lkIGFkanVzdFZp
ZXdTaXplKCk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNDdlYzIyMDY5
YjQxNGI0MDk5NmIzNTFkZDA0ODIyNjY2NTI1Zjc5NS4uNmJmMDYyOTQ0MDY2MjkzOTEwMGI3MWRj
Mzk0MGVlZDBhYzUzY2ZiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjIyMyw3
ICsyMjIzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250ZW50cyhQYWludEluZm8mIHBh
aW50SW5mbywgaW50IHR4LCBpbnQgdHkpCiAgICAgLy8gQXZvaWQgcGFpbnRpbmcgZGVzY2VuZGFu
dHMgb2YgdGhlIHJvb3QgZWxlbWVudCB3aGVuIHN0eWxlc2hlZXRzIGhhdmVuJ3QgbG9hZGVkLiAg
VGhpcyBlbGltaW5hdGVzIEZPVUMuCiAgICAgLy8gSXQncyBvayBub3QgdG8gZHJhdywgYmVjYXVz
ZSBsYXRlciBvbiwgd2hlbiBhbGwgdGhlIHN0eWxlc2hlZXRzIGRvIGxvYWQsIHVwZGF0ZVN0eWxl
U2VsZWN0b3Igb24gdGhlIERvY3VtZW50CiAgICAgLy8gd2lsbCBkbyBhIGZ1bGwgcmVwYWludCgp
LgotICAgIGlmIChkb2N1bWVudCgpLT5kaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkg
JiYgIWlzUmVuZGVyVmlldygpKQorICAgIGlmIChkb2N1bWVudCgpLT5tYXlDYXVzZUZsYXNoT2ZV
bnN0eWxlZENvbnRlbnQoKSAmJiAhaXNSZW5kZXJWaWV3KCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGlmIChjaGlsZHJlbklubGluZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4
IDRlOGNlZWM4OTk3ODU2MzkxOWYxMmE1Mzc2MjdkYTIzOWExMmVjMGYuLmIzMjcwYTY0YmQ5ZGI0
MjRmOTU3ODM0OGJmZjdmODQzMjg4MWYwODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTIzNTYsNyArMjM1Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoUmVuZGVy
TGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBwLAogICAgIC8vIEF2b2lkIHBhaW50
aW5nIGxheWVycyB3aGVuIHN0eWxlc2hlZXRzIGhhdmVuJ3QgbG9hZGVkLiAgVGhpcyBlbGltaW5h
dGVzIEZPVUMuCiAgICAgLy8gSXQncyBvayBub3QgdG8gZHJhdywgYmVjYXVzZSBsYXRlciBvbiwg
d2hlbiBhbGwgdGhlIHN0eWxlc2hlZXRzIGRvIGxvYWQsIHVwZGF0ZVN0eWxlU2VsZWN0b3Igb24g
dGhlIERvY3VtZW50CiAgICAgLy8gd2lsbCBkbyBhIGZ1bGwgcmVwYWludCgpLgotICAgIGlmIChy
ZW5kZXJlcigpLT5kb2N1bWVudCgpLT5kaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkg
JiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLT5pc1Jvb3QoKSkK
KyAgICBpZiAocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRD
b250ZW50KCkgJiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLT5p
c1Jvb3QoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIC8vIElmIHRoaXMgbGF5ZXIgaXMg
dG90YWxseSBpbnZpc2libGUgdGhlbiB0aGVyZSBpcyBub3RoaW5nIHRvIHBhaW50Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72627</attachid>
            <date>2010-11-01 20:49:14 -0700</date>
            <delta_ts>2010-11-18 22:21:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101102124912.patch</filename>
            <type>text/plain</type>
            <size>8552</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTc4MDk1ZTZjY2FkNWE1YTk5M2U5YjlmODgyMDNjMmE5ZDA1NmFiZC4uNDVjMjcwNDQ1MjlhNTdj
NjI2Yjk4NjJjYjk1Yzk2NmYyZmFlYzI3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0xMS0wMSAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgRk9VQyBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3QgYmVm
b3JlIHRoZSA8Ym9keT4gaXMgcmVhZHksIAorICAgICAgICBhbmQgdGhlIHBhZ2UncyBiYWNrZ3Jv
dW5kIHN0eWxlIGdpdmVuIGZvciA8Ym9keT4sIGluc3RlYWQgb2YgPGh0bWw+LgorICAgICAgICBT
byBtYW55IHNpdGVzIGhhdmUgc3VjaCBzdHlsZXNoZWV0cyB0aGF0IHdlIHNob3VsZCBjYXJlIHRo
ZW0uCisgICAgICAgIAorICAgICAgICAtIFNvbWUgRE9NIG9wZXJhdGlvbiBzdWNoIGFzICdlbGVt
ZW50Lm9mZnNldExlZnQnIGNhdXNlcyBwYWdlIGxheW91dC4KKyAgICAgICAgLSBUaGUgcGFnZSBs
YXlvdXQgcmVzdWx0cyBwYWdlIHJlcGFpbnQKKyAgICAgICAgLSBUaGUgcGFnZSBwYWdlIHJlcGFp
bnQgbWFrZXMgYSB3aGl0ZSBzY3JlZW4uIGJlY2F1c2UgdGhlcmUgaXMgbm90aGluZyB0byBwYWlu
dAorICAgICAgICAgIGJlZm9yZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBjaGFuZ2U6CisgICAgICAgIC0gZXh0cmFjdGVkIGV4aXN0aW5nIEZPVUMgY2hlY2sg
b24gUmVuZGVyQmxvY2sgYW5kIFJlbmRlckxheWVyIHRvIAorICAgICAgICAgIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSwKKyAgICAgICAgLSBjaGVja2VkIG5vbi08
aGVhZD4gZWxlbWVudCBhdmFpbGFiaWxpdHkgb24gbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50KCksIGFuZAorICAgICAgICAtIGFkZGVkIEZPVUMgZ3VhcmRzIGJlZm9yZSByZXF1ZXN0aW5n
IHJlYXBpbnQgb24gRnJhbWVWaWV3LgorICAgICAgICAKKyAgICAgICAgTm90ZSB0aGF0IG5vbi08
aGVhZD4gZG9jdW1lbnQgcm9vdCBjaGlsZHJlbiBhcmUgdHlwaWNhbGx5IDxib2R5PiwgYnV0IHBv
c3NpYmx5CisgICAgICAgIHNvbWUgb3RoZXIgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgY2FzZSBv
ZiBub24tSFRNTCBkb2N1bWVudHMuCisgICAgICAgIAorICAgICAgICBObyBuZXcgdGVzdHMuIFRo
ZSBkYXRhIGxvYWRpbmcgc3BlZWQgbWF0dGVycyBhbmQgaXQgY2Fubm90IGJlCisgICAgICAgIGNh
cHR1cmVkIGJ5IERSVC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6aGFzSGVhZFNpYmxpbmcpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjptYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQpOiBBZGRlZC4KKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmludmFsaWRhdGVSZWN0KTogQWRkZWQgYSBndWFy
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUp
OiBBZGRlZCBhIGd1YXJkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpkb0RlZmVycmVk
UmVwYWludHMpOiBBZGRlZCBhIGd1YXJkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
aG91bGRVcGRhdGUpOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6cGFpbnRDb250ZW50cyk6IFJlcGxhY2VkIEZPVUMgY2hlY2sgdG8gdXNlIG1heUNhdXNl
Rmxhc2hPZlVuc3R5bGVkQ29udGVudAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6IFJlcGxhY2Vk
IEZPVUMgY2hlY2sgdG8gdXNlIG1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudAorCiAyMDEw
LTExLTAxICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzZiMDgwYTVhM2NkZmM2MjJh
ZGQ1NmViMjBlN2Q4YzdlZWJkNzQ0Mi4uYWI5MGQyZGRkYWZhNzhiYzc1ZjM3ZjQwZDZkNTBmMTFh
MjhiYWM0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDc5NSw0ICs0Nzk1LDM0IEBAIFBhc3NSZWZQdHI8VG91
Y2hMaXN0PiBEb2N1bWVudDo6Y3JlYXRlVG91Y2hMaXN0KEV4Y2VwdGlvbkNvZGUmKSBjb25zdAog
fQogI2VuZGlmCiAKK2Jvb2wgRG9jdW1lbnQ6Omhhc0hlYWRTaWJsaW5nKCkgY29uc3QKK3sKKyAg
ICBOb2RlKiBkZSA9IGRvY3VtZW50RWxlbWVudCgpOworICAgIGlmICghZGUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGZvciAoTm9kZSogaSA9IGRlLT5maXJzdENoaWxkKCk7IGk7IGkg
PSBpLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIC8vIEEgY2hpbGQgb2YgdGhlIGRvY3VtZW50
IGVsZW1lbnQgd2hpY2ggaXMgcmF0aGVyIHRoYW4gPGhlYWQ+IGlzCisgICAgICAgIC8vIHR5cGlj
YWxseSB2aXNpYmxlIGFuZCBGT1VDIHNhZmUuIFNvIHdlIHJldHVybiB0cnVlIGhlcmUuCisgICAg
ICAgIGlmICghaS0+aGFzVGFnTmFtZShoZWFkVGFnKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBEb2N1bWVudDo6bWF5Q2F1
c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkgY29uc3QKK3sKKyAgICAvLyBTb21lIGtpbmQgb2Yg
Rk9VQyBpcyBjYXVzZWQgYnkgYSByZXBhaW50IHJlcXVlc3QgYmVmb3JlIHBhZ2UncyA8Ym9keT4g
YXJyaXZhbAorICAgIC8vIGJlY2F1c2UgcGFnZSBhdXRob3JzIG9mdGVuIGdpdmUgYmFja2dyb3Vu
ZCBzdHlsZXMgdG8gPGJvZHk+LCBub3QgdG8gPGh0bWw+LgorICAgIC8vIChBbmQgdGhlc2Ugc3R5
bGVzIGFyZSB1bmF2YWlsYWJsZSBiZWZvcmUgPHN0eWxlPiBvciA8bGluaz4gaXMgZ2l2ZW4uKQor
ICAgIC8vIFRoaXMgZnVuY3Rpb25zIGlzIHVzZWQgZm9yIGNoZWNraW5nIHN1Y2ggcG9zc2liaWxp
dHkgb2YgRk9VQ3MuCisgICAgLy8gTm90ZSB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBjb25zaWRl
cnMgb25seSBlbXB0eSBvciA8aGVhZD4gb25seSBjb250ZW50cyBhcyBhIEZPVUMgY2F1c2UKKyAg
ICAvLyByYXRoZXIgdGhhbiBtaXNzaW5nIDxib2R5PiwgYmVjYXVzZSBub24tSFRNTCBkb2N1bWVu
dCBsaWtlIFNWRyBhbmQgYXJiaXRyYXJ5IFhNTCBmcm9tIGZvcmVpZ24gbmFtZXNwYWNlIAorICAg
IC8vIHNob3VsZCBiZSBwYWludGVkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gPGJvZHk+LgorICAgIGlm
IChkaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIHJldHVybiAhaGFzSGVhZFNpYmxpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggMTMzNGFhM2E5ZTUyMGQ4MTllMTUyMzJlOWU5ZGZlODU5OWU4YzMyMC4u
MzcyYWNmNTM2MWVjM2MwODZiOTJmYTY5MmE3M2Y0NWM5MmU5YzVhMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDQ1
LDYgKzEwNDUsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxUb3VjaExpc3Q+IGNyZWF0ZVRv
dWNoTGlzdChFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgbWF5Q2F1
c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkgY29uc3Q7CiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1l
bnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNv
bnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMDkzLDYgKzEwOTQsOCBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+
Kik7CiAKKyAgICBib29sIGhhc0hlYWRTaWJsaW5nKCkgY29uc3Q7CisKICAgICBPd25QdHI8Q1NT
U3R5bGVTZWxlY3Rvcj4gbV9zdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9kaWRDYWxjdWxhdGVT
dHlsZVNlbGVjdG9yOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDI3MDhjZTU0NTJhZDY2OWNlZWFkNDZl
MTE3YzRlNWUzNmRhM2Q1ODYuLjUzMmQ1NzI5NTcwMDAyODZkMjM0N2Q1YTgwNTc3YjZmYTZhMjIw
NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMDMsNyArMzAzLDcgQEAgYm9vbCBGcmFtZVZpZXc6OmRp
ZEZpcnN0TGF5b3V0KCkgY29uc3QKIHZvaWQgRnJhbWVWaWV3OjppbnZhbGlkYXRlUmVjdChjb25z
dCBJbnRSZWN0JiByZWN0KQogewogICAgIGlmICghcGFyZW50KCkpIHsKLSAgICAgICAgaWYgKGhv
c3RXaW5kb3coKSkKKyAgICAgICAgaWYgKGhvc3RXaW5kb3coKSAmJiBzaG91bGRVcGRhdGUoKSkK
ICAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHJl
Y3QsIGZhbHNlIC8qaW1tZWRpYXRlKi8pOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTIy
NSw3ICsxMjI1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKGNv
bnN0IEludFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlKQogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIAotICAgIGlmICghaW1tZWRpYXRlICYmIGlzT2Zmc2NyZWVuKCkgJiYgIXNob3VsZFVwZGF0
ZVdoaWxlT2Zmc2NyZWVuKCkpCisgICAgaWYgKCFzaG91bGRVcGRhdGUoaW1tZWRpYXRlKSkKICAg
ICAgICAgcmV0dXJuOwogCiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCkBAIC0xMjk5
LDcgKzEyOTksNyBAQCB2b2lkIEZyYW1lVmlldzo6Y2hlY2tTdG9wRGVsYXlpbmdEZWZlcnJlZFJl
cGFpbnRzKCkKIHZvaWQgRnJhbWVWaWV3Ojpkb0RlZmVycmVkUmVwYWludHMoKQogewogICAgIEFT
U0VSVCghbV9kZWZlcnJpbmdSZXBhaW50cyk7Ci0gICAgaWYgKGlzT2Zmc2NyZWVuKCkgJiYgIXNo
b3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKCkpIHsKKyAgICBpZiAoIXNob3VsZFVwZGF0ZSgpKSB7
CiAgICAgICAgIG1fcmVwYWludFJlY3RzLmNsZWFyKCk7CiAgICAgICAgIG1fcmVwYWludENvdW50
ID0gMDsKICAgICAgICAgcmV0dXJuOwpAQCAtMTU0MCw2ICsxNTQwLDE1IEBAIHZvaWQgRnJhbWVW
aWV3OjpzZXRTaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbihib29sIHNob3VsZFVwZGF0ZVdoaWxl
T2Zmc2NyZWVuKQogICAgIG1fc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4gPSBzaG91bGRVcGRh
dGVXaGlsZU9mZnNjcmVlbjsKIH0KIAorYm9vbCBGcmFtZVZpZXc6OnNob3VsZFVwZGF0ZShib29s
IGltbWVkaWF0ZVJlcXVlc3RlZCkgY29uc3QKK3sKKyAgICBpZiAoIWltbWVkaWF0ZVJlcXVlc3Rl
ZCAmJiBpc09mZnNjcmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5kb2N1bWVu
dCgpIHx8IG1fZnJhbWUtPmRvY3VtZW50KCktPm1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVu
dCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQg
RnJhbWVWaWV3OjpzY2hlZHVsZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVm
UHRyPE5vZGU+IGV2ZW50VGFyZ2V0KQogewogICAgIGlmICghbV9lbnF1ZXVlRXZlbnRzKSB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKaW5kZXggZjkyMTJjMWE5OWVhZjJmOTI5MTVmOTEzOWM5NWFhNjZhZmJlYzI2Yy4uNTNm
MWE1YWY0NGU2NjAxNTU1NDk0MjUwMWQ2ODE1NTVlNzFlNjhjZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTM0
LDYgKzEzNCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW4oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKGJvb2wp
OworICAgIGJvb2wgc2hvdWxkVXBkYXRlKGJvb2wgPSBmYWxzZSkgY29uc3Q7CiAKICAgICB2b2lk
IGFkanVzdFZpZXdTaXplKCk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXgg
MDY0NDU4Njk1YzUxNTIxMDQyODExY2NjZjliMGY3NTMzYjU1ZWEyMy4uYmFmNmQ1NTk5ZGNhZjQ5
MjMyOGY2OWEzYmJiY2FkYmQ3YzFiNTU4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApA
QCAtMjIyMyw3ICsyMjIzLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnRDb250ZW50cyhQYWlu
dEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCiAgICAgLy8gQXZvaWQgcGFpbnRpbmcg
ZGVzY2VuZGFudHMgb2YgdGhlIHJvb3QgZWxlbWVudCB3aGVuIHN0eWxlc2hlZXRzIGhhdmVuJ3Qg
bG9hZGVkLiAgVGhpcyBlbGltaW5hdGVzIEZPVUMuCiAgICAgLy8gSXQncyBvayBub3QgdG8gZHJh
dywgYmVjYXVzZSBsYXRlciBvbiwgd2hlbiBhbGwgdGhlIHN0eWxlc2hlZXRzIGRvIGxvYWQsIHVw
ZGF0ZVN0eWxlU2VsZWN0b3Igb24gdGhlIERvY3VtZW50CiAgICAgLy8gd2lsbCBkbyBhIGZ1bGwg
cmVwYWludCgpLgotICAgIGlmIChkb2N1bWVudCgpLT5kaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxl
c2hlZXRzKCkgJiYgIWlzUmVuZGVyVmlldygpKQorICAgIGlmIChkb2N1bWVudCgpLT5tYXlDYXVz
ZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSAmJiAhaXNSZW5kZXJWaWV3KCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCmluZGV4IDRlOGNlZWM4OTk3ODU2MzkxOWYxMmE1Mzc2MjdkYTIzOWExMmVjMGYuLmIzMjcw
YTY0YmQ5ZGI0MjRmOTU3ODM0OGJmZjdmODQzMjg4MWYwODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTIzNTYsNyArMjM1Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5
ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3JhcGhpY3NDb250ZXh0KiBwLAogICAgIC8vIEF2
b2lkIHBhaW50aW5nIGxheWVycyB3aGVuIHN0eWxlc2hlZXRzIGhhdmVuJ3QgbG9hZGVkLiAgVGhp
cyBlbGltaW5hdGVzIEZPVUMuCiAgICAgLy8gSXQncyBvayBub3QgdG8gZHJhdywgYmVjYXVzZSBs
YXRlciBvbiwgd2hlbiBhbGwgdGhlIHN0eWxlc2hlZXRzIGRvIGxvYWQsIHVwZGF0ZVN0eWxlU2Vs
ZWN0b3Igb24gdGhlIERvY3VtZW50CiAgICAgLy8gd2lsbCBkbyBhIGZ1bGwgcmVwYWludCgpLgot
ICAgIGlmIChyZW5kZXJlcigpLT5kb2N1bWVudCgpLT5kaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxl
c2hlZXRzKCkgJiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLT5p
c1Jvb3QoKSkKKyAgICBpZiAocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+bWF5Q2F1c2VGbGFzaE9m
VW5zdHlsZWRDb250ZW50KCkgJiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpICYmICFyZW5k
ZXJlcigpLT5pc1Jvb3QoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIC8vIElmIHRoaXMg
bGF5ZXIgaXMgdG90YWxseSBpbnZpc2libGUgdGhlbiB0aGVyZSBpcyBub3RoaW5nIHRvIHBhaW50
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74354</attachid>
            <date>2010-11-18 22:21:35 -0800</date>
            <delta_ts>2011-06-18 12:17:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45640-20101119152133.patch</filename>
            <type>text/plain</type>
            <size>8346</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTI1ZTc1NjkzNGE5MmRkYzlhMmQ3YTU5YTY2YTRkYjE1YmQ1YTg1ZS4uYmRmNDM5ZTNiNzg2NmQ4
Yjk5MTFiYzk4ZDQxN2YzYjg4NjliY2ZhMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0xMS0wMSAgTU9S
SVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nIGRhcmsgYmFja2dyb3VuZCB3ZWJz
aXRlcyByZXN1bHRzIGluIGJsaW5kaW5nIHdoaXRlIGZsYXNoZXMgYmV0d2VlbiBwYWdlcy4gCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY0MAorCisg
ICAgICAgIFRoaXMgRk9VQyBpcyBjYXVzZWQgYnkgYW4gZWFybHkgbGF5b3V0IHJlcXVlc3QgYmVm
b3JlIHRoZSA8Ym9keT4gaXMgcmVhZHksIAorICAgICAgICBhbmQgdGhlIHBhZ2UncyBiYWNrZ3Jv
dW5kIHN0eWxlIGdpdmVuIGZvciA8Ym9keT4sIGluc3RlYWQgb2YgPGh0bWw+LgorICAgICAgICBT
byBtYW55IHNpdGVzIGhhdmUgc3VjaCBzdHlsZXNoZWV0cyB0aGF0IHdlIHNob3VsZCBjYXJlIHRo
ZW0uCisgICAgICAgIAorICAgICAgICAtIFNvbWUgRE9NIG9wZXJhdGlvbiBzdWNoIGFzICdlbGVt
ZW50Lm9mZnNldExlZnQnIGNhdXNlcyBwYWdlIGxheW91dC4KKyAgICAgICAgLSBUaGUgcGFnZSBs
YXlvdXQgcmVzdWx0cyBwYWdlIHJlcGFpbnQKKyAgICAgICAgLSBUaGUgcGFnZSBwYWdlIHJlcGFp
bnQgbWFrZXMgYSB3aGl0ZSBzY3JlZW4uIGJlY2F1c2UgdGhlcmUgaXMgbm90aGluZyB0byBwYWlu
dAorICAgICAgICAgIGJlZm9yZSA8Ym9keT4gaXMgYXZhaWxhYmxlLgorICAgICAgICAKKyAgICAg
ICAgVGhpcyBjaGFuZ2U6CisgICAgICAgIC0gZXh0cmFjdGVkIGV4aXN0aW5nIEZPVUMgY2hlY2sg
b24gUmVuZGVyQmxvY2sgYW5kIFJlbmRlckxheWVyIHRvIAorICAgICAgICAgIERvY3VtZW50Ojpt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSwKKyAgICAgICAgLSBjaGVja2VkIG5vbi08
aGVhZD4gZWxlbWVudCBhdmFpbGFiaWxpdHkgb24gbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50KCksIGFuZAorICAgICAgICAtIGFkZGVkIEZPVUMgZ3VhcmRzIGJlZm9yZSByZXF1ZXN0aW5n
IHJlYXBpbnQgb24gRnJhbWVWaWV3LgorICAgICAgICAKKyAgICAgICAgTm90ZSB0aGF0IG5vbi08
aGVhZD4gZG9jdW1lbnQgcm9vdCBjaGlsZHJlbiBhcmUgdHlwaWNhbGx5IDxib2R5PiwgYnV0IHBv
c3NpYmx5CisgICAgICAgIHNvbWUgb3RoZXIgdHlwZSBvZiBlbGVtZW50cyBpbiB0aGUgY2FzZSBv
ZiBub24tSFRNTCBkb2N1bWVudHMuCisgICAgICAgIAorICAgICAgICBObyBuZXcgdGVzdHMuIFRo
ZSBkYXRhIGxvYWRpbmcgc3BlZWQgbWF0dGVycyBhbmQgaXQgY2Fubm90IGJlCisgICAgICAgIGNh
cHR1cmVkIGJ5IERSVC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgICho
YXNIZWFkU2libGluZyk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1heUNh
dXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6aW52YWxpZGF0ZVJlY3QpOiBBZGRlZCBhIGd1YXJkLgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpyZXBhaW50Q29udGVudFJlY3RhbmdsZSk6IEFkZGVkIGEgZ3VhcmQuCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmRvRGVmZXJyZWRSZXBhaW50cyk6IEFkZGVkIGEg
Z3VhcmQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNob3VsZFVwZGF0ZSk6IEFkZGVk
LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWludENvbnRlbnRz
KTogUmVwbGFjZWQgRk9VQyBjaGVjayB0byB1c2UgbWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpwYWludExheWVyKTogUmVwbGFjZWQgRk9VQyBjaGVjayB0byB1c2Ug
bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50CisKIDIwMTAtMTEtMTggIEtlbnQgVGFtdXJh
ICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggOWFkOTU2ZjYyZWE1Y2E0N2E1YTJkZTU4OWU3NzJhNGRiZjFhZWQ3MS4u
NDBmMDc4ZmU0NDc0NGE2YzdlZTBjYzgxMThkNzhkYThkMzNlMGRiNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDg2OCw0ICs0ODY4LDM0IEBAIFBhc3NSZWZQdHI8VG91Y2hMaXN0PiBEb2N1bWVudDo6Y3JlYXRl
VG91Y2hMaXN0KEV4Y2VwdGlvbkNvZGUmKSBjb25zdAogfQogI2VuZGlmCiAKK3N0YXRpYyBib29s
IGhhc0hlYWRTaWJsaW5nKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICBOb2RlKiBk
ZSA9IGRvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICBpZiAoIWRlKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKE5vZGUqIGkgPSBkZS0+Zmlyc3RDaGlsZCgpOyBpOyBp
ID0gaS0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICAvLyBBIGNoaWxkIG9mIHRoZSBkb2N1bWVu
dCBlbGVtZW50IHdoaWNoIGlzIHJhdGhlciB0aGFuIDxoZWFkPiBpcworICAgICAgICAvLyB0eXBp
Y2FsbHkgdmlzaWJsZSBhbmQgRk9VQyBzYWZlLiBTbyB3ZSByZXR1cm4gdHJ1ZSBoZXJlLgorICAg
ICAgICBpZiAoIWktPmhhc1RhZ05hbWUoaGVhZFRhZykpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgRG9jdW1lbnQ6Om1heUNh
dXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpIGNvbnN0Cit7CisgICAgLy8gU29tZSBraW5kIG9m
IEZPVUMgaXMgY2F1c2VkIGJ5IGEgcmVwYWludCByZXF1ZXN0IGJlZm9yZSBwYWdlJ3MgPGJvZHk+
IGFycml2YWwKKyAgICAvLyBiZWNhdXNlIHBhZ2UgYXV0aG9ycyBvZnRlbiBnaXZlIGJhY2tncm91
bmQgc3R5bGVzIHRvIDxib2R5Piwgbm90IHRvIDxodG1sPi4KKyAgICAvLyAoQW5kIHRoZXNlIHN0
eWxlcyBhcmUgdW5hdmFpbGFibGUgYmVmb3JlIDxzdHlsZT4gb3IgPGxpbms+IGlzIGdpdmVuLikK
KyAgICAvLyBUaGlzIGZ1bmN0aW9ucyBpcyB1c2VkIGZvciBjaGVja2luZyBzdWNoIHBvc3NpYmls
aXR5IG9mIEZPVUNzLgorICAgIC8vIE5vdGUgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gY29uc2lk
ZXJzIG9ubHkgZW1wdHkgb3IgPGhlYWQ+IG9ubHkgY29udGVudHMgYXMgYSBGT1VDIGNhdXNlCisg
ICAgLy8gcmF0aGVyIHRoYW4gbWlzc2luZyA8Ym9keT4sIGJlY2F1c2Ugbm9uLUhUTUwgZG9jdW1l
bnQgbGlrZSBTVkcgYW5kIGFyYml0cmFyeSBYTUwgZnJvbSBmb3JlaWduIG5hbWVzcGFjZSAKKyAg
ICAvLyBzaG91bGQgYmUgcGFpbnRlZCBldmVuIGlmIHRoZXJlIGlzIG5vIDxib2R5Pi4KKyAgICBp
ZiAoZGlkTGF5b3V0V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICByZXR1cm4gIWhhc0hlYWRTaWJsaW5nKHRoaXMpOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCA4MzQ0NWUwNzA4NTlmOTZkZmE1ZTQyNmFmYmM1N2JlY2NiZmY1
YjQ2Li4xZTg5ODIwZGRiYmYyNzQ4ZGI1M2FjZDg1NmY2ODBkZDhiZTdjYTczIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAg
LTEwNTUsNiArMTA1NSw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0
aW1pbmcoKSBjb25zdCB7IHJldHVybiAmbV9kb2N1bWVudFRpbWluZzsgfQogCisgICAgYm9vbCBt
YXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAg
IERvY3VtZW50KEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNI
VE1MLCBjb25zdCBLVVJMJiBiYXNlVVJMID0gS1VSTCgpKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBm
ZTBiZTZhMzMyODc2ODY2OTEwZjU3ODIzZWVhZTU2MDQxMjAzMGM4Li4xM2NiZWZiM2Q3ZjMyMGU0
NDMwYTYwNTQ2NzM2YWU5ZjJiMjU3YjI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAzLDcgKzMwMyw3
IEBAIGJvb2wgRnJhbWVWaWV3OjpkaWRGaXJzdExheW91dCgpIGNvbnN0CiB2b2lkIEZyYW1lVmll
dzo6aW52YWxpZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBpZiAoIXBhcmVu
dCgpKSB7Ci0gICAgICAgIGlmIChob3N0V2luZG93KCkpCisgICAgICAgIGlmIChob3N0V2luZG93
KCkgJiYgc2hvdWxkVXBkYXRlKCkpCiAgICAgICAgICAgICBob3N0V2luZG93KCktPmludmFsaWRh
dGVDb250ZW50c0FuZFdpbmRvdyhyZWN0LCBmYWxzZSAvKmltbWVkaWF0ZSovKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTEzMjIsNyArMTMyMiw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXBh
aW50Q29udGVudFJlY3RhbmdsZShjb25zdCBJbnRSZWN0JiByLCBib29sIGltbWVkaWF0ZSkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBpZiAoIWltbWVkaWF0ZSAmJiBpc09mZnNj
cmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKQorICAgIGlmICghc2hvdWxk
VXBkYXRlKGltbWVkaWF0ZSkpCiAgICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQpAQCAtMTM5Niw3ICsxMzk2LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNoZWNr
U3RvcERlbGF5aW5nRGVmZXJyZWRSZXBhaW50cygpCiB2b2lkIEZyYW1lVmlldzo6ZG9EZWZlcnJl
ZFJlcGFpbnRzKCkKIHsKICAgICBBU1NFUlQoIW1fZGVmZXJyaW5nUmVwYWludHMpOwotICAgIGlm
IChpc09mZnNjcmVlbigpICYmICFzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpKSB7CisgICAg
aWYgKCFzaG91bGRVcGRhdGUoKSkgewogICAgICAgICBtX3JlcGFpbnRSZWN0cy5jbGVhcigpOwog
ICAgICAgICBtX3JlcGFpbnRDb3VudCA9IDA7CiAgICAgICAgIHJldHVybjsKQEAgLTE2MzUsNiAr
MTYzNSwxNSBAQCB2b2lkIEZyYW1lVmlldzo6c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4o
Ym9vbCBzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbikKICAgICBtX3Nob3VsZFVwZGF0ZVdoaWxl
T2Zmc2NyZWVuID0gc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW47CiB9CiAKK2Jvb2wgRnJhbWVW
aWV3OjpzaG91bGRVcGRhdGUoYm9vbCBpbW1lZGlhdGVSZXF1ZXN0ZWQpIGNvbnN0Cit7CisgICAg
aWYgKCFpbW1lZGlhdGVSZXF1ZXN0ZWQgJiYgaXNPZmZzY3JlZW4oKSAmJiAhc2hvdWxkVXBkYXRl
V2hpbGVPZmZzY3JlZW4oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghbV9mcmFt
ZSB8fCAhbV9mcmFtZS0+ZG9jdW1lbnQoKSB8fCBtX2ZyYW1lLT5kb2N1bWVudCgpLT5tYXlDYXVz
ZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJl
dHVybiB0cnVlOworfQorCiB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVFdmVudChQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBldmVudFRhcmdldCkKIHsKICAgICBpZiAo
IW1fZW5xdWV1ZUV2ZW50cykgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDhhMWEwNzE0MzEwYTY5ZTkyOTlhYjA1
MjZiYWY1NDIwNDEyOTkyNDAuLmJkZTFiNzlmZjU5ZDIzM2U2NTExMjFmMDBmYTZlYTdhY2JlMmNl
MWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNo
b3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTaG91bGRVcGRh
dGVXaGlsZU9mZnNjcmVlbihib29sKTsKKyAgICBib29sIHNob3VsZFVwZGF0ZShib29sID0gZmFs
c2UpIGNvbnN0OwogCiAgICAgdm9pZCBhZGp1c3RWaWV3U2l6ZSgpOwogICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCmluZGV4IGNjNDA0NjU3NGY4NzQ3YTI1OTk5ODA5OTY2M2VmYzBkMTkz
YjkyZGEuLmQzZWEyZTAwNmUwNTc5ZTMyZGQxOGM1ZjkzNWViZWQ5YTM0NGYwZTEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTIyMTYsNyArMjIxNiw3IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OnBhaW50Q29udGVudHMoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQog
ICAgIC8vIEF2b2lkIHBhaW50aW5nIGRlc2NlbmRhbnRzIG9mIHRoZSByb290IGVsZW1lbnQgd2hl
biBzdHlsZXNoZWV0cyBoYXZlbid0IGxvYWRlZC4gIFRoaXMgZWxpbWluYXRlcyBGT1VDLgogICAg
IC8vIEl0J3Mgb2sgbm90IHRvIGRyYXcsIGJlY2F1c2UgbGF0ZXIgb24sIHdoZW4gYWxsIHRoZSBz
dHlsZXNoZWV0cyBkbyBsb2FkLCB1cGRhdGVTdHlsZVNlbGVjdG9yIG9uIHRoZSBEb2N1bWVudAog
ICAgIC8vIHdpbGwgZG8gYSBmdWxsIHJlcGFpbnQoKS4KLSAgICBpZiAoZG9jdW1lbnQoKS0+ZGlk
TGF5b3V0V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygpICYmICFpc1JlbmRlclZpZXcoKSkKKyAgICBp
ZiAoZG9jdW1lbnQoKS0+bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250ZW50KCkgJiYgIWlzUmVu
ZGVyVmlldygpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA3YjkwMDBjNjU1M2EyNDYyNWEwMGI2NjY2
MWI4ODQzZDAyNzYxZjhiLi41YWY5NTFjMDIwMTA5NThkNDJkMjJiYzgzNDBlODJkNDU1ZTIxMjVi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yMzU2LDcgKzIzNTYsNyBAQCB2b2lk
IFJlbmRlckxheWVyOjpwYWludExheWVyKFJlbmRlckxheWVyKiByb290TGF5ZXIsIEdyYXBoaWNz
Q29udGV4dCogcCwKICAgICAvLyBBdm9pZCBwYWludGluZyBsYXllcnMgd2hlbiBzdHlsZXNoZWV0
cyBoYXZlbid0IGxvYWRlZC4gIFRoaXMgZWxpbWluYXRlcyBGT1VDLgogICAgIC8vIEl0J3Mgb2sg
bm90IHRvIGRyYXcsIGJlY2F1c2UgbGF0ZXIgb24sIHdoZW4gYWxsIHRoZSBzdHlsZXNoZWV0cyBk
byBsb2FkLCB1cGRhdGVTdHlsZVNlbGVjdG9yIG9uIHRoZSBEb2N1bWVudAogICAgIC8vIHdpbGwg
ZG8gYSBmdWxsIHJlcGFpbnQoKS4KLSAgICBpZiAocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+ZGlk
TGF5b3V0V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygpICYmICFyZW5kZXJlcigpLT5pc1JlbmRlclZp
ZXcoKSAmJiAhcmVuZGVyZXIoKS0+aXNSb290KCkpCisgICAgaWYgKHJlbmRlcmVyKCktPmRvY3Vt
ZW50KCktPm1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpICYmICFyZW5kZXJlcigpLT5p
c1JlbmRlclZpZXcoKSAmJiAhcmVuZGVyZXIoKS0+aXNSb290KCkpCiAgICAgICAgIHJldHVybjsK
ICAgICAKICAgICAvLyBJZiB0aGlzIGxheWVyIGlzIHRvdGFsbHkgaW52aXNpYmxlIHRoZW4gdGhl
cmUgaXMgbm90aGluZyB0byBwYWludC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>