<?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>82336</bug_id>
          
          <creation_ts>2012-03-27 07:20:25 -0700</creation_ts>
          <short_desc>Make it possible to use accelerated compositing for page overlay fading</short_desc>
          <delta_ts>2013-08-01 15:00:12 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lars Knudsen">larsgk</reporter>
          <assigned_to name="Lars Knudsen">larsgk</assigned_to>
          <cc>andersca</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>larsgk</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>588857</commentid>
    <comment_count>0</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-27 07:20:25 -0700</bug_when>
    <thetext>Currently, the page overlay fading is done by redrawing each frame in the fade animation.  This can cause some flickering and uneven fade animation flow, especially on CPU limited hardware. 

We would like a solution that utilizes accelerated compositing for the fade animation, where possible, to offload this task to the GPU, while preserving the original fade mechanism (with redraws), where AC is not available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588880</commentid>
    <comment_count>1</comment_count>
      <attachid>134061</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-27 07:48:22 -0700</bug_when>
    <thetext>Created attachment 134061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588900</commentid>
    <comment_count>2</comment_count>
      <attachid>134061</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-27 08:01:48 -0700</bug_when>
    <thetext>Comment on attachment 134061
Patch

Attachment 134061 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12146499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588909</commentid>
    <comment_count>3</comment_count>
      <attachid>134061</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-27 08:13:37 -0700</bug_when>
    <thetext>Comment on attachment 134061
Patch

Attachment 134061 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12142546</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588919</commentid>
    <comment_count>4</comment_count>
      <attachid>134061</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-27 08:18:25 -0700</bug_when>
    <thetext>Comment on attachment 134061
Patch

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

&gt; Source/WebKit2/ChangeLog:7
&gt; +        Page overlay fading will use AC where possible.  Otherwise, it will 
&gt; +        fall back to the previous method of redrawing each frame in the animation.

That is available on the mac platform for instance, but that doesn&apos;t mean that Mac folks wants to use it

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:92
&gt; +    if (m_webPage) {
&gt; +        if (!m_webPage-&gt;drawingArea()-&gt;setPageOverlayOpacity(m_fractionFadedIn))

huh? why not merge those two?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588924</commentid>
    <comment_count>5</comment_count>
      <attachid>134061</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-27 08:21:31 -0700</bug_when>
    <thetext>Comment on attachment 134061
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:110
&gt;      GraphicsContextStateSaver stateSaver(graphicsContext);
&gt; -    graphicsContext.beginTransparencyLayer(1);
&gt; +    graphicsContext.beginTransparencyLayer(m_webPage-&gt;drawingArea()-&gt;pageOverlayDrawOpacity());

If this code replaces the pageOverlay-&gt;fractionFadedIn(); code in TapHighlightController, then could it also do so for the FindController? At least a commetn about it in the ChangeLog would be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588936</commentid>
    <comment_count>6</comment_count>
      <attachid>134074</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-27 08:37:23 -0700</bug_when>
    <thetext>Created attachment 134074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588956</commentid>
    <comment_count>7</comment_count>
      <attachid>134074</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-03-27 09:02:26 -0700</bug_when>
    <thetext>Comment on attachment 134074
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:79
&gt; +    virtual float pageOverlayDrawOpacity() const { return m_pageOverlayDrawOpacity; }

This default implementation should return a default value of 1, and the member variable plus its getter should be moved down to DrawingAreaImpl.

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:109
&gt; -    graphicsContext.beginTransparencyLayer(1);
&gt; +    graphicsContext.beginTransparencyLayer(m_webPage-&gt;drawingArea()-&gt;pageOverlayDrawOpacity());
&gt;      graphicsContext.setCompositeOperation(CompositeCopy);

Make sure that you test this code, hopefully on a Safari build, from what I&apos;m seeing it might not blend correctly since you are still using the CompositeCopy mode.
This kind of code is easy to break and I wouldn&apos;t push this until we know we don&apos;t break their stuff, both in AC and non-AC mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588985</commentid>
    <comment_count>8</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-27 09:48:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 134074 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134074&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:79
&gt; &gt; +    virtual float pageOverlayDrawOpacity() const { return m_pageOverlayDrawOpacity; }
&gt; 
&gt; This default implementation should return a default value of 1, and the member variable plus its getter should be moved down to DrawingAreaImpl.

ok

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:109
&gt; &gt; -    graphicsContext.beginTransparencyLayer(1);
&gt; &gt; +    graphicsContext.beginTransparencyLayer(m_webPage-&gt;drawingArea()-&gt;pageOverlayDrawOpacity());
&gt; &gt;      graphicsContext.setCompositeOperation(CompositeCopy);
&gt; 
&gt; Make sure that you test this code, hopefully on a Safari build, from what I&apos;m seeing it might not blend correctly since you are still using the CompositeCopy mode.
&gt; This kind of code is easy to break and I wouldn&apos;t push this until we know we don&apos;t break their stuff, both in AC and non-AC mode.

I need to get a mac then - or someone with a mac to try it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589004</commentid>
    <comment_count>9</comment_count>
      <attachid>134074</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-27 10:12:14 -0700</bug_when>
    <thetext>Comment on attachment 134074
Patch

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

The Qt parts are good, but this patch would modify behavior of WebKit2 on CA, which I&apos;m not comfortable with.

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp:57
&gt; +    , m_pageOverlayDrawOpacity(1.0)

I don&apos;t want this variable at all. Use layer opacity when LayerTreeHost returns true, use regular fade in when it doesn&apos;t (for now).

&gt;&gt;&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:109
&gt;&gt;&gt;      graphicsContext.setCompositeOperation(CompositeCopy);
&gt;&gt; 
&gt;&gt; Make sure that you test this code, hopefully on a Safari build, from what I&apos;m seeing it might not blend correctly since you are still using the CompositeCopy mode.
&gt;&gt; This kind of code is easy to break and I wouldn&apos;t push this until we know we don&apos;t break their stuff, both in AC and non-AC mode.
&gt; 
&gt; I need to get a mac then - or someone with a mac to try it out.

Testing would be good, but the code should be written in a way that it&apos;s obvious that behavior on CA is not changed. 
The transparency layer should always be (1), and in Qt we use it to change the overlayLayer and return true

&gt; Source/WebKit2/WebProcess/WebPage/TapHighlightController.cpp:102
&gt; +        context.setFillColor(m_color, ColorSpaceSRGB);

Please use the regular fadeIn if setOverlayOpacity returned false.

&gt; Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp:190
&gt; +void LayerTreeHostCA::setPageOverlayOpacity(float value)
&gt; +{
&gt; +    ASSERT(m_pageOverlayLayer);
&gt; +    m_pageOverlayLayer-&gt;setOpacity(value);
&gt; +    scheduleLayerFlush();
&gt; +}

This should return false and do nothing by default. This patch should not change the CA implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589777</commentid>
    <comment_count>10</comment_count>
      <attachid>134244</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-28 02:36:53 -0700</bug_when>
    <thetext>Created attachment 134244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589883</commentid>
    <comment_count>11</comment_count>
      <attachid>134244</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-28 05:41:14 -0700</bug_when>
    <thetext>Comment on attachment 134244
Patch

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

This would still affect implementations that use LayerTreeHost and DrawingAreaImpl.
LayerTreeHost::setPageOverlayOpacity is where the difference should occur.

&gt; Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h:78
&gt; +    virtual void setPageOverlayOpacity(float) = 0;

This function should return bool, and return false by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589962</commentid>
    <comment_count>12</comment_count>
      <attachid>134296</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-28 07:57:04 -0700</bug_when>
    <thetext>Created attachment 134296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589965</commentid>
    <comment_count>13</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-28 07:58:01 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 134244 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134244&amp;action=review
&gt; 
&gt; This would still affect implementations that use LayerTreeHost and DrawingAreaImpl.
&gt; LayerTreeHost::setPageOverlayOpacity is where the difference should occur.
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h:78
&gt; &gt; +    virtual void setPageOverlayOpacity(float) = 0;
&gt; 
&gt; This function should return bool, and return false by default.


Seems sane - fixed, please check :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589969</commentid>
    <comment_count>14</comment_count>
      <attachid>134297</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-28 08:04:50 -0700</bug_when>
    <thetext>Created attachment 134297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589985</commentid>
    <comment_count>15</comment_count>
      <attachid>134297</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-28 08:30:36 -0700</bug_when>
    <thetext>Comment on attachment 134297
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:91
&gt; +    if (m_webPage &amp;&amp; !m_webPage-&gt;drawingArea()-&gt;setPageOverlayOpacity(m_fractionFadedIn))

This test should happen in PageOverlay::fadeAnimationTimerFired, not in setNeedsDisplay. Would make the whole code a lot more readable.
That way, if set...Opacity returns true, we don&apos;t even have to change fractionFadedIn at all.

&gt; Source/WebKit2/WebProcess/WebPage/TapHighlightController.cpp:107
&gt; +        if (m_webPage-&gt;drawingArea()-&gt;layerTreeHost())

This is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590002</commentid>
    <comment_count>16</comment_count>
      <attachid>134297</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-03-28 08:59:31 -0700</bug_when>
    <thetext>Comment on attachment 134297
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:78
&gt; +    virtual bool setPageOverlayOpacity(float) { return false; }

This needs a comment to say what the return value means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590009</commentid>
    <comment_count>17</comment_count>
      <attachid>134309</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-28 09:06:45 -0700</bug_when>
    <thetext>Created attachment 134309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591042</commentid>
    <comment_count>18</comment_count>
      <attachid>134549</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-29 04:48:30 -0700</bug_when>
    <thetext>Created attachment 134549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591152</commentid>
    <comment_count>19</comment_count>
      <attachid>134549</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-29 07:05:56 -0700</bug_when>
    <thetext>Comment on attachment 134549
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:78
&gt; +    // Return false if accelerated compositing should not be used for overlay opacity.

I&apos;d say &quot;If this function returns false, PageOverlay should apply opacity when painting.

&gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:231
&gt; +    scheduleCompositingLayerSync();

Why is this needed?

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:-127
&gt; -    m_fractionFadedIn = 0.0;

m_fractionFadeIn would have an undefined value before the animation.

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:162
&gt; +    if (!m_webPage-&gt;drawingArea()-&gt;setPageOverlayOpacity(fractionFadedIn)) {
&gt; +        m_fractionFadedIn = fractionFadedIn;
&gt; +        setNeedsDisplay();
&gt; +    }

if you add this:
} else {
    // Opacity is handled externally, in DrawingArea or LayerTreeHost.
    m_fractionFadeIn = 1;
}

you can leave the member initialization intact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591161</commentid>
    <comment_count>20</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-29 07:22:44 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 134549 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134549&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:78
&gt; &gt; +    // Return false if accelerated compositing should not be used for overlay opacity.
&gt; 
&gt; I&apos;d say &quot;If this function returns false, PageOverlay should apply opacity when painting.

ok - sounds fine.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:231
&gt; &gt; +    scheduleCompositingLayerSync();
&gt; 
&gt; Why is this needed?

Might not be here - I&apos;ll do some testing without

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:-127
&gt; &gt; -    m_fractionFadedIn = 0.0;
&gt; 
&gt; m_fractionFadeIn would have an undefined value before the animation.

It&apos;s defined in the constructor.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:162
&gt; &gt; +    if (!m_webPage-&gt;drawingArea()-&gt;setPageOverlayOpacity(fractionFadedIn)) {
&gt; &gt; +        m_fractionFadedIn = fractionFadedIn;
&gt; &gt; +        setNeedsDisplay();
&gt; &gt; +    }
&gt; 
&gt; if you add this:
&gt; } else {
&gt;     // Opacity is handled externally, in DrawingArea or LayerTreeHost.
&gt;     m_fractionFadeIn = 1;
&gt; }

The problem here is that setNeedsDisplay seems to be called before (actually - 4 times, we need to look into that) the timer event fires.  If I leave the initialization up to startFade[In|Out]Animation - then for 4 repaints, it&apos;s set to the wrong value - making the paint do opacity = 0 =&gt; nothing visible for AC opacity transform.

&gt; 
&gt; you can leave the member initialization intact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591172</commentid>
    <comment_count>21</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-03-29 07:32:09 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; (From update of attachment 134549 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134549&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:78
&gt; &gt; &gt; +    // Return false if accelerated compositing should not be used for overlay opacity.
&gt; &gt; 
&gt; &gt; I&apos;d say &quot;If this function returns false, PageOverlay should apply opacity when painting.
&gt; 
&gt; ok - sounds fine.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:231
&gt; &gt; &gt; +    scheduleCompositingLayerSync();
&gt; &gt; 
&gt; &gt; Why is this needed?
&gt; 
&gt; Might not be here - I&apos;ll do some testing without
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:-127
&gt; &gt; &gt; -    m_fractionFadedIn = 0.0;
&gt; &gt; 
&gt; &gt; m_fractionFadeIn would have an undefined value before the animation.
&gt; 
&gt; It&apos;s defined in the constructor.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:162
&gt; &gt; &gt; +    if (!m_webPage-&gt;drawingArea()-&gt;setPageOverlayOpacity(fractionFadedIn)) {
&gt; &gt; &gt; +        m_fractionFadedIn = fractionFadedIn;
&gt; &gt; &gt; +        setNeedsDisplay();
&gt; &gt; &gt; +    }
&gt; &gt; 
&gt; &gt; if you add this:
&gt; &gt; } else {
&gt; &gt;     // Opacity is handled externally, in DrawingArea or LayerTreeHost.
&gt; &gt;     m_fractionFadeIn = 1;
&gt; &gt; }
&gt; 
&gt; The problem here is that setNeedsDisplay seems to be called before (actually - 4 times, we need to look into that) the timer event fires.  If I leave the initialization up to startFade[In|Out]Animation - then for 4 repaints, it&apos;s set to the wrong value - making the paint do opacity = 0 =&gt; nothing visible for AC opacity transform.

Actually - here is a printout of the sequence of 2 &quot;tap-hold-release&quot; cycles (all in PageOverlay.cpp):

Click 1:

PageOverlay
setPage
startFadeInAnimation
startFadeAnimation
setNeedsDisplay
drawRect
drawRect
drawRect
drawRect
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
startFadeOutAnimation
startFadeAnimation
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
setPage

Click 2:

PageOverlay
setPage
startFadeInAnimation
startFadeAnimation
setNeedsDisplay
drawRect
drawRect
drawRect
drawRect
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
startFadeOutAnimation
startFadeAnimation
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
fadeAnimationTimerFired
setPage


&gt; 
&gt; &gt; 
&gt; &gt; you can leave the member initialization intact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591185</commentid>
    <comment_count>22</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-03-29 07:45:06 -0700</bug_when>
    <thetext>(In reply to comment #21)

OK, so it&apos;s not setNeedsDisplay that&apos;s called several times, but rather drawRect, which can also be called if the actual contents are re-rendered (which is what&apos;s probably happening).

The way we could solve it, is by changing the API a bit;
- In DrawingArea, we can do: bool shouldApplyOverlayFadeWhenPainting();
- in the timer, if the above function returned false, we simply call scheduleLayerFlush instead of setNeedsDisplay.
- In LayerTreeHostQt, we set the layer&apos;s opacity to overlay-&gt;fractionFadedIn.
- When painting the overlay, we only apply m_fractionFadeIn if shouldApplyOverlayFadeWhenPainting returned true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600209</commentid>
    <comment_count>23</comment_count>
      <attachid>136661</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-04-11 05:30:58 -0700</bug_when>
    <thetext>Created attachment 136661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600210</commentid>
    <comment_count>24</comment_count>
      <attachid>136661</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-11 05:39:57 -0700</bug_when>
    <thetext>Comment on attachment 136661
Patch

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

Much better. Minor nitpicks, though I want smfr or andersca to make sure this is fine with them.

&gt; Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h:64
&gt; +    virtual bool shouldApplyOverlayFadeWhenPainting();

Let&apos;s rename to pageOverlayShouldApplyFadeWhenPainting

&gt; Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp:165
&gt; +        m_webPage-&gt;drawingArea()-&gt;layerTreeHost()-&gt;setPageOverlayOpacity(m_fractionFadedIn);

I don&apos;t like the dependency on LayerTreeHost, let&apos;s add setPageOverlayOpacity to DrawingArea and patch it through there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600215</commentid>
    <comment_count>25</comment_count>
      <attachid>136663</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-04-11 06:00:22 -0700</bug_when>
    <thetext>Created attachment 136663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602185</commentid>
    <comment_count>26</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-13 10:38:26 -0700</bug_when>
    <thetext>andersca, any thoughts/issues with this?
Otherwise I&apos;d rather r+ it and we can fix issues later, it seems good enough to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604074</commentid>
    <comment_count>27</comment_count>
      <attachid>136663</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-04-17 09:20:25 -0700</bug_when>
    <thetext>Comment on attachment 136663
Patch

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

I wonder if we should bother with supporting page overlays without AC. Why not make AC a requirement if you want to use page overlays in your WK2 port?

&gt; Source/WebKit2/WebProcess/WebPage/DrawingArea.h:80
&gt; +    virtual bool pageOverlayShouldApplyFadeWhenPainting() { return true; }

The getter should probably be const? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604402</commentid>
    <comment_count>28</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-17 15:23:35 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 136663 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136663&amp;action=review
&gt; 
&gt; I wonder if we should bother with supporting page overlays without AC. Why not make AC a requirement if you want to use page overlays in your WK2 port?
Maybe later... let&apos;s get it working before making it a requirement :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609693</commentid>
    <comment_count>29</comment_count>
      <attachid>136663</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-25 06:19:06 -0700</bug_when>
    <thetext>Comment on attachment 136663
Patch

Please fix const comment from Simon before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610522</commentid>
    <comment_count>30</comment_count>
      <attachid>138983</attachid>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2012-04-26 05:49:15 -0700</bug_when>
    <thetext>Created attachment 138983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610572</commentid>
    <comment_count>31</comment_count>
      <attachid>138983</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 07:05:58 -0700</bug_when>
    <thetext>Comment on attachment 138983
Patch

Clearing flags on attachment: 138983

Committed r115310: &lt;http://trac.webkit.org/changeset/115310&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610573</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-26 07:06:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913888</commentid>
    <comment_count>33</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-08-01 15:00:12 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; (From update of attachment 136663 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136663&amp;action=review
&gt; &gt; 
&gt; &gt; I wonder if we should bother with supporting page overlays without AC. Why not make AC a requirement if you want to use page overlays in your WK2 port?
&gt; Maybe later... let&apos;s get it working before making it a requirement :)

I&apos;m going to make it a requirement: https://bugs.webkit.org/show_bug.cgi?id=119411</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134061</attachid>
            <date>2012-03-27 07:48:22 -0700</date>
            <delta_ts>2012-03-27 08:37:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120327165157.patch</filename>
            <type>text/plain</type>
            <size>9303</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uNDZhNTdlOTNmNmFlZDllM2U2MzVkMmRjOWQ5ZjY2
ZmZkZTlhNWM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFBhZ2Ugb3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2li
bGUuICBPdGhlcndpc2UsIGl0IHdpbGwgCisgICAgICAgIGZhbGwgYmFjayB0byB0aGUgcHJldmlv
dXMgbWV0aG9kIG9mIHJlZHJhd2luZyBlYWNoIGZyYW1lIGluIHRoZSBhbmltYXRpb24uCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6
RHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5o
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OnBhZ2VPdmVybGF5RHJhd09wYWNpdHkpOgor
ICAgICAgICAoRHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNldFBh
Z2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhSW1wbCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAg
KExheWVyVHJlZUhvc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5OjpzZXROZWVkc0Rpc3BsYXkpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6VGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAg
ICAgKExheWVyVHJlZUhvc3RRdCk6CisKIDIwMTItMDMtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgbWlzc2lu
ZyBtZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IDg0MWUzNWFiODdiZDE5MDM1NGNkMjIx
Zjg5OTJmZDdiMWI2ZGVmNjAuLjg0Njc5Y2U1NjUxOTFiOTgxYTdlMDAzNjhmYjA1MjQ4NTkwMzdi
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmNwcApAQCAtNTQsNiArNTQsNyBAQCBQYXNzT3duUHRyPERyYXdpbmdBcmVhPiBEcmF3aW5n
QXJlYTo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdAogRHJhd2lu
Z0FyZWE6OkRyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZSB0eXBlLCBXZWJQYWdlKiB3ZWJQYWdl
KQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX3dlYlBhZ2Uod2ViUGFnZSkKKyAgICAsIG1f
cGFnZU92ZXJsYXlEcmF3T3BhY2l0eSgxLjApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggZGNiZjg5OTdiNDc0YzNkMDZk
NDMxMjVkN2VmYzg5YmI1NjVjODY3Zi4uNzE2OTc1NTJlODhlN2YyZGVjNWNlOWIwZDRiMjI2MmNj
ZTA3OWQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmgKQEAgLTc1LDYgKzc1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJ
bnN0YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFn
ZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3Bs
YXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzZXRQYWdl
T3ZlcmxheU9wYWNpdHkoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBmbG9h
dCBwYWdlT3ZlcmxheURyYXdPcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlT3ZlcmxheURy
YXdPcGFjaXR5OyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNo
YW5nZWQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQoYm9vbCkg
eyB9CkBAIC05Nyw2ICs5OSw3IEBAIHByb3RlY3RlZDoKIAogICAgIERyYXdpbmdBcmVhVHlwZSBt
X3R5cGU7CiAgICAgV2ViUGFnZSogbV93ZWJQYWdlOworICAgIGZsb2F0IG1fcGFnZU92ZXJsYXlE
cmF3T3BhY2l0eTsKIAogcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDIG1lc3NhZ2UgaGFuZGxlcnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuY3BwCmluZGV4IDFjYzk4YTE1ZWIzNGVmMWU1NmEzMjBkMTM5ZDBlNDVmMzRlMDcyYTIu
LjIxYjVlYmNkOWU0MzEyZWMxN2JjODllMjExMmVmMjQ1MGJmYWRkNmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBA
IC0yMjMsNiArMjIzLDE4IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU5l
ZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNldE5lZWRzRGlzcGxheShyZWN0
KTsKIH0KIAorYm9vbCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9h
dCB2YWx1ZSkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7CisgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgbV9wYWdlT3ZlcmxheURyYXdPcGFjaXR5ID0gdmFsdWU7CisgICAg
c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHJldHVybiBmYWxzZTsKK30KKwog
dm9pZCBEcmF3aW5nQXJlYUltcGw6OnBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNoYW5nZWQoKQog
ewogICAgIGlmICghbV9hbHdheXNVc2VDb21wb3NpdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAppbmRleCAzZTcxMGQ0OGQ4
NjU3ZTE4NzU2ZjRhYzZlYTYzZjBhZjUyM2NjYTI4Li4wZDZiYmIzNTc0YjdhNzk4MmJlZDM3OGM5
OWM1MzY3NjZlZGZjNTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zlcmxh
eU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29s
IHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFp
bnRpbmdFbmFibGVkKGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAwMzQ5ZTI0ZTcxY2FjOTJhZWE2MTg0NDA2YTc2
YWM3NWQ4NGQ3NzMzLi43Mjk5ZGYzZWYyNjk0MGZiMzRmY2Y3M2E5Mzc0NzY2MDA5MjA4MGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0
LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zl
cmxheU9wYWNpdHkoZmxvYXQpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmlu
ZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFh
MzJiNmEwOTU1MmY5MTk2ZGNiODY5YTBjMjlkNjgyMjY3NTI2MjYuLjM0MmU3MTcxNDQzMmEzNGUx
ODljNGM5MGZjMDc5MmVhYWMzN2M0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtODgsOCArODgsMTAgQEAgdm9pZCBQYWdl
T3ZlcmxheTo6c2V0UGFnZShXZWJQYWdlKiB3ZWJQYWdlKQogCiB2b2lkIFBhZ2VPdmVybGF5Ojpz
ZXROZWVkc0Rpc3BsYXkoY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQogewotICAgIGlmIChtX3dl
YlBhZ2UpCi0gICAgICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZU92ZXJsYXlO
ZWVkc0Rpc3BsYXkoZGlydHlSZWN0KTsKKyAgICBpZiAobV93ZWJQYWdlKSB7CisgICAgICAgIGlm
ICghbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQYWdlT3ZlcmxheU9wYWNpdHkobV9mcmFj
dGlvbkZhZGVkSW4pKQorICAgICAgICAgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQ
YWdlT3ZlcmxheU5lZWRzRGlzcGxheShkaXJ0eVJlY3QpOworICAgIH0KIH0KIAogdm9pZCBQYWdl
T3ZlcmxheTo6c2V0TmVlZHNEaXNwbGF5KCkKQEAgLTEwNSw3ICsxMDcsNyBAQCB2b2lkIFBhZ2VP
dmVybGF5OjpkcmF3UmVjdChHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3Qg
SW50UmVjdCYgZGlydAogICAgICAgICByZXR1cm47CiAKICAgICBHcmFwaGljc0NvbnRleHRTdGF0
ZVNhdmVyIHN0YXRlU2F2ZXIoZ3JhcGhpY3NDb250ZXh0KTsKLSAgICBncmFwaGljc0NvbnRleHQu
YmVnaW5UcmFuc3BhcmVuY3lMYXllcigxKTsKKyAgICBncmFwaGljc0NvbnRleHQuYmVnaW5UcmFu
c3BhcmVuY3lMYXllcihtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnBhZ2VPdmVybGF5RHJhd09w
YWNpdHkoKSk7CiAgICAgZ3JhcGhpY3NDb250ZXh0LnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21w
b3NpdGVDb3B5KTsKIAogICAgIG1fY2xpZW50LT5kcmF3UmVjdCh0aGlzLCBncmFwaGljc0NvbnRl
eHQsIHBhaW50UmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAKaW5kZXggNzI1MzI0NzAzNWQ2
MmMwNTBiM2Q0NmI0YThlN2Y0NjEyN2YzYzM0Ni4uMDZhZDk3ZDFmOTE2ZjU4ZDE3YmI4Mjc5ODQz
ODA1NTlhODZhYjE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcApAQCAtOTIsMjEgKzkyLDE0
IEBAIHZvaWQgVGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6ZGlkTW92ZVRvV2ViUGFnZShQYWdlT3Zl
cmxheSosIFdlYlBhZ2UqKQogewogfQogCi1zdGF0aWMgQ29sb3IgaGlnaGxpZ2h0Q29sb3IoQ29s
b3IgYmFzZUNvbG9yLCBmbG9hdCBmcmFjdGlvbkZhZGVkSW4pCi17Ci0gICAgcmV0dXJuIENvbG9y
KGJhc2VDb2xvci5yZWQoKSwgYmFzZUNvbG9yLmdyZWVuKCksIGJhc2VDb2xvci5ibHVlKCksIGlu
dChiYXNlQ29sb3IuYWxwaGEoKSAqIGZyYWN0aW9uRmFkZWRJbikpOwotfQotCiB2b2lkIFRhcEhp
Z2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiB7CiAgICAg
aWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IGZyYWN0
aW9uRmFkZWRJbiA9IHBhZ2VPdmVybGF5LT5mcmFjdGlvbkZhZGVkSW4oKTsKLQogICAgIHsKICAg
ICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwotICAg
ICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBmcmFjdGlv
bkZhZGVkSW4pLCBDb2xvclNwYWNlU1JHQik7CisgICAgICAgIGNvbnRleHQuc2V0RmlsbENvbG9y
KG1fY29sb3IsIENvbG9yU3BhY2VTUkdCKTsKICAgICAgICAgY29udGV4dC5maWxsUGF0aChtX3Bh
dGgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKaW5kZXggYzA5NmM4ODRiODAyM2VjM2YwMDhm
Y2YwZTRiY2Q3N2ZlYjFiNDM2Yi4uNjMxN2FmYmFmYTkwNmIxYWRiNDdmODA0ZDA0YWVlZTMyMjAy
MDM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xh
eWVyVHJlZUhvc3RRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKQEAgLTIxOSw2ICsyMTksMTMgQEAgdm9pZCBMYXllclRy
ZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmIHJlY3QpCiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVl
SG9zdFF0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQgdmFsdWUpCit7CisgICAgQVNTRVJU
KG1fcGFnZU92ZXJsYXlMYXllcik7CisgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXRPcGFjaXR5
KHZhbHVlKTsKKyAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKK30KKwogYm9vbCBMYXllclRyZWVI
b3N0UXQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCiB7CiAgICAgYm9vbCBkaWRTeW5jID0g
bV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT5zeW5jQ29tcG9zaXRp
bmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCmluZGV4IDA4ZjBlNjRiNzRi
M2QxM2RjMWY0YmI2Zjc1YmJiNDFlZmZmMDU1OWYuLjIzYmJmOWI0Njk1ZDhkZTM2NTk0ZWUzNDNj
YjExNzAwOTk5MTk4YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92
ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1YWwg
dm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpOwogCiAgICAgdmlydHVhbCB2b2lkIHBh
dXNlUmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVkID0gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCByZXN1bWVSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQgPSBmYWxzZTsgc2NoZWR1bGVMYXll
ckZsdXNoKCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134074</attachid>
            <date>2012-03-27 08:37:23 -0700</date>
            <delta_ts>2012-03-28 02:36:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120327174058.patch</filename>
            <type>text/plain</type>
            <size>10715</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uNDZhNTdlOTNmNmFlZDllM2U2MzVkMmRjOWQ5ZjY2
ZmZkZTlhNWM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFBhZ2Ugb3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2li
bGUuICBPdGhlcndpc2UsIGl0IHdpbGwgCisgICAgICAgIGZhbGwgYmFjayB0byB0aGUgcHJldmlv
dXMgbWV0aG9kIG9mIHJlZHJhd2luZyBlYWNoIGZyYW1lIGluIHRoZSBhbmltYXRpb24uCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6
RHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5o
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OnBhZ2VPdmVybGF5RHJhd09wYWNpdHkpOgor
ICAgICAgICAoRHJhd2luZ0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNldFBh
Z2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhSW1wbCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAg
KExheWVyVHJlZUhvc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5OjpzZXROZWVkc0Rpc3BsYXkpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6VGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXll
clRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAg
ICAgKExheWVyVHJlZUhvc3RRdCk6CisKIDIwMTItMDMtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgbWlzc2lu
ZyBtZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IDg0MWUzNWFiODdiZDE5MDM1NGNkMjIx
Zjg5OTJmZDdiMWI2ZGVmNjAuLjg0Njc5Y2U1NjUxOTFiOTgxYTdlMDAzNjhmYjA1MjQ4NTkwMzdi
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmNwcApAQCAtNTQsNiArNTQsNyBAQCBQYXNzT3duUHRyPERyYXdpbmdBcmVhPiBEcmF3aW5n
QXJlYTo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdAogRHJhd2lu
Z0FyZWE6OkRyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZSB0eXBlLCBXZWJQYWdlKiB3ZWJQYWdl
KQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX3dlYlBhZ2Uod2ViUGFnZSkKKyAgICAsIG1f
cGFnZU92ZXJsYXlEcmF3T3BhY2l0eSgxLjApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggZGNiZjg5OTdiNDc0YzNkMDZk
NDMxMjVkN2VmYzg5YmI1NjVjODY3Zi4uNzE2OTc1NTJlODhlN2YyZGVjNWNlOWIwZDRiMjI2MmNj
ZTA3OWQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmgKQEAgLTc1LDYgKzc1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJ
bnN0YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFn
ZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3Bs
YXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzZXRQYWdl
T3ZlcmxheU9wYWNpdHkoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBmbG9h
dCBwYWdlT3ZlcmxheURyYXdPcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9wYWdlT3ZlcmxheURy
YXdPcGFjaXR5OyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNo
YW5nZWQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQoYm9vbCkg
eyB9CkBAIC05Nyw2ICs5OSw3IEBAIHByb3RlY3RlZDoKIAogICAgIERyYXdpbmdBcmVhVHlwZSBt
X3R5cGU7CiAgICAgV2ViUGFnZSogbV93ZWJQYWdlOworICAgIGZsb2F0IG1fcGFnZU92ZXJsYXlE
cmF3T3BhY2l0eTsKIAogcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDIG1lc3NhZ2UgaGFuZGxlcnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuY3BwCmluZGV4IDFjYzk4YTE1ZWIzNGVmMWU1NmEzMjBkMTM5ZDBlNDVmMzRlMDcyYTIu
LjIxYjVlYmNkOWU0MzEyZWMxN2JjODllMjExMmVmMjQ1MGJmYWRkNmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBA
IC0yMjMsNiArMjIzLDE4IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU5l
ZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNldE5lZWRzRGlzcGxheShyZWN0
KTsKIH0KIAorYm9vbCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9h
dCB2YWx1ZSkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7CisgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgbV9wYWdlT3ZlcmxheURyYXdPcGFjaXR5ID0gdmFsdWU7CisgICAg
c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOworICAgIHJldHVybiBmYWxzZTsKK30KKwog
dm9pZCBEcmF3aW5nQXJlYUltcGw6OnBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNoYW5nZWQoKQog
ewogICAgIGlmICghbV9hbHdheXNVc2VDb21wb3NpdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAppbmRleCAzZTcxMGQ0OGQ4
NjU3ZTE4NzU2ZjRhYzZlYTYzZjBhZjUyM2NjYTI4Li4wZDZiYmIzNTc0YjdhNzk4MmJlZDM3OGM5
OWM1MzY3NjZlZGZjNTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zlcmxh
eU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29s
IHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFp
bnRpbmdFbmFibGVkKGJvb2wpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAwMzQ5ZTI0ZTcxY2FjOTJhZWE2MTg0NDA2YTc2
YWM3NWQ4NGQ3NzMzLi43Mjk5ZGYzZWYyNjk0MGZiMzRmY2Y3M2E5Mzc0NzY2MDA5MjA4MGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0
LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxs
UGFnZU92ZXJsYXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zl
cmxheU9wYWNpdHkoZmxvYXQpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmlu
ZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFh
MzJiNmEwOTU1MmY5MTk2ZGNiODY5YTBjMjlkNjgyMjY3NTI2MjYuLmZiNGU1YzAyZWI5NjZhNjQ2
MGQ0ODlmMDg4YmUyNTcwN2U2NTY2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtODgsOCArODgsOCBAQCB2b2lkIFBhZ2VP
dmVybGF5OjpzZXRQYWdlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAKIHZvaWQgUGFnZU92ZXJsYXk6OnNl
dE5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiB7Ci0gICAgaWYgKG1fd2Vi
UGFnZSkKLSAgICAgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQYWdlT3ZlcmxheU5l
ZWRzRGlzcGxheShkaXJ0eVJlY3QpOworICAgIGlmIChtX3dlYlBhZ2UgJiYgIW1fd2ViUGFnZS0+
ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KG1fZnJhY3Rpb25GYWRlZEluKSkK
KyAgICAgICAgICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkoZGlydHlSZWN0KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6c2V0TmVlZHNEaXNw
bGF5KCkKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFBhZ2VPdmVybGF5OjpkcmF3UmVjdChHcmFw
aGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydAogICAgICAg
ICByZXR1cm47CiAKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoZ3Jh
cGhpY3NDb250ZXh0KTsKLSAgICBncmFwaGljc0NvbnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXll
cigxKTsKKyAgICBncmFwaGljc0NvbnRleHQuYmVnaW5UcmFuc3BhcmVuY3lMYXllcihtX3dlYlBh
Z2UtPmRyYXdpbmdBcmVhKCktPnBhZ2VPdmVybGF5RHJhd09wYWNpdHkoKSk7CiAgICAgZ3JhcGhp
Y3NDb250ZXh0LnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVDb3B5KTsKIAogICAgIG1f
Y2xpZW50LT5kcmF3UmVjdCh0aGlzLCBncmFwaGljc0NvbnRleHQsIHBhaW50UmVjdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxp
Z2h0Q29udHJvbGxlci5jcHAKaW5kZXggNzI1MzI0NzAzNWQ2MmMwNTBiM2Q0NmI0YThlN2Y0NjEy
N2YzYzM0Ni4uMDZhZDk3ZDFmOTE2ZjU4ZDE3YmI4Mjc5ODQzODA1NTlhODZhYjE3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdo
bGlnaHRDb250cm9sbGVyLmNwcApAQCAtOTIsMjEgKzkyLDE0IEBAIHZvaWQgVGFwSGlnaGxpZ2h0
Q29udHJvbGxlcjo6ZGlkTW92ZVRvV2ViUGFnZShQYWdlT3ZlcmxheSosIFdlYlBhZ2UqKQogewog
fQogCi1zdGF0aWMgQ29sb3IgaGlnaGxpZ2h0Q29sb3IoQ29sb3IgYmFzZUNvbG9yLCBmbG9hdCBm
cmFjdGlvbkZhZGVkSW4pCi17Ci0gICAgcmV0dXJuIENvbG9yKGJhc2VDb2xvci5yZWQoKSwgYmFz
ZUNvbG9yLmdyZWVuKCksIGJhc2VDb2xvci5ibHVlKCksIGludChiYXNlQ29sb3IuYWxwaGEoKSAq
IGZyYWN0aW9uRmFkZWRJbikpOwotfQotCiB2b2lkIFRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRy
YXdSZWN0KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0
LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiB7CiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IGZyYWN0aW9uRmFkZWRJbiA9IHBhZ2VPdmVy
bGF5LT5mcmFjdGlvbkZhZGVkSW4oKTsKLQogICAgIHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0
U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwotICAgICAgICBjb250ZXh0LnNldEZpbGxD
b2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBmcmFjdGlvbkZhZGVkSW4pLCBDb2xvclNwYWNl
U1JHQik7CisgICAgICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKG1fY29sb3IsIENvbG9yU3BhY2VT
UkdCKTsKICAgICAgICAgY29udGV4dC5maWxsUGF0aChtX3BhdGgpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0
Q0EuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhv
c3RDQS5jcHAKaW5kZXggODdlOWNlZGJlNDg1MmIwZTg0MjdmMGEyYjhkMmI3OGU3YzIxOTZkMy4u
MGJkNDc1YTAxMTU0MTI0ZDYwMTAwNDY5MzAwMzJlODdkZGE2OGJhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5j
cHAKQEAgLTE4Miw2ICsxODIsMTMgQEAgdm9pZCBMYXllclRyZWVIb3N0Q0E6OnNldFBhZ2VPdmVy
bGF5TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2NoZWR1bGVMYXllckZs
dXNoKCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlSG9zdENBOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHko
ZmxvYXQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlMYXllcik7CisgICAgbV9w
YWdlT3ZlcmxheUxheWVyLT5zZXRPcGFjaXR5KHZhbHVlKTsKKyAgICBzY2hlZHVsZUxheWVyRmx1
c2goKTsKK30KKwogdm9pZCBMYXllclRyZWVIb3N0Q0E6Om5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQo
Y29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIGRvdWJsZSB0aW1lKQogewogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RD
QS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RD
QS5oCmluZGV4IDY0MjMzMzQ3ZGE5ZmU5MzA1ZTc2NmFhOTFhZTA0ODk5ZjY0NjI4NWYuLjRkMTkw
NmY1NDIxYTk5M2IyYmNiNzRhZjFlNGU5NTFlNjdlN2JlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKQEAgLTY5
LDYgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVy
bGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KTsK
IAogICAgIC8vIEdyYXBoaWNzTGF5ZXJDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5p
bWF0aW9uU3RhcnRlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgZG91YmxlIHRpbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVy
VHJlZUhvc3RRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5
ZXJUcmVlSG9zdFF0LmNwcAppbmRleCBjMDk2Yzg4NGI4MDIzZWMzZjAwOGZjZjBlNGJjZDc3ZmVi
MWI0MzZiLi42MzE3YWZiYWZhOTA2YjFhZGI0N2Y4MDRkMDRhZWVlMzIyMDIwMzcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVl
SG9zdFF0LmNwcApAQCAtMjE5LDYgKzIxOSwxMyBAQCB2b2lkIExheWVyVHJlZUhvc3RRdDo6c2V0
UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKICAg
ICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAordm9pZCBMYXllclRyZWVIb3N0UXQ6OnNldFBh
Z2VPdmVybGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9wYWdlT3Zlcmxh
eUxheWVyKTsKKyAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldE9wYWNpdHkodmFsdWUpOworICAg
IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOworfQorCiBib29sIExheWVyVHJlZUhvc3RRdDo6Zmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKIHsKICAgICBib29sIGRpZFN5bmMgPSBtX3dlYlBhZ2UtPmNv
cmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVk
aW5nU3ViZnJhbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKaW5kZXggMDhmMGU2NGI3NGIzZDEzZGMxZjRiYjZm
NzViYmI0MWVmZmYwNTU5Zi4uMjNiYmY5YjQ2OTVkOGRlMzY1OTRlZTM0M2NiMTE3MDA5OTkxOThi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVy
VHJlZUhvc3RRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9M
YXllclRyZWVIb3N0UXQuaApAQCAtNTYsNiArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3Rh
bGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlz
cGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VP
dmVybGF5T3BhY2l0eShmbG9hdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmco
KSB7IG1faXNTdXNwZW5kZWQgPSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJlbmRl
cmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IGZhbHNlOyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134244</attachid>
            <date>2012-03-28 02:36:53 -0700</date>
            <delta_ts>2012-03-28 07:56:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120328114030.patch</filename>
            <type>text/plain</type>
            <size>9044</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uYjUzOGNiNWEyZmM0MjNjZDk1Mzk5ODYxMGY1NGJh
ZjUyMGZlODdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChM
YXllclRyZWVIb3N0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6c2V0TmVlZHNEaXNwbGF5KToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9z
dENBLmg6CisgICAgICAgIChMYXllclRyZWVIb3N0Q0EpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRy
ZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAgICAg
KExheWVyVHJlZUhvc3RRdCk6CisKIDIwMTItMDMtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgbWlzc2luZyBt
ZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggZGNiZjg5OTdiNDc0YzNkMDZkNDMxMjVkN2VmYzg5
YmI1NjVjODY3Zi4uYWZkMjI5MDdkZDFjNjYxNWE1N2M5MTI3MzcxY2M4YzdmN2I4MWNiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAg
LTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92
ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzZXRQYWdlT3ZlcmxheU9wYWNp
dHkoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21S
ZXByZXNlbnRhdGlvbkNoYW5nZWQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGlu
Z0VuYWJsZWQoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDFjYzk4YTE1ZWIzNGVmMWU1NmEzMjBk
MTM5ZDBlNDVmMzRlMDcyYTIuLjE5NGNkNWI0ZDAwMWJjYjAxOTY1NTI1MmMxMTExMThmMzFiNDg4
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCkBAIC0yMjMsNiArMjIzLDE3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNl
dE5lZWRzRGlzcGxheShyZWN0KTsKIH0KIAorYm9vbCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VP
dmVybGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0KSB7
CisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KHZhbHVlKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgc2NoZWR1bGVDb21wb3NpdGluZ0xh
eWVyU3luYygpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBEcmF3aW5nQXJlYUltcGw6
OnBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNoYW5nZWQoKQogewogICAgIGlmICghbV9hbHdheXNV
c2VDb21wb3NpdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaAppbmRleCAzZTcxMGQ0OGQ4NjU3ZTE4NzU2ZjRhYzZlYTYzZjBh
ZjUyM2NjYTI4Li4wZDZiYmIzNTc0YjdhNzk4MmJlZDM3OGM5OWM1MzY3NjZlZGZjNTU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3Rh
bGxQYWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3Zlcmxh
eSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0
eShmbG9hdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFpbnRpbmdFbmFibGVkKGJvb2wpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVl
SG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aAppbmRleCAwMzQ5ZTI0ZTcxY2FjOTJhZWE2MTg0NDA2YTc2YWM3NWQ4NGQ3NzMzLi43Mjk5ZGYz
ZWYyNjk0MGZiMzRmY2Y3M2E5Mzc0NzY2MDA5MjA4MGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTc1LDYgKzc1LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpID0g
MDsKIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFhMzJiNmEwOTU1MmY5MTk2ZGNiODY5
YTBjMjlkNjgyMjY3NTI2MjYuLjA5NDg1NzhiNWUwMmI4NDY3OWZlYzlkYjNkYWIwMWQ1MTg3Yjg2
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zl
cmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVy
bGF5LmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIFBhZ2VPdmVybGF5OjpzZXRQYWdlKFdlYlBh
Z2UqIHdlYlBhZ2UpCiAKIHZvaWQgUGFnZU92ZXJsYXk6OnNldE5lZWRzRGlzcGxheShjb25zdCBJ
bnRSZWN0JiBkaXJ0eVJlY3QpCiB7Ci0gICAgaWYgKG1fd2ViUGFnZSkKKyAgICBpZiAobV93ZWJQ
YWdlICYmICFtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnNldFBhZ2VPdmVybGF5T3BhY2l0eSht
X2ZyYWN0aW9uRmFkZWRJbikpCiAgICAgICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0
UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoZGlydHlSZWN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xs
ZXIuY3BwCmluZGV4IDcyNTMyNDcwMzVkNjJjMDUwYjNkNDZiNGE4ZTdmNDYxMjdmM2MzNDYuLjE1
ZTFmMmY4MGFhNzdiYjNiZmVhYTU1NWM2MmZjZDdhYTQyMjExYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJv
bGxlci5jcHAKQEAgLTEwMiwxMSArMTAyLDEyIEBAIHZvaWQgVGFwSGlnaGxpZ2h0Q29udHJvbGxl
cjo6ZHJhd1JlY3QoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5LCBHcmFwaGljc0NvbnRleHQmCiAg
ICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IGZy
YWN0aW9uRmFkZWRJbiA9IHBhZ2VPdmVybGF5LT5mcmFjdGlvbkZhZGVkSW4oKTsKLQogICAgIHsK
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwot
ICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBmcmFj
dGlvbkZhZGVkSW4pLCBDb2xvclNwYWNlU1JHQik7CisgICAgICAgIGlmIChtX3dlYlBhZ2UtPmRy
YXdpbmdBcmVhKCktPmxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0Rmls
bENvbG9yKG1fY29sb3IsIENvbG9yU3BhY2VTUkdCKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgY29udGV4dC5zZXRGaWxsQ29sb3IoaGlnaGxpZ2h0Q29sb3IobV9jb2xvciwgcGFnZU92ZXJs
YXktPmZyYWN0aW9uRmFkZWRJbigpKSwgQ29sb3JTcGFjZVNSR0IpOwogICAgICAgICBjb250ZXh0
LmZpbGxQYXRoKG1fcGF0aCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAppbmRleCA4N2U5Y2Vk
YmU0ODUyYjBlODQyN2YwYTJiOGQyYjc4ZTdjMjE5NmQzLi45MGYzZjY1NDA2ODdhNDBkOTNhYmY4
YmNmYTQ3MTYyNTY1MjQ5NTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcApAQCAtMTgyLDYgKzE4MiwxMCBA
QCB2b2lkIExheWVyVHJlZUhvc3RDQTo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3Qg
SW50UmVjdCYgcmVjdCkKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAordm9pZCBMYXll
clRyZWVIb3N0Q0E6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCkKK3sKK30KKwogdm9pZCBM
YXllclRyZWVIb3N0Q0E6Om5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgV2ViQ29yZTo6R3Jh
cGhpY3NMYXllciosIGRvdWJsZSB0aW1lKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oCmluZGV4IDY0MjMzMzQ3
ZGE5ZmU5MzA1ZTc2NmFhOTFhZTA0ODk5ZjY0NjI4NWYuLjRkMTkwNmY1NDIxYTk5M2IyYmNiNzRh
ZjFlNGU5NTFlNjdlN2JlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBh
Z2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KTsKIAogICAgIC8vIEdyYXBoaWNz
TGF5ZXJDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChjb25z
dCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgZG91YmxlIHRpbWUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcApp
bmRleCBjMDk2Yzg4NGI4MDIzZWMzZjAwOGZjZjBlNGJjZDc3ZmViMWI0MzZiLi42MzE3YWZiYWZh
OTA2YjFhZGI0N2Y4MDRkMDRhZWVlMzIyMDIwMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcApAQCAtMjE5
LDYgKzIxOSwxMyBAQCB2b2lkIExheWVyVHJlZUhvc3RRdDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKICAgICBzY2hlZHVsZUxheWVyRmx1
c2goKTsKIH0KIAordm9pZCBMYXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShm
bG9hdCB2YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKKyAgICBtX3Bh
Z2VPdmVybGF5TGF5ZXItPnNldE9wYWNpdHkodmFsdWUpOworICAgIHNjaGVkdWxlTGF5ZXJGbHVz
aCgpOworfQorCiBib29sIExheWVyVHJlZUhvc3RRdDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2Vz
KCkKIHsKICAgICBib29sIGRpZFN5bmMgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFt
ZSgpLT52aWV3KCktPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVl
SG9zdFF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVl
SG9zdFF0LmgKaW5kZXggMDhmMGU2NGI3NGIzZDEzZGMxZjRiYjZmNzViYmI0MWVmZmYwNTU5Zi4u
MjNiYmY5YjQ2OTVkOGRlMzY1OTRlZTM0M2NiMTE3MDA5OTkxOThiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaApA
QCAtNTYsNiArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdl
T3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9h
dCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQg
PSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJlbmRlcmluZygpIHsgbV9pc1N1c3Bl
bmRlZCA9IGZhbHNlOyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134296</attachid>
            <date>2012-03-28 07:57:04 -0700</date>
            <delta_ts>2012-03-28 08:04:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120328170042.patch</filename>
            <type>text/plain</type>
            <size>7736</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uYjUzOGNiNWEyZmM0MjNjZDk1Mzk5ODYxMGY1NGJh
ZjUyMGZlODdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChM
YXllclRyZWVIb3N0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6c2V0TmVlZHNEaXNwbGF5KToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9z
dENBLmg6CisgICAgICAgIChMYXllclRyZWVIb3N0Q0EpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRy
ZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAgICAg
KExheWVyVHJlZUhvc3RRdCk6CisKIDIwMTItMDMtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgbWlzc2luZyBt
ZXRob2RzIGluIENvb2tpZUphclNvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggZGNiZjg5OTdiNDc0YzNkMDZkNDMxMjVkN2VmYzg5
YmI1NjVjODY3Zi4uYWZkMjI5MDdkZDFjNjYxNWE1N2M5MTI3MzcxY2M4YzdmN2I4MWNiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAg
LTc1LDYgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92
ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzZXRQYWdlT3ZlcmxheU9wYWNp
dHkoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21S
ZXByZXNlbnRhdGlvbkNoYW5nZWQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGlu
Z0VuYWJsZWQoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDFjYzk4YTE1ZWIzNGVmMWU1NmEzMjBk
MTM5ZDBlNDVmMzRlMDcyYTIuLmJmOWI1OWI5YzA2YWNiMmNjOTNlNDk4N2VlYzMyMGEzMDMzYjRk
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCkBAIC0yMjMsNiArMjIzLDE1IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNl
dE5lZWRzRGlzcGxheShyZWN0KTsKIH0KIAorYm9vbCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VP
dmVybGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0ICYm
IG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KHZhbHVlKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJTeW5jKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6cGFnZUN1c3RvbVJlcHJl
c2VudGF0aW9uQ2hhbmdlZCgpCiB7CiAgICAgaWYgKCFtX2Fsd2F5c1VzZUNvbXBvc2l0aW5nKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5oCmluZGV4IDNlNzEwZDQ4ZDg2NTdlMTg3NTZmNGFjNmVhNjNmMGFmNTIzY2NhMjguLjBkNmJi
YjM1NzRiN2E3OTgyYmVkMzc4Yzk5YzUzNjc2NmVkZmM1NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAgLTYxLDYgKzYx
LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVh
bCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KTsKIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDAzNDllMjRl
NzFjYWM5MmFlYTYxODQ0MDZhNzZhYzc1ZDg0ZDc3MzMuLjQ5ZjM3OTVjODJkMTg2ZWQ5NDc5NzU0
NWQ2YmMyNTZlY2MwMjE1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuaApAQCAtNzUsNiArNzUsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VP
dmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CisgICAgdmly
dHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCkgeyByZXR1cm4gZmFsc2U7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFhMzJiNmEwOTU1MmY5MTk2ZGNiODY5YTBj
MjlkNjgyMjY3NTI2MjYuLjA5NDg1NzhiNWUwMmI4NDY3OWZlYzlkYjNkYWIwMWQ1MTg3Yjg2Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5
LmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIFBhZ2VPdmVybGF5OjpzZXRQYWdlKFdlYlBhZ2Uq
IHdlYlBhZ2UpCiAKIHZvaWQgUGFnZU92ZXJsYXk6OnNldE5lZWRzRGlzcGxheShjb25zdCBJbnRS
ZWN0JiBkaXJ0eVJlY3QpCiB7Ci0gICAgaWYgKG1fd2ViUGFnZSkKKyAgICBpZiAobV93ZWJQYWdl
ICYmICFtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnNldFBhZ2VPdmVybGF5T3BhY2l0eShtX2Zy
YWN0aW9uRmFkZWRJbikpCiAgICAgICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFn
ZU92ZXJsYXlOZWVkc0Rpc3BsYXkoZGlydHlSZWN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIu
Y3BwCmluZGV4IDcyNTMyNDcwMzVkNjJjMDUwYjNkNDZiNGE4ZTdmNDYxMjdmM2MzNDYuLjE1ZTFm
MmY4MGFhNzdiYjNiZmVhYTU1NWM2MmZjZDdhYTQyMjExYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxl
ci5jcHAKQEAgLTEwMiwxMSArMTAyLDEyIEBAIHZvaWQgVGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6
ZHJhd1JlY3QoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5LCBHcmFwaGljc0NvbnRleHQmCiAgICAg
aWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IGZyYWN0
aW9uRmFkZWRJbiA9IHBhZ2VPdmVybGF5LT5mcmFjdGlvbkZhZGVkSW4oKTsKLQogICAgIHsKICAg
ICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwotICAg
ICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBmcmFjdGlv
bkZhZGVkSW4pLCBDb2xvclNwYWNlU1JHQik7CisgICAgICAgIGlmIChtX3dlYlBhZ2UtPmRyYXdp
bmdBcmVhKCktPmxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0RmlsbENv
bG9yKG1fY29sb3IsIENvbG9yU3BhY2VTUkdCKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
Y29udGV4dC5zZXRGaWxsQ29sb3IoaGlnaGxpZ2h0Q29sb3IobV9jb2xvciwgcGFnZU92ZXJsYXkt
PmZyYWN0aW9uRmFkZWRJbigpKSwgQ29sb3JTcGFjZVNSR0IpOwogICAgICAgICBjb250ZXh0LmZp
bGxQYXRoKG1fcGF0aCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcAppbmRleCBjMDk2Yzg4NGI4
MDIzZWMzZjAwOGZjZjBlNGJjZDc3ZmViMWI0MzZiLi5iMzNiYWI1MTU2MmRjNDBiYTA2MjllNjEz
MjFmZjViNGI3NDM5YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcApAQCAtMjE5LDYgKzIxOSwxNCBAQCB2
b2lkIExheWVyVHJlZUhvc3RRdDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYgcmVjdCkKICAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKIH0KIAorYm9v
bCBMYXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sK
KyAgICBBU1NFUlQobV9wYWdlT3ZlcmxheUxheWVyKTsKKyAgICBtX3BhZ2VPdmVybGF5TGF5ZXIt
PnNldE9wYWNpdHkodmFsdWUpOworICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOworICAgIHJldHVy
biB0cnVlOworfQorCiBib29sIExheWVyVHJlZUhvc3RRdDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzKCkKIHsKICAgICBib29sIGRpZFN5bmMgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5G
cmFtZSgpLT52aWV3KCktPnN5bmNDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJU
cmVlSG9zdFF0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJU
cmVlSG9zdFF0LmgKaW5kZXggMDhmMGU2NGI3NGIzZDEzZGMxZjRiYjZmNzViYmI0MWVmZmYwNTU5
Zi4uMGYxNjM3MmM2Yjc3YzFhNjdkZWQzNGQxNDkzYzI5YTA0N2RjZDMwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQu
aApAQCAtNTYsNiArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQ
YWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJD
b3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0eShm
bG9hdCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5k
ZWQgPSB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJlbmRlcmluZygpIHsgbV9pc1N1
c3BlbmRlZCA9IGZhbHNlOyBzY2hlZHVsZUxheWVyRmx1c2goKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134297</attachid>
            <date>2012-03-28 08:04:50 -0700</date>
            <delta_ts>2012-03-28 09:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120328170828.patch</filename>
            <type>text/plain</type>
            <size>7555</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uZWJmMGEwMzQ5MDZjYTMzMzQ2NjRkODlkMTEyNjVh
ODdjN2ExMDk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFn
ZU92ZXJsYXk6OnNldE5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpUYXBIaWdobGln
aHRDb250cm9sbGVyOjpkcmF3UmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3F0
L0xheWVyVHJlZUhvc3RRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RRdDo6
c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oOgorICAgICAgICAoTGF5ZXJUcmVl
SG9zdFF0KToKKwogMjAxMi0wMy0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEltcGxlbWVudCBtaXNzaW5nIG1ldGhvZHMgaW4g
Q29va2llSmFyU291cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaAppbmRleCBkY2JmODk5N2I0NzRjM2QwNmQ0MzEyNWQ3ZWZjODliYjU2NWM4Njdm
Li5hZmQyMjkwN2RkMWM2NjE1YTU3YzkxMjczNzFjYzhjN2Y3YjgxY2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtNzUsNiArNzUs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgeyB9CisgICAgdmlydHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZUN1c3RvbVJlcHJlc2VudGF0
aW9uQ2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChi
b29sKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggMWNjOThhMTVlYjM0ZWYxZTU2YTMyMGQxMzlkMGU0NWYz
NGUwNzJhMi4uYmY5YjU5YjljMDZhY2IyY2M5M2U0OTg3ZWVjMzIwYTMwMzNiNGQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHAKQEAgLTIyMyw2ICsyMjMsMTUgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VP
dmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0TmVlZHNEaXNw
bGF5KHJlY3QpOwogfQogCitib29sIERyYXdpbmdBcmVhSW1wbDo6c2V0UGFnZU92ZXJsYXlPcGFj
aXR5KGZsb2F0IHZhbHVlKQoreworICAgIGlmIChtX2xheWVyVHJlZUhvc3QgJiYgbV9sYXllclRy
ZWVIb3N0LT5zZXRQYWdlT3ZlcmxheU9wYWNpdHkodmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpwYWdlQ3VzdG9tUmVwcmVzZW50YXRpb25D
aGFuZ2VkKCkKIHsKICAgICBpZiAoIW1fYWx3YXlzVXNlQ29tcG9zaXRpbmcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXgg
M2U3MTBkNDhkODY1N2UxODc1NmY0YWM2ZWE2M2YwYWY1MjNjY2EyOC4uMGQ2YmJiMzU3NGI3YTc5
ODJiZWQzNzhjOTljNTM2NzY2ZWRmYzU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNjEsNiArNjEsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZp
cnR1YWwgYm9vbCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpOwogCiAgICAgdmlydHVhbCB2
b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMDM0OWUyNGU3MWNhYzkyYWVh
NjE4NDQwNmE3NmFjNzVkODRkNzczMy4uNDlmMzc5NWM4MmQxODZlZDk0Nzk3NTQ1ZDZiYzI1NmVj
YzAyMTVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5
ZXJUcmVlSG9zdC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3Rh
bGxQYWdlT3ZlcmxheSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wg
c2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmly
dHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJl
bmRlcmluZygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5jcHAKaW5kZXggYWEzMmI2YTA5NTUyZjkxOTZkY2I4NjlhMGMyOWQ2ODIyNjc1
MjYyNi4uMDk0ODU3OGI1ZTAyYjg0Njc5ZmVjOWRiM2RhYjAxZDUxODdiODZmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC04
OCw3ICs4OCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnNldFBhZ2UoV2ViUGFnZSogd2ViUGFnZSkK
IAogdm9pZCBQYWdlT3ZlcmxheTo6c2V0TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3QmIGRpcnR5
UmVjdCkKIHsKLSAgICBpZiAobV93ZWJQYWdlKQorICAgIGlmIChtX3dlYlBhZ2UgJiYgIW1fd2Vi
UGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZU92ZXJsYXlPcGFjaXR5KG1fZnJhY3Rpb25GYWRl
ZEluKSkKICAgICAgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQYWdlT3ZlcmxheU5l
ZWRzRGlzcGxheShkaXJ0eVJlY3QpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAKaW5kZXgg
NzI1MzI0NzAzNWQ2MmMwNTBiM2Q0NmI0YThlN2Y0NjEyN2YzYzM0Ni4uMTVlMWYyZjgwYWE3N2Ji
M2JmZWFhNTU1YzYyZmNkN2FhNDIyMTFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcApAQCAt
MTAyLDExICsxMDIsMTIgQEAgdm9pZCBUYXBIaWdobGlnaHRDb250cm9sbGVyOjpkcmF3UmVjdChQ
YWdlT3ZlcmxheSogcGFnZU92ZXJsYXksIEdyYXBoaWNzQ29udGV4dCYKICAgICBpZiAobV9wYXRo
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgZnJhY3Rpb25GYWRlZElu
ID0gcGFnZU92ZXJsYXktPmZyYWN0aW9uRmFkZWRJbigpOwotCiAgICAgewogICAgICAgICBHcmFw
aGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7Ci0gICAgICAgIGNvbnRl
eHQuc2V0RmlsbENvbG9yKGhpZ2hsaWdodENvbG9yKG1fY29sb3IsIGZyYWN0aW9uRmFkZWRJbiks
IENvbG9yU3BhY2VTUkdCKTsKKyAgICAgICAgaWYgKG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+
bGF5ZXJUcmVlSG9zdCgpKQorICAgICAgICAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IobV9jb2xv
ciwgQ29sb3JTcGFjZVNSR0IpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb250ZXh0LnNl
dEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBwYWdlT3ZlcmxheS0+ZnJhY3Rpb25G
YWRlZEluKCkpLCBDb2xvclNwYWNlU1JHQik7CiAgICAgICAgIGNvbnRleHQuZmlsbFBhdGgobV9w
YXRoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCmluZGV4IGMwOTZjODg0YjgwMjNlYzNmMDA4
ZmNmMGU0YmNkNzdmZWIxYjQzNmIuLmIzM2JhYjUxNTYyZGM0MGJhMDYyOWU2MTMyMWZmNWI0Yjc0
MzlhODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9M
YXllclRyZWVIb3N0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCkBAIC0yMTksNiArMjE5LDE0IEBAIHZvaWQgTGF5ZXJU
cmVlSG9zdFF0OjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiByZWN0KQogICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwogfQogCitib29sIExheWVyVHJl
ZUhvc3RRdDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0IHZhbHVlKQoreworICAgIEFTU0VS
VChtX3BhZ2VPdmVybGF5TGF5ZXIpOworICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c2V0T3BhY2l0
eSh2YWx1ZSk7CisgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIGJvb2wgTGF5ZXJUcmVlSG9zdFF0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogewog
ICAgIGJvb2wgZGlkU3luYyA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZp
ZXcoKS0+c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQu
aAppbmRleCAwOGYwZTY0Yjc0YjNkMTNkYzFmNGJiNmY3NWJiYjQxZWZmZjA1NTlmLi4wZjE2Mzcy
YzZiNzdjMWE2N2RlZDM0ZDE0OTNjMjlhMDQ3ZGNkMzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCkBAIC01Niw2
ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5
KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmly
dHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IHRydWU7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVkID0g
ZmFsc2U7IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134309</attachid>
            <date>2012-03-28 09:06:45 -0700</date>
            <delta_ts>2012-03-29 04:48:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120328181023.patch</filename>
            <type>text/plain</type>
            <size>7332</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uZWJmMGEwMzQ5MDZjYTMzMzQ2NjRkODlkMTEyNjVh
ODdjN2ExMDk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFn
ZU92ZXJsYXk6OnNldE5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpUYXBIaWdobGln
aHRDb250cm9sbGVyOjpkcmF3UmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3F0
L0xheWVyVHJlZUhvc3RRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RRdDo6
c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oOgorICAgICAgICAoTGF5ZXJUcmVl
SG9zdFF0KToKKwogMjAxMi0wMy0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEltcGxlbWVudCBtaXNzaW5nIG1ldGhvZHMgaW4g
Q29va2llSmFyU291cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaAppbmRleCBkY2JmODk5N2I0NzRjM2QwNmQ0MzEyNWQ3ZWZjODliYjU2NWM4Njdm
Li5hZmQyMjkwN2RkMWM2NjE1YTU3YzkxMjczNzFjYzhjN2Y3YjgxY2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtNzUsNiArNzUs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgeyB9CisgICAgdmlydHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZUN1c3RvbVJlcHJlc2VudGF0
aW9uQ2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChi
b29sKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggMWNjOThhMTVlYjM0ZWYxZTU2YTMyMGQxMzlkMGU0NWYz
NGUwNzJhMi4uYmY5YjU5YjljMDZhY2IyY2M5M2U0OTg3ZWVjMzIwYTMwMzNiNGQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHAKQEAgLTIyMyw2ICsyMjMsMTUgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VP
dmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgc2V0TmVlZHNEaXNw
bGF5KHJlY3QpOwogfQogCitib29sIERyYXdpbmdBcmVhSW1wbDo6c2V0UGFnZU92ZXJsYXlPcGFj
aXR5KGZsb2F0IHZhbHVlKQoreworICAgIGlmIChtX2xheWVyVHJlZUhvc3QgJiYgbV9sYXllclRy
ZWVIb3N0LT5zZXRQYWdlT3ZlcmxheU9wYWNpdHkodmFsdWUpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpwYWdlQ3VzdG9tUmVwcmVzZW50YXRpb25D
aGFuZ2VkKCkKIHsKICAgICBpZiAoIW1fYWx3YXlzVXNlQ29tcG9zaXRpbmcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXgg
M2U3MTBkNDhkODY1N2UxODc1NmY0YWM2ZWE2M2YwYWY1MjNjY2EyOC4uMGQ2YmJiMzU3NGI3YTc5
ODJiZWQzNzhjOTljNTM2NzY2ZWRmYzU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNjEsNiArNjEsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZp
cnR1YWwgYm9vbCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpOwogCiAgICAgdmlydHVhbCB2
b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMDM0OWUyNGU3MWNhYzkyYWVh
NjE4NDQwNmE3NmFjNzVkODRkNzczMy4uNDlmMzc5NWM4MmQxODZlZDk0Nzk3NTQ1ZDZiYzI1NmVj
YzAyMTVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5
ZXJUcmVlSG9zdC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3Rh
bGxQYWdlT3ZlcmxheSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wg
c2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmly
dHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVJl
bmRlcmluZygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5jcHAKaW5kZXggYWEzMmI2YTA5NTUyZjkxOTZkY2I4NjlhMGMyOWQ2ODIyNjc1
MjYyNi4uNjFhZTA1NTdjM2ViNjE0NGFkNDBhYjcyYmE3ZGY4MTI4OTRkZjY4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0x
MjQsNyArMTI0LDYgQEAgYm9vbCBQYWdlT3ZlcmxheTo6bW91c2VFdmVudChjb25zdCBXZWJNb3Vz
ZUV2ZW50JiBtb3VzZUV2ZW50KQogCiB2b2lkIFBhZ2VPdmVybGF5OjpzdGFydEZhZGVJbkFuaW1h
dGlvbigpCiB7Ci0gICAgbV9mcmFjdGlvbkZhZGVkSW4gPSAwLjA7CiAgICAgbV9mYWRlQW5pbWF0
aW9uVHlwZSA9IEZhZGVJbkFuaW1hdGlvbjsKIAogICAgIHN0YXJ0RmFkZUFuaW1hdGlvbigpOwpA
QCAtMTMyLDcgKzEzMSw2IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUluQW5pbWF0aW9u
KCkKIAogdm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRGYWRlT3V0QW5pbWF0aW9uKCkKIHsKLSAgICBt
X2ZyYWN0aW9uRmFkZWRJbiA9IDEuMDsKICAgICBtX2ZhZGVBbmltYXRpb25UeXBlID0gRmFkZU91
dEFuaW1hdGlvbjsKIAogICAgIHN0YXJ0RmFkZUFuaW1hdGlvbigpOwpAQCAtMTU2LDggKzE1NCwx
MiBAQCB2b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgZG91
YmxlIHNpbmUgPSBzaW4ocGlPdmVyVHdvRmxvYXQgKiBhbmltYXRpb25Qcm9ncmVzcyk7CiAgICAg
ZmxvYXQgZmFkZUFuaW1hdGlvblZhbHVlID0gc2luZSAqIHNpbmU7CiAKLSAgICBtX2ZyYWN0aW9u
RmFkZWRJbiA9IChtX2ZhZGVBbmltYXRpb25UeXBlID09IEZhZGVJbkFuaW1hdGlvbikgPyBmYWRl
QW5pbWF0aW9uVmFsdWUgOiAxIC0gZmFkZUFuaW1hdGlvblZhbHVlOwotICAgIHNldE5lZWRzRGlz
cGxheSgpOworICAgIGZsb2F0IGZyYWN0aW9uRmFkZWRJbiA9IChtX2ZhZGVBbmltYXRpb25UeXBl
ID09IEZhZGVJbkFuaW1hdGlvbikgPyBmYWRlQW5pbWF0aW9uVmFsdWUgOiAxIC0gZmFkZUFuaW1h
dGlvblZhbHVlOworCisgICAgaWYgKCFtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnNldFBhZ2VP
dmVybGF5T3BhY2l0eShmcmFjdGlvbkZhZGVkSW4pKSB7CisgICAgICAgIG1fZnJhY3Rpb25GYWRl
ZEluID0gZnJhY3Rpb25GYWRlZEluOworICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICB9
CiAKICAgICBpZiAoYW5pbWF0aW9uUHJvZ3Jlc3MgPT0gMS4wKSB7CiAgICAgICAgIG1fZmFkZUFu
aW1hdGlvblRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKaW5kZXggYzA5NmM4ODRiODAyM2Vj
M2YwMDhmY2YwZTRiY2Q3N2ZlYjFiNDM2Yi4uYjMzYmFiNTE1NjJkYzQwYmEwNjI5ZTYxMzIxZmY1
YjRiNzQzOWE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKQEAgLTIxOSw2ICsyMTksMTQgQEAgdm9pZCBM
YXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIHJlY3QpCiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7CiB9CiAKK2Jvb2wgTGF5
ZXJUcmVlSG9zdFF0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQgdmFsdWUpCit7CisgICAg
QVNTRVJUKG1fcGFnZU92ZXJsYXlMYXllcik7CisgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXRP
cGFjaXR5KHZhbHVlKTsKKyAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogYm9vbCBMYXllclRyZWVIb3N0UXQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
CiB7CiAgICAgYm9vbCBkaWRTeW5jID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUo
KS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5oCmluZGV4IDA4ZjBlNjRiNzRiM2QxM2RjMWY0YmI2Zjc1YmJiNDFlZmZmMDU1OWYuLjBm
MTYzNzJjNmI3N2MxYTY3ZGVkMzRkMTQ5M2MyOWEwNDdkY2QzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKQEAg
LTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92
ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpOworICAgIHZpcnR1YWwgYm9vbCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQp
OwogCiAgICAgdmlydHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVkID0g
dHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5k
ZWQgPSBmYWxzZTsgc2NoZWR1bGVMYXllckZsdXNoKCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134549</attachid>
            <date>2012-03-29 04:48:30 -0700</date>
            <delta_ts>2012-04-11 05:30:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120329135210.patch</filename>
            <type>text/plain</type>
            <size>7309</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4MGJkNmEyOTU0ZDNi
ZTMxYjM3NjVkMzJiZmJkNTg5MDY3ZDU3ZC4uMTZiNWRiOTdlNGQxYjJjOWUyMWZkMzVkODBlYTRj
OTY1ZGY0ZDUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTI3ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgIChEcmF3aW5nQXJlYUltcGwpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OnNldFBhZ2VPdmVybGF5T3BhY2l0eSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFn
ZU92ZXJsYXk6OnNldE5lZWRzRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L3F0L0xheWVyVHJlZUhvc3RRdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RR
dDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oOgorICAgICAgICAoTGF5ZXJU
cmVlSG9zdFF0KToKKwogMjAxMi0wMy0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEltcGxlbWVudCBtaXNzaW5nIG1ldGhvZHMg
aW4gQ29va2llSmFyU291cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuaAppbmRleCBkY2JmODk5N2I0NzRjM2QwNmQ0MzEyNWQ3ZWZjODliYjU2NWM4
NjdmLi5lYTFkY2VlNDYxOWViOGQ4YmQwZmE5MDgwYWJhNTU4ODZmY2Q3MzgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtNzUsNiAr
NzUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JikgeyB9CisgICAgLy8gUmV0dXJuIGZhbHNlIGlmIGFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nIHNob3VsZCBub3QgYmUgdXNlZCBmb3Igb3ZlcmxheSBvcGFjaXR5LgorICAgIHZpcnR1YWwg
Ym9vbCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCB2b2lkIHBhZ2VDdXN0b21SZXByZXNlbnRhdGlvbkNoYW5nZWQoKSB7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4
IDFjYzk4YTE1ZWIzNGVmMWU1NmEzMjBkMTM5ZDBlNDVmMzRlMDcyYTIuLmJmOWI1OWI5YzA2YWNi
MmNjOTNlNDk4N2VlYzMyMGEzMDMzYjRkNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0yMjMsNiArMjIzLDE1
IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25z
dCBJbnRSZWN0JiByZWN0KQogICAgIHNldE5lZWRzRGlzcGxheShyZWN0KTsKIH0KIAorYm9vbCBE
cmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVybGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sKKyAg
ICBpZiAobV9sYXllclRyZWVIb3N0ICYmIG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZU92ZXJsYXlP
cGFjaXR5KHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJTeW5jKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIERyYXdpbmdB
cmVhSW1wbDo6cGFnZUN1c3RvbVJlcHJlc2VudGF0aW9uQ2hhbmdlZCgpCiB7CiAgICAgaWYgKCFt
X2Fsd2F5c1VzZUNvbXBvc2l0aW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCmluZGV4IDNlNzEwZDQ4ZDg2NTdlMTg3NTZmNGFj
NmVhNjNmMGFmNTIzY2NhMjguLjBkNmJiYjM1NzRiN2E3OTgyYmVkMzc4Yzk5YzUzNjc2NmVkZmM1
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBh
Z2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2V0UGFnZU92ZXJs
YXlPcGFjaXR5KGZsb2F0KTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0VuYWJsZWQo
Ym9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlSG9zdC5oCmluZGV4IDAzNDllMjRlNzFjYWM5MmFlYTYxODQ0MDZhNzZhYzc1ZDg0ZDc3MzMu
LjQ5ZjM3OTVjODJkMTg2ZWQ5NDc5NzU0NWQ2YmMyNTZlY2MwMjE1ZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaApAQCAtNzUsNiAr
NzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheSgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNldFBhZ2VPdmVybGF5T3BhY2l0eShm
bG9hdCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmlu
ZygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFh
MzJiNmEwOTU1MmY5MTk2ZGNiODY5YTBjMjlkNjgyMjY3NTI2MjYuLjYxYWUwNTU3YzNlYjYxNDRh
ZDQwYWI3MmJhN2RmODEyODk0ZGY2OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtMTI0LDcgKzEyNCw2IEBAIGJvb2wgUGFn
ZU92ZXJsYXk6Om1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCkKIAog
dm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRGYWRlSW5BbmltYXRpb24oKQogewotICAgIG1fZnJhY3Rp
b25GYWRlZEluID0gMC4wOwogICAgIG1fZmFkZUFuaW1hdGlvblR5cGUgPSBGYWRlSW5BbmltYXRp
b247CiAKICAgICBzdGFydEZhZGVBbmltYXRpb24oKTsKQEAgLTEzMiw3ICsxMzEsNiBAQCB2b2lk
IFBhZ2VPdmVybGF5OjpzdGFydEZhZGVJbkFuaW1hdGlvbigpCiAKIHZvaWQgUGFnZU92ZXJsYXk6
OnN0YXJ0RmFkZU91dEFuaW1hdGlvbigpCiB7Ci0gICAgbV9mcmFjdGlvbkZhZGVkSW4gPSAxLjA7
CiAgICAgbV9mYWRlQW5pbWF0aW9uVHlwZSA9IEZhZGVPdXRBbmltYXRpb247CiAKICAgICBzdGFy
dEZhZGVBbmltYXRpb24oKTsKQEAgLTE1Niw4ICsxNTQsMTIgQEAgdm9pZCBQYWdlT3ZlcmxheTo6
ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQogICAgIGRvdWJsZSBzaW5lID0gc2luKHBpT3ZlclR3
b0Zsb2F0ICogYW5pbWF0aW9uUHJvZ3Jlc3MpOwogICAgIGZsb2F0IGZhZGVBbmltYXRpb25WYWx1
ZSA9IHNpbmUgKiBzaW5lOwogCi0gICAgbV9mcmFjdGlvbkZhZGVkSW4gPSAobV9mYWRlQW5pbWF0
aW9uVHlwZSA9PSBGYWRlSW5BbmltYXRpb24pID8gZmFkZUFuaW1hdGlvblZhbHVlIDogMSAtIGZh
ZGVBbmltYXRpb25WYWx1ZTsKLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICBmbG9hdCBmcmFj
dGlvbkZhZGVkSW4gPSAobV9mYWRlQW5pbWF0aW9uVHlwZSA9PSBGYWRlSW5BbmltYXRpb24pID8g
ZmFkZUFuaW1hdGlvblZhbHVlIDogMSAtIGZhZGVBbmltYXRpb25WYWx1ZTsKKworICAgIGlmICgh
bV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQYWdlT3ZlcmxheU9wYWNpdHkoZnJhY3Rpb25G
YWRlZEluKSkgeworICAgICAgICBtX2ZyYWN0aW9uRmFkZWRJbiA9IGZyYWN0aW9uRmFkZWRJbjsK
KyAgICAgICAgc2V0TmVlZHNEaXNwbGF5KCk7CisgICAgfQogCiAgICAgaWYgKGFuaW1hdGlvblBy
b2dyZXNzID09IDEuMCkgewogICAgICAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdG9wKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVl
SG9zdFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuY3BwCmluZGV4IGMwOTZjODg0YjgwMjNlYzNmMDA4ZmNmMGU0YmNkNzdmZWIxYjQz
NmIuLmIzM2JhYjUxNTYyZGM0MGJhMDYyOWU2MTMyMWZmNWI0Yjc0MzlhODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0
UXQuY3BwCkBAIC0yMTksNiArMjE5LDE0IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFF0OjpzZXRQYWdl
T3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogICAgIHNj
aGVkdWxlTGF5ZXJGbHVzaCgpOwogfQogCitib29sIExheWVyVHJlZUhvc3RRdDo6c2V0UGFnZU92
ZXJsYXlPcGFjaXR5KGZsb2F0IHZhbHVlKQoreworICAgIEFTU0VSVChtX3BhZ2VPdmVybGF5TGF5
ZXIpOworICAgIG1fcGFnZU92ZXJsYXlMYXllci0+c2V0T3BhY2l0eSh2YWx1ZSk7CisgICAgc2No
ZWR1bGVMYXllckZsdXNoKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgTGF5ZXJUcmVl
SG9zdFF0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQogewogICAgIGJvb2wgZGlkU3luYyA9
IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+c3luY0NvbXBvc2l0
aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAppbmRleCAwOGYwZTY0Yjc0
YjNkMTNkYzFmNGJiNmY3NWJiYjQxZWZmZjA1NTlmLi4wZjE2MzcyYzZiNzdjMWE2N2RlZDM0ZDE0
OTNjMjlhMDQ3ZGNkMzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VP
dmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KTsKIAogICAgIHZpcnR1YWwgdm9pZCBw
YXVzZVJlbmRlcmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IHRydWU7IH0KICAgICB2aXJ0dWFsIHZv
aWQgcmVzdW1lUmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVkID0gZmFsc2U7IHNjaGVkdWxlTGF5
ZXJGbHVzaCgpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136661</attachid>
            <date>2012-04-11 05:30:58 -0700</date>
            <delta_ts>2012-04-11 06:00:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120411143509.patch</filename>
            <type>text/plain</type>
            <size>8374</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2IwZTRlMzFhMzk3NDZk
ZDUxODhjMTU0YmFhNjNiZTdkNTFmMzk2Mi4uZjIxY2Y3ODEzODU3YzBlNTU5NWY5NmE4N2Y3N2E4
NjcwNmM2ZDM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTExICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoRHJhd2luZ0FyZWEpOgorICAgICAgICAo
V2ViS2l0OjpEcmF3aW5nQXJlYTo6c2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6c2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5Q
YWludGluZyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaDoKKyAgICAgICAgKERyYXdpbmdBcmVhSW1wbCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdDo6c2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZyk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UGFnZU92ZXJsYXk6OmZhZGVBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlSG9zdFF0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0Lmg6CisgICAg
ICAgIChMYXllclRyZWVIb3N0UXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0UXQ6
OnNob3VsZEFwcGx5T3ZlcmxheUZhZGVXaGVuUGFpbnRpbmcpOgorCiAyMDEyLTA0LTEwICBQaGls
aXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPiBhbmQgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dLMl1bR1RLXSBGdWxsU2NyZWVu
IHNpZ25hbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmgKaW5kZXggYTZlMDY1NzhhMTk3NTJkZTM0NjJlNDc5ODUwNzVmODg4MDE4YWYyNi4uNDBi
NTQzYTc5ZGUxOTgxYzIxZjEyY2M4N2U5NzZiMTNjNTVmMGVlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTc1LDYgKzc1LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
IHsgfQorICAgIC8vIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBmYWxzZSwgUGFnZU92ZXJsYXkg
c2hvdWxkIGFwcGx5IG9wYWNpdHkgd2hlbiBwYWludGluZy4KKyAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZygpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcGFnZUN1c3RvbVJlcHJlc2VudGF0aW9uQ2hhbmdlZCgpIHsgfQogCiAgICAg
dmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXgg
ZjJjYzc0NzRiODdjOWNhM2E3ODFjY2NjZmExMGJmY2RmNzI3YzllZS4uNDg3OTQzODE4Y2Q5Nzc4
MDRkNzMyMjgyMThkZGY3NzM4ODUzZWQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTIyMyw2ICsyMjMsMTQg
QEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgc2V0TmVlZHNEaXNwbGF5KHJlY3QpOwogfQogCitib29sIERy
YXdpbmdBcmVhSW1wbDo6c2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZygpCit7Cisg
ICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCAmJiAhbV9sYXllclRyZWVIb3N0LT5zaG91bGRBcHBseU92
ZXJsYXlGYWRlV2hlblBhaW50aW5nKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6cGFnZUN1c3RvbVJlcHJlc2Vu
dGF0aW9uQ2hhbmdlZCgpCiB7CiAgICAgaWYgKCFtX2Fsd2F5c1VzZUNvbXBvc2l0aW5nKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5o
CmluZGV4IGRlNmVhMjY2ZDRhMzA2MmJmYzIyZjliNTljZjM5ZDE2MTQ3YjliMTQuLjE1ZDU3NjRm
YjBlNTA3ZmI3ZjY5NGJjM2VhM2U3ZTY4NWExZmNhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAgLTYxLDYgKzYxLDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2
b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsK
KyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZygpOwog
CiAgICAgdmlydHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMzA3
ZTA1NDc2ZTcxZTQyNTM1OTdjODhiZDFkNzY2MTg4ZWVmZjcxNi4uMWQzY2UzNjA1YTNlMmUwNWI4
OTc1MDc5YzhjNWVmMzU1YzNhMzdjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KSB7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQXBwbHlPdmVybGF5RmFkZVdoZW5QYWludGluZygpIHsgcmV0dXJuIHRy
dWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFhMzJiNmEwOTU1MmY5MTk2ZGNi
ODY5YTBjMjlkNjgyMjY3NTI2MjYuLjA0ZDEyZWIzODc5ZmZjNTRkNWU1YzJjYzFmMmVmYmJkNThj
NDVkNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdl
T3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VP
dmVybGF5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlBhZ2VPdmVybGF5LmgiCiAKKyNpbmNsdWRlICJMYXllclRyZWVIb3N0LmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0ZyYW1lLmg+CkBAIC0xNTcsNyArMTU4LDExIEBAIHZvaWQgUGFnZU92ZXJsYXk6OmZhZGVBbmlt
YXRpb25UaW1lckZpcmVkKCkKICAgICBmbG9hdCBmYWRlQW5pbWF0aW9uVmFsdWUgPSBzaW5lICog
c2luZTsKIAogICAgIG1fZnJhY3Rpb25GYWRlZEluID0gKG1fZmFkZUFuaW1hdGlvblR5cGUgPT0g
RmFkZUluQW5pbWF0aW9uKSA/IGZhZGVBbmltYXRpb25WYWx1ZSA6IDEgLSBmYWRlQW5pbWF0aW9u
VmFsdWU7Ci0gICAgc2V0TmVlZHNEaXNwbGF5KCk7CisKKyAgICBpZiAobV93ZWJQYWdlLT5kcmF3
aW5nQXJlYSgpLT5zaG91bGRBcHBseU92ZXJsYXlGYWRlV2hlblBhaW50aW5nKCkpCisgICAgICAg
IHNldE5lZWRzRGlzcGxheSgpOworICAgIGVsc2UKKyAgICAgICAgbV93ZWJQYWdlLT5kcmF3aW5n
QXJlYSgpLT5sYXllclRyZWVIb3N0KCktPnNldFBhZ2VPdmVybGF5T3BhY2l0eShtX2ZyYWN0aW9u
RmFkZWRJbik7CiAKICAgICBpZiAoYW5pbWF0aW9uUHJvZ3Jlc3MgPT0gMS4wKSB7CiAgICAgICAg
IG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAppbmRl
eCA3MjUzMjQ3MDM1ZDYyYzA1MGIzZDQ2YjRhOGU3ZjQ2MTI3ZjNjMzQ2Li5hNWQ5MmU1YTZkZmI2
MzZlOWVmYzg2MTViMmQ1MDQ1MzNlYjEzOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCkBA
IC0xMDIsMTEgKzEwMiwxMiBAQCB2b2lkIFRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0
KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgR3JhcGhpY3NDb250ZXh0JgogICAgIGlmIChtX3Bh
dGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCBmcmFjdGlvbkZhZGVk
SW4gPSBwYWdlT3ZlcmxheS0+ZnJhY3Rpb25GYWRlZEluKCk7Ci0KICAgICB7CiAgICAgICAgIEdy
YXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKLSAgICAgICAgY29u
dGV4dC5zZXRGaWxsQ29sb3IoaGlnaGxpZ2h0Q29sb3IobV9jb2xvciwgZnJhY3Rpb25GYWRlZElu
KSwgQ29sb3JTcGFjZVNSR0IpOworICAgICAgICBpZiAobV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgp
LT5zaG91bGRBcHBseU92ZXJsYXlGYWRlV2hlblBhaW50aW5nKCkpCisgICAgICAgICAgICBjb250
ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBwYWdlT3ZlcmxheS0+ZnJh
Y3Rpb25GYWRlZEluKCkpLCBDb2xvclNwYWNlU1JHQik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKG1fY29sb3IsIENvbG9yU3BhY2VTUkdCKTsKICAgICAg
ICAgY29udGV4dC5maWxsUGF0aChtX3BhdGgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKaW5k
ZXggMTNlYTk2YWFmYzliNWMyYmU1ZTRlYzU2ODY5OTc5ZTFmOWZiODU4ZS4uNTI2OWYwZjQ3N2Ri
ZjQ2ZjQ0MDRiM2QxYTk4Y2VlOTIyYTI2MTlkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5jcHAKQEAgLTIxNiw2
ICsyMTYsMTMgQEAgdm9pZCBMYXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNw
bGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCiAgICAgc2NoZWR1bGVMYXllckZsdXNo
KCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlSG9zdFF0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxv
YXQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlMYXllcik7CisgICAgbV9wYWdl
T3ZlcmxheUxheWVyLT5zZXRPcGFjaXR5KHZhbHVlKTsKKyAgICBzY2hlZHVsZUxheWVyRmx1c2go
KTsKK30KKwogYm9vbCBMYXllclRyZWVIb3N0UXQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
CiB7CiAgICAgYm9vbCBkaWRTeW5jID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUo
KS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5oCmluZGV4IDc5MTI4NDI0OWY3MTZiOWRiMGU5Y2U0MWM1NTRkM2MxZTE5ODJmNDQuLjA2
NmFhNGZlNDMxODBjODcyMTkxOTcyMmM5NGQwNDRiYWNiN2U5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKQEAg
LTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92
ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQp
OworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBcHBseU92ZXJsYXlGYWRlV2hlblBhaW50aW5nKCkg
eyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygpIHsg
bV9pc1N1c3BlbmRlZCA9IHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5n
KCkgeyBtX2lzU3VzcGVuZGVkID0gZmFsc2U7IHNjaGVkdWxlTGF5ZXJGbHVzaCgpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136663</attachid>
            <date>2012-04-11 06:00:22 -0700</date>
            <delta_ts>2012-04-26 05:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120411150433.patch</filename>
            <type>text/plain</type>
            <size>9764</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2IwZTRlMzFhMzk3NDZk
ZDUxODhjMTU0YmFhNjNiZTdkNTFmMzk2Mi4uNzcwZWNkYjAwYzQ3YTk4ZmI3YTY5M2ZmMTEzZGYy
ODExY2Q0NzJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTExICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWE6OnBhZ2VPdmVybGF5U2hvdWxkQXBwbHlGYWRlV2hlblBhaW50aW5n
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpwYWdl
T3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAoRHJhd2luZ0FyZWFJbXBsKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0OjpwYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWlu
dGluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktp
dDo6UGFnZU92ZXJsYXk6OnNldFBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6
ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6
ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0
UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5
T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RRdCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RRdDo6cGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVX
aGVuUGFpbnRpbmcpOgorCiAyMDEyLTA0LTEwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBp
Z2FsaWEuY29tPiBhbmQgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW1dLMl1bR1RLXSBGdWxsU2NyZWVuIHNpZ25hbHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggYTZlMDY1NzhhMTk3
NTJkZTM0NjJlNDc5ODUwNzVmODg4MDE4YWYyNi4uNjkyYTA0MmQ4MzEzY2ZiNzc3MDcyYzdlNjlk
MzNkYzdiOTdlZmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhLmgKQEAgLTc1LDYgKzc1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0
YWxsUGFnZU92ZXJsYXkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVk
c0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBz
ZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpIHsgfQorICAgIC8vIElmIHRoaXMgZnVuY3Rpb24g
cmV0dXJucyBmYWxzZSwgUGFnZU92ZXJsYXkgc2hvdWxkIGFwcGx5IG9wYWNpdHkgd2hlbiBwYWlu
dGluZy4KKyAgICB2aXJ0dWFsIGJvb2wgcGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFp
bnRpbmcoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VDdXN0b21SZXBy
ZXNlbnRhdGlvbkNoYW5nZWQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWludGluZ0Vu
YWJsZWQoYm9vbCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IGYyY2M3NDc0Yjg3YzljYTNhNzgxY2NjY2Zh
MTBiZmNkZjcyN2M5ZWUuLjJkMzIxZmYyZTUxMzA4MGQ0MWY0NDM0ZTE2NmI5OWU4ZTFmODc5ZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCkBAIC0yMjMsNiArMjIzLDIwIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpz
ZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIHNldE5l
ZWRzRGlzcGxheShyZWN0KTsKIH0KIAordm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldFBhZ2VPdmVy
bGF5T3BhY2l0eShmbG9hdCB2YWx1ZSkKK3sKKyAgICBpZiAobV9sYXllclRyZWVIb3N0KQorICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFBhZ2VPdmVybGF5T3BhY2l0eSh2YWx1ZSk7Cit9CisK
K2Jvb2wgRHJhd2luZ0FyZWFJbXBsOjpwYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWlu
dGluZygpCit7CisgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdCAmJiAhbV9sYXllclRyZWVIb3N0LT5w
YWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZygpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBEcmF3aW5nQXJlYUltcGw6OnBh
Z2VDdXN0b21SZXByZXNlbnRhdGlvbkNoYW5nZWQoKQogewogICAgIGlmICghbV9hbHdheXNVc2VD
b21wb3NpdGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuaAppbmRleCBkZTZlYTI2NmQ0YTMwNjJiZmMyMmY5YjU5Y2YzOWQxNjE0
N2I5YjE0Li5kNDc4ZTZhMzRlMTRlMzNiYzM3MjZhMjljNzBmZTE3NmU1YzE3ZDEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5o
CkBAIC02MSw2ICs2MSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQ
YWdlT3ZlcmxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3ZlcmxheSgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJD
b3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5T3BhY2l0eShm
bG9hdCk7CisgICAgdmlydHVhbCBib29sIHBhZ2VPdmVybGF5U2hvdWxkQXBwbHlGYWRlV2hlblBh
aW50aW5nKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFpbnRpbmdFbmFibGVkKGJvb2wpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVl
SG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aAppbmRleCAzMDdlMDU0NzZlNzFlNDI1MzU5N2M4OGJkMWQ3NjYxODhlZWZmNzE2Li5iOTA5MGQ3
OTgxMTNkN2M3MTIyZjQ1MTI0YTFjZDFjOTQ2NmY0MWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTc1LDYgKzc1LDggQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpIHsg
fQorICAgIHZpcnR1YWwgYm9vbCBwYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGlu
ZygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXVzZVJlbmRlcmluZygp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVSZW5kZXJpbmcoKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGFhMzJi
NmEwOTU1MmY5MTk2ZGNiODY5YTBjMjlkNjgyMjY3NTI2MjYuLjFhMGYzYzYzZDNkZGI0MDcyOTQz
NTZjMjA1MTIyYmU1OWEzNzc3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtNTQsNiArNTQsNyBAQCBQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXkoQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2ZhZGVBbmltYXRpb25EdXJhdGlv
bihmYWRlQW5pbWF0aW9uRHVyYXRpb24pCiAgICAgLCBtX2ZhZGVBbmltYXRpb25UeXBlKE5vQW5p
bWF0aW9uKQogICAgICwgbV9mcmFjdGlvbkZhZGVkSW4oMS4wKQorICAgICwgbV9wYWdlT3Zlcmxh
eVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZyh0cnVlKQogewogfQogCkBAIC04Myw2ICs4NCw5
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnNldFBhZ2UoV2ViUGFnZSogd2ViUGFnZSkKICAgICBtX3dl
YlBhZ2UgPSB3ZWJQYWdlOwogICAgIG1fY2xpZW50LT5kaWRNb3ZlVG9XZWJQYWdlKHRoaXMsIHdl
YlBhZ2UpOwogCisgICAgaWYgKG1fd2ViUGFnZSkKKyAgICAgICAgbV9wYWdlT3ZlcmxheVNob3Vs
ZEFwcGx5RmFkZVdoZW5QYWludGluZyA9IG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+cGFnZU92
ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFpbnRpbmcoKTsKKwogICAgIG1fZmFkZUFuaW1hdGlv
blRpbWVyLnN0b3AoKTsKIH0KIApAQCAtMTU3LDcgKzE2MSwxMSBAQCB2b2lkIFBhZ2VPdmVybGF5
OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgZmxvYXQgZmFkZUFuaW1hdGlvblZhbHVl
ID0gc2luZSAqIHNpbmU7CiAKICAgICBtX2ZyYWN0aW9uRmFkZWRJbiA9IChtX2ZhZGVBbmltYXRp
b25UeXBlID09IEZhZGVJbkFuaW1hdGlvbikgPyBmYWRlQW5pbWF0aW9uVmFsdWUgOiAxIC0gZmFk
ZUFuaW1hdGlvblZhbHVlOwotICAgIHNldE5lZWRzRGlzcGxheSgpOworCisgICAgaWYgKG1fcGFn
ZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFpbnRpbmcpCisgICAgICAgIHNldE5lZWRzRGlz
cGxheSgpOworICAgIGVsc2UKKyAgICAgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zZXRQ
YWdlT3ZlcmxheU9wYWNpdHkobV9mcmFjdGlvbkZhZGVkSW4pOwogCiAgICAgaWYgKGFuaW1hdGlv
blByb2dyZXNzID09IDEuMCkgewogICAgICAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdG9wKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJs
YXkuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oCmlu
ZGV4IDk0OTc2NzgwNmYyNzQzM2MxNDM2M2U2MTIxZWIzOGZjODc2NWFjZDAuLmUyNDM0ODA3ZjBk
MTkzZTRiNmNkODRjMDQwNWY3NThlYWM3OTVkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oCkBAIC05OCw2ICs5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBGYWRlQW5pbWF0aW9uVHlwZSBtX2ZhZGVBbmltYXRpb25UeXBlOwogICAgIGZsb2F0
IG1fZnJhY3Rpb25GYWRlZEluOworICAgIGJvb2wgbV9wYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFk
ZVdoZW5QYWludGluZzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRy
b2xsZXIuY3BwCmluZGV4IDcyNTMyNDcwMzVkNjJjMDUwYjNkNDZiNGE4ZTdmNDYxMjdmM2MzNDYu
LjgyYWYwMWQ3M2Q4NDhlZTMzOWFkMzAyZjNhNGI4NDEzZjgyYzA4ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29u
dHJvbGxlci5jcHAKQEAgLTEwMiwxMSArMTAyLDEyIEBAIHZvaWQgVGFwSGlnaGxpZ2h0Q29udHJv
bGxlcjo6ZHJhd1JlY3QoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5LCBHcmFwaGljc0NvbnRleHQm
CiAgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0
IGZyYWN0aW9uRmFkZWRJbiA9IHBhZ2VPdmVybGF5LT5mcmFjdGlvbkZhZGVkSW4oKTsKLQogICAg
IHsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQp
OwotICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9yLCBm
cmFjdGlvbkZhZGVkSW4pLCBDb2xvclNwYWNlU1JHQik7CisgICAgICAgIGlmIChtX3dlYlBhZ2Ut
PmRyYXdpbmdBcmVhKCktPnBhZ2VPdmVybGF5U2hvdWxkQXBwbHlGYWRlV2hlblBhaW50aW5nKCkp
CisgICAgICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihoaWdobGlnaHRDb2xvcihtX2NvbG9y
LCBwYWdlT3ZlcmxheS0+ZnJhY3Rpb25GYWRlZEluKCkpLCBDb2xvclNwYWNlU1JHQik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKG1fY29sb3IsIENvbG9y
U3BhY2VTUkdCKTsKICAgICAgICAgY29udGV4dC5maWxsUGF0aChtX3BhdGgpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVy
VHJlZUhvc3RRdC5jcHAKaW5kZXggMTNlYTk2YWFmYzliNWMyYmU1ZTRlYzU2ODY5OTc5ZTFmOWZi
ODU4ZS4uNTI2OWYwZjQ3N2RiZjQ2ZjQ0MDRiM2QxYTk4Y2VlOTIyYTI2MTlkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhv
c3RRdC5jcHAKQEAgLTIxNiw2ICsyMTYsMTMgQEAgdm9pZCBMYXllclRyZWVIb3N0UXQ6OnNldFBh
Z2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCiAgICAg
c2NoZWR1bGVMYXllckZsdXNoKCk7CiB9CiAKK3ZvaWQgTGF5ZXJUcmVlSG9zdFF0OjpzZXRQYWdl
T3ZlcmxheU9wYWNpdHkoZmxvYXQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fcGFnZU92ZXJsYXlM
YXllcik7CisgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXRPcGFjaXR5KHZhbHVlKTsKKyAgICBz
Y2hlZHVsZUxheWVyRmx1c2goKTsKK30KKwogYm9vbCBMYXllclRyZWVIb3N0UXQ6OmZsdXNoUGVu
ZGluZ0xheWVyQ2hhbmdlcygpCiB7CiAgICAgYm9vbCBkaWRTeW5jID0gbV93ZWJQYWdlLT5jb3Jl
UGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT5zeW5jQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGlu
Z1N1YmZyYW1lcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3F0L0xheWVyVHJlZUhvc3RRdC5oCmluZGV4IDc5MTI4NDI0OWY3MTZiOWRiMGU5Y2U0MWM1
NTRkM2MxZTE5ODJmNDQuLjgyMWU1NzhjZTg3ZmU0MzA1MDdmNDQ0YzI1ZDlhNDhlNmFmOGU0Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5
ZXJUcmVlSG9zdFF0LmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVW5pbnN0YWxs
UGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3Bs
YXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zl
cmxheU9wYWNpdHkoZmxvYXQpOworICAgIHZpcnR1YWwgYm9vbCBwYWdlT3ZlcmxheVNob3VsZEFw
cGx5RmFkZVdoZW5QYWludGluZygpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgcGF1c2VSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQgPSB0cnVlOyB9CiAgICAgdmlydHVh
bCB2b2lkIHJlc3VtZVJlbmRlcmluZygpIHsgbV9pc1N1c3BlbmRlZCA9IGZhbHNlOyBzY2hlZHVs
ZUxheWVyRmx1c2goKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138983</attachid>
            <date>2012-04-26 05:49:15 -0700</date>
            <delta_ts>2012-04-26 07:05:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82336-20120426145403.patch</filename>
            <type>text/plain</type>
            <size>9756</size>
            <attacher name="Lars Knudsen">larsgk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzVjZDdiZTU5NGE3Mzk5
N2Y3ODIxNzQ0YTc3NzhhMzg5ZTllOTBkYy4uMjE3NzZjZWExOWE1ZTI0M2IyZGI1MzcxNjkwMWVj
N2QwODRkMzdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTI2ICBMYXJz
IEtudWRzZW4gIDxsYXJzLmtudWRzZW5Abm9raWEuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdXNlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBwYWdlIG92ZXJsYXkgZmFk
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjMz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgorCisgICAgICAgIFBhZ2Ug
b3ZlcmxheSBmYWRpbmcgd2lsbCB1c2UgQUMgd2hlcmUgcG9zc2libGUuICBPdGhlcndpc2UsIGl0
IHdpbGwKKyAgICAgICAgZmFsbCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtZXRob2Qgb2YgcmVkcmF3
aW5nIGVhY2ggZnJhbWUgaW4gdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0
UGFnZU92ZXJsYXlPcGFjaXR5KToKKyAgICAgICAgKERyYXdpbmdBcmVhKToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWE6OnBhZ2VPdmVybGF5U2hvdWxkQXBwbHlGYWRlV2hlblBhaW50aW5n
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpwYWdl
T3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAgICAgICAoRHJhd2luZ0FyZWFJbXBsKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0OjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkpOgorICAgICAgICAo
V2ViS2l0OjpMYXllclRyZWVIb3N0OjpwYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWlu
dGluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5KToKKyAgICAgICAgKFdlYktp
dDo6UGFnZU92ZXJsYXk6OnNldFBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheTo6
ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Q
YWdlT3ZlcmxheS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VGFwSGlnaGxpZ2h0Q29udHJvbGxlcjo6
ZHJhd1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0
UXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0UXQ6OnNldFBhZ2VPdmVybGF5
T3BhY2l0eSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9xdC9MYXllclRyZWVIb3N0UXQuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RRdCk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RRdDo6cGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVX
aGVuUGFpbnRpbmcpOgorCiAyMDEyLTA0LTI2ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFoZkAweDkw
LmRrPgogCiAgICAgICAgIFtRdF0gcjExNTMwMCBicm9rZSB0aGUgUXQgYnVpbGQgb24gTWFjIE9T
IFguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5o
CmluZGV4IGE2ZTA2NTc4YTE5NzUyZGUzNDYyZTQ3OTg1MDc1Zjg4ODAxOGFmMjYuLmVjZDdkOWE1
YTM1ZjNmNTIxYTI3YThjZDFlMzc0MzNhMzcwM2FjODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC03NSw2ICs3NSw5IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KSB7IH0KKyAgICAv
LyBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgZmFsc2UsIFBhZ2VPdmVybGF5IHNob3VsZCBhcHBs
eSBvcGFjaXR5IHdoZW4gcGFpbnRpbmcuCisgICAgdmlydHVhbCBib29sIHBhZ2VPdmVybGF5U2hv
dWxkQXBwbHlGYWRlV2hlblBhaW50aW5nKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBwYWdlQ3VzdG9tUmVwcmVzZW50YXRpb25DaGFuZ2VkKCkgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgc2V0UGFpbnRpbmdFbmFibGVkKGJvb2wpIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCBm
MmNjNzQ3NGI4N2M5Y2EzYTc4MWNjY2NmYTEwYmZjZGY3MjdjOWVlLi5kNzEwZTk5ZWNlMGZhMWZi
YzQ3YmI5NTlhMzg5NGEwMGFjYTRkMTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtMjIzLDYgKzIyMywyMCBA
QCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2V0UGFnZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3Qg
SW50UmVjdCYgcmVjdCkKICAgICBzZXROZWVkc0Rpc3BsYXkocmVjdCk7CiB9CiAKK3ZvaWQgRHJh
d2luZ0FyZWFJbXBsOjpzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQgdmFsdWUpCit7CisgICAg
aWYgKG1fbGF5ZXJUcmVlSG9zdCkKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXRQYWdlT3Zl
cmxheU9wYWNpdHkodmFsdWUpOworfQorCitib29sIERyYXdpbmdBcmVhSW1wbDo6cGFnZU92ZXJs
YXlTaG91bGRBcHBseUZhZGVXaGVuUGFpbnRpbmcoKSBjb25zdAoreworICAgIGlmIChtX2xheWVy
VHJlZUhvc3QgJiYgIW1fbGF5ZXJUcmVlSG9zdC0+cGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVX
aGVuUGFpbnRpbmcoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpwYWdlQ3VzdG9tUmVwcmVzZW50YXRpb25DaGFu
Z2VkKCkKIHsKICAgICBpZiAoIW1fYWx3YXlzVXNlQ29tcG9zaXRpbmcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggZGU2
ZWEyNjZkNGEzMDYyYmZjMjJmOWI1OWNmMzlkMTYxNDdiOWIxNC4uMzlkMDUxNWI1MzA0ZDg3YjIw
YzcxZDc4MWI5M2Y0M2FlYTc4NGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNjEsNiArNjEsOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFn
ZU92ZXJsYXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1
YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoZmxvYXQpOworICAgIHZpcnR1YWwgYm9vbCBw
YWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZygpIGNvbnN0OwogCiAgICAgdmly
dHVhbCB2b2lkIHNldFBhaW50aW5nRW5hYmxlZChib29sKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMzA3ZTA1NDc2ZTcx
ZTQyNTM1OTdjODhiZDFkNzY2MTg4ZWVmZjcxNi4uZTUwM2MyMzcxNmVkODk3ZmFmYjViY2IwNDFl
NDhiZDc0MzViODgzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRV
bmluc3RhbGxQYWdlT3ZlcmxheSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJs
YXlOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZsb2F0KSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
cGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFpbnRpbmcoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmcoKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBhYTMyYjZhMDk1NTJmOTE5NmRj
Yjg2OWEwYzI5ZDY4MjI2NzUyNjI2Li4xYTBmM2M2M2QzZGRiNDA3Mjk0MzU2YzIwNTEyMmJlNTlh
Mzc3N2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFn
ZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdl
T3ZlcmxheS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5KENs
aWVudCogY2xpZW50KQogICAgICwgbV9mYWRlQW5pbWF0aW9uRHVyYXRpb24oZmFkZUFuaW1hdGlv
bkR1cmF0aW9uKQogICAgICwgbV9mYWRlQW5pbWF0aW9uVHlwZShOb0FuaW1hdGlvbikKICAgICAs
IG1fZnJhY3Rpb25GYWRlZEluKDEuMCkKKyAgICAsIG1fcGFnZU92ZXJsYXlTaG91bGRBcHBseUZh
ZGVXaGVuUGFpbnRpbmcodHJ1ZSkKIHsKIH0KIApAQCAtODMsNiArODQsOSBAQCB2b2lkIFBhZ2VP
dmVybGF5OjpzZXRQYWdlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgbV93ZWJQYWdlID0gd2ViUGFn
ZTsKICAgICBtX2NsaWVudC0+ZGlkTW92ZVRvV2ViUGFnZSh0aGlzLCB3ZWJQYWdlKTsKIAorICAg
IGlmIChtX3dlYlBhZ2UpCisgICAgICAgIG1fcGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVu
UGFpbnRpbmcgPSBtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPnBhZ2VPdmVybGF5U2hvdWxkQXBw
bHlGYWRlV2hlblBhaW50aW5nKCk7CisKICAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdG9wKCk7
CiB9CiAKQEAgLTE1Nyw3ICsxNjEsMTEgQEAgdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlv
blRpbWVyRmlyZWQoKQogICAgIGZsb2F0IGZhZGVBbmltYXRpb25WYWx1ZSA9IHNpbmUgKiBzaW5l
OwogCiAgICAgbV9mcmFjdGlvbkZhZGVkSW4gPSAobV9mYWRlQW5pbWF0aW9uVHlwZSA9PSBGYWRl
SW5BbmltYXRpb24pID8gZmFkZUFuaW1hdGlvblZhbHVlIDogMSAtIGZhZGVBbmltYXRpb25WYWx1
ZTsKLSAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKworICAgIGlmIChtX3BhZ2VPdmVybGF5U2hvdWxk
QXBwbHlGYWRlV2hlblBhaW50aW5nKQorICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICBl
bHNlCisgICAgICAgIG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0UGFnZU92ZXJsYXlPcGFj
aXR5KG1fZnJhY3Rpb25GYWRlZEluKTsKIAogICAgIGlmIChhbmltYXRpb25Qcm9ncmVzcyA9PSAx
LjApIHsKICAgICAgICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RvcCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuaAppbmRleCA5NDk3Njc4MDZm
Mjc0MzNjMTQzNjNlNjEyMWViMzhmYzg3NjVhY2QwLi5lMjQzNDgwN2YwZDE5M2U0YjZjZDg0YzA0
MDVmNzU4ZWFjNzk1ZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvUGFnZU92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvUGFnZU92ZXJsYXkuaApAQCAtOTgsNiArOTgsNyBAQCBwcml2YXRlOgogCiAgICAgRmFkZUFu
aW1hdGlvblR5cGUgbV9mYWRlQW5pbWF0aW9uVHlwZTsKICAgICBmbG9hdCBtX2ZyYWN0aW9uRmFk
ZWRJbjsKKyAgICBib29sIG1fcGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFpbnRpbmc7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAppbmRl
eCA3MjUzMjQ3MDM1ZDYyYzA1MGIzZDQ2YjRhOGU3ZjQ2MTI3ZjNjMzQ2Li44MmFmMDFkNzNkODQ4
ZWUzMzlhZDMwMmYzYTRiODQxM2Y4MmMwOGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCkBA
IC0xMDIsMTEgKzEwMiwxMiBAQCB2b2lkIFRhcEhpZ2hsaWdodENvbnRyb2xsZXI6OmRyYXdSZWN0
KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgR3JhcGhpY3NDb250ZXh0JgogICAgIGlmIChtX3Bh
dGguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCBmcmFjdGlvbkZhZGVk
SW4gPSBwYWdlT3ZlcmxheS0+ZnJhY3Rpb25GYWRlZEluKCk7Ci0KICAgICB7CiAgICAgICAgIEdy
YXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKLSAgICAgICAgY29u
dGV4dC5zZXRGaWxsQ29sb3IoaGlnaGxpZ2h0Q29sb3IobV9jb2xvciwgZnJhY3Rpb25GYWRlZElu
KSwgQ29sb3JTcGFjZVNSR0IpOworICAgICAgICBpZiAobV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgp
LT5wYWdlT3ZlcmxheVNob3VsZEFwcGx5RmFkZVdoZW5QYWludGluZygpKQorICAgICAgICAgICAg
Y29udGV4dC5zZXRGaWxsQ29sb3IoaGlnaGxpZ2h0Q29sb3IobV9jb2xvciwgcGFnZU92ZXJsYXkt
PmZyYWN0aW9uRmFkZWRJbigpKSwgQ29sb3JTcGFjZVNSR0IpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihtX2NvbG9yLCBDb2xvclNwYWNlU1JHQik7CiAg
ICAgICAgIGNvbnRleHQuZmlsbFBhdGgobV9wYXRoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3Bw
CmluZGV4IDliYzAyNTYzZjExNTg2YzFmNjEzZWRiMWIwN2QwODUyOTgwMzM0MTAuLmFiMTIwY2Q1
MDVjZDY2MWI1OWVmNDkzMjE3NGI3ZWY4ZDg1YmRkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRyZWVIb3N0UXQuY3BwCkBAIC0y
MjIsNiArMjIyLDEzIEBAIHZvaWQgTGF5ZXJUcmVlSG9zdFF0OjpzZXRQYWdlT3ZlcmxheU5lZWRz
RGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogICAgIHNjaGVkdWxlTGF5ZXJG
bHVzaCgpOwogfQogCit2b2lkIExheWVyVHJlZUhvc3RRdDo6c2V0UGFnZU92ZXJsYXlPcGFjaXR5
KGZsb2F0IHZhbHVlKQoreworICAgIEFTU0VSVChtX3BhZ2VPdmVybGF5TGF5ZXIpOworICAgIG1f
cGFnZU92ZXJsYXlMYXllci0+c2V0T3BhY2l0eSh2YWx1ZSk7CisgICAgc2NoZWR1bGVMYXllckZs
dXNoKCk7Cit9CisKIGJvb2wgTGF5ZXJUcmVlSG9zdFF0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMoKQogewogICAgIGJvb2wgZGlkU3luYyA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZy
YW1lKCktPnZpZXcoKS0+c3luY0NvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9MYXllclRy
ZWVIb3N0UXQuaAppbmRleCBiOWY3NGVlNDZlYTFmMmQ0NzU4NzI3YTdjZmIxODkzODc1MmE4ZjZi
Li5lMzk0OTBhYjFkMzNiYzc4N2NjMTkxN2ViZGMzY2E3NWE1ODg5NmFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvTGF5ZXJUcmVlSG9zdFF0LmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L0xheWVyVHJlZUhvc3RRdC5o
CkBAIC01Nyw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBh
Z2VPdmVybGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVybGF5KCk7
CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KGZs
b2F0KTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFnZU92ZXJsYXlTaG91bGRBcHBseUZhZGVXaGVuUGFp
bnRpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdXNl
UmVuZGVyaW5nKCkgeyBtX2lzU3VzcGVuZGVkID0gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBy
ZXN1bWVSZW5kZXJpbmcoKSB7IG1faXNTdXNwZW5kZWQgPSBmYWxzZTsgc2NoZWR1bGVMYXllckZs
dXNoKCk7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>