<?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>29241</bug_id>
          
          <creation_ts>2009-09-14 04:55:09 -0700</creation_ts>
          <short_desc>Hiding a focused element should unfocus it and fire a blur event</short_desc>
          <delta_ts>2020-10-02 12:48:56 -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>DOM</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=40338</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=216418</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=217240</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>121727</dependson>
    
    <dependson>133196</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgenii Schepotiev">evgenii.schepotiev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a.bah</cc>
    
    <cc>ap</cc>
    
    <cc>ararunprasad</cc>
    
    <cc>arurajku</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>syoichi</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>147037</commentid>
    <comment_count>0</comment_count>
    <who name="Evgenii Schepotiev">evgenii.schepotiev</who>
    <bug_when>2009-09-14 04:55:09 -0700</bug_when>
    <thetext>1. Try to focus on HTMLInput element
2. Than hide it for example with js
3. You can still type in it &amp; focus is still there

In DOM spec you should blur input.

Sincerely yours, YouTrack Team
http://www.jetbrains.com/youtrack/index.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922521</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-29 10:16:24 -0700</bug_when>
    <thetext>*** Bug 120273 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922525</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-29 10:21:28 -0700</bug_when>
    <thetext>(In reply to comment #8 in bug 120273)
&gt; I tried using updateFocusAppearance timer, but Document::updateFocusAppearanceTimerFired calls Document::updateLayout, from Document::updateLayout() again we are scheduling a timer. It cases  above 2 functions being called repeatedly.

Please explain in more detail why the two functions are called repeatedly. I’d assume that after the first time there would no longer be a focused element, so there would be no repeated call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923053</commentid>
    <comment_count>3</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-30 10:28:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #8 in bug 120273)
&gt; &gt; I tried using updateFocusAppearance timer, but Document::updateFocusAppearanceTimerFired calls Document::updateLayout, from Document::updateLayout() again we are scheduling a timer. It cases  above 2 functions being called repeatedly.
&gt; 
&gt; Please explain in more detail why the two functions are called repeatedly. I’d assume that after the first time there would no longer be a focused element, so there would be no repeated call.


void Document::updateFocusAppearanceTimerFired(Timer&lt;Document&gt;*)
{
    Element* element = focusedElement();
    if (!element)
        return;

    updateLayout();
&gt;&gt; From this timer callback Document::updateLayout is called before resetting the focus. Again from Document::updateLayout() updateFocusAppearance timer will be scheduled.

    if (element-&gt;isFocusable())
        element-&gt;updateFocusAppearance(m_updateFocusAppearanceRestoresSelection);
    else
        setFocusedElement(0);

&gt;&gt; I&apos;m don&apos;t think calling a updateLayout() from this statement is good idea.
}

Also once the Element is hidden using &quot;display: none&quot;, from the rendererObject detach Document::cancelFocusAppearanceUpdate() is been called, which stops the updateFocusAppearance timer.(so we can&apos;t reuse updateFocusAppearance timer anyway)

What I&apos;m currently trying is scheduling a separate timer from Document::cancelFocusAppearanceUpdate() to reset the focus. It works fine for &quot;display: none&quot;, but not for &quot;visibility:hidden&quot;. I&apos;m trying to make it work for &quot;visibility: hidden&quot; and &quot;width:0px&quot; || &quot;height: 0px&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923200</commentid>
    <comment_count>4</comment_count>
      <attachid>210164</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-30 14:54:38 -0700</bug_when>
    <thetext>Created attachment 210164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923202</commentid>
    <comment_count>5</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-30 14:57:28 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=210164) [details]
&gt; Patch

Chrome is not passing the modified test-case.(i.e setting display:none,visibility:hidden via timer).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923211</commentid>
    <comment_count>6</comment_count>
      <attachid>210164</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-30 15:20:05 -0700</bug_when>
    <thetext>Comment on attachment 210164
Patch

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

I’m going to say review+, but I don’t think this is 100% right.

&gt; Source/WebCore/dom/Document.cpp:1829
&gt; +    // Style change may reset the focus, e.g. display: none, visibility: hidden.
&gt; +    if (!m_resetHiddenFocusElementTimer.isActive())
&gt; +        m_resetHiddenFocusElementTimer.startOneShot(0);

I’m not sure this is the right place to hook this in.

For one thing, this function doesn’t always update style, so it’s strange to unconditionally set this timer every time.

For another, layout changes could also have an effect, so I don’t understand why having it only in the updateStyleIfNeeded function is sufficient.

This should go in the right place, not just a place that happens to work. We should think about exactly what can affect isFocusable and put this in the one or more bottleneck functions that cover all of those things, but not set up the timer if if there is no focused element or no actual change.

&gt; Source/WebCore/dom/Document.cpp:4714
&gt; +    Element* element = focusedElement();
&gt; +    if (!element)
&gt; +        return;
&gt; +
&gt; +    if (!element-&gt;isFocusable())
&gt; +        setFocusedElement(0);

It’s a little strange to use early return for the case of no focused element, but use a nested if statement for the “is still focusable” element. It could and should just be all one if statement. Also, within the class I think it’s better to use the data member rather than a public function.

    if (m_focusedElement &amp;&amp; !m_focusedElement-&gt;isFocusable())
        setFocusedElement(0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923257</commentid>
    <comment_count>7</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-30 23:43:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 210164 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=210164&amp;action=review
&gt; 
&gt; I’m going to say review+, but I don’t think this is 100% right.
&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:1829
&gt; &gt; +    // Style change may reset the focus, e.g. display: none, visibility: hidden.
&gt; &gt; +    if (!m_resetHiddenFocusElementTimer.isActive())
&gt; &gt; +        m_resetHiddenFocusElementTimer.startOneShot(0);
&gt; 
&gt; I’m not sure this is the right place to hook this in.
Initially I felt Document::cancelFocusAppearanceUpdate() was the right place, But unfortunately it wasn&apos;t called for &quot;visibility:hidden&quot;. I will try to find-out the possibilities to call Document::cancelFocusAppearanceUpdate() from appropriate place to satisfy the &quot;visibility: hidden&quot; case. Once it is done, we can start a timer to reset a focus from Document::cancelFocusAppearanceUpdate().

&gt; 
&gt; For one thing, this function doesn’t always update style, so it’s strange to unconditionally set this timer every time.
&gt; 
&gt; For another, layout changes could also have an effect, so I don’t understand why having it only in the updateStyleIfNeeded function is sufficient.
I&apos;m not sure t how layout could affect the focus state, do you mean setting width:0px || height:0px to an element should unfocus it?

&gt; 
&gt; This should go in the right place, not just a place that happens to work. We should think about exactly what can affect isFocusable and put this in the one or more bottleneck functions that cover all of those things, but not set up the timer if if there is no focused element or no actual change.
Definitely. As mentioned earlier, I will try to call Document::cancelFocusAppearanceUpdate() for &quot;visibility:hidden&quot; also.
&gt; 
&gt; &gt; Source/WebCore/dom/Document.cpp:4714
&gt; &gt; +    Element* element = focusedElement();
&gt; &gt; +    if (!element)
&gt; &gt; +        return;
&gt; &gt; +
&gt; &gt; +    if (!element-&gt;isFocusable())
&gt; &gt; +        setFocusedElement(0);
&gt; 
&gt; It’s a little strange to use early return for the case of no focused element, but use a nested if statement for the “is still focusable” element. It could and should just be all one if statement. Also, within the class I think it’s better to use the data member rather than a public function.
&gt; 
&gt;     if (m_focusedElement &amp;&amp; !m_focusedElement-&gt;isFocusable())
&gt;         setFocusedElement(0);

Sure, I will change this :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923298</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-31 08:21:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I&apos;m not sure t how layout could affect the focus state, do you mean setting width:0px || height:0px to an element should unfocus it?

Read HTMLFormControlElement::isFocusable, for example. It checks the renderer’s size. I am not an expressing an opinion about whether it should do that or not. But it does. And if we haven’t done layout, we can’t check a renderer’s size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923299</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-31 08:24:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Initially I felt Document::cancelFocusAppearanceUpdate() was the right place

I don’t think that is the right place, and I am not sure why you do.

&gt; &gt; This should go in the right place, not just a place that happens to work. We should think about exactly what can affect isFocusable and put this in the one or more bottleneck functions that cover all of those things, but not set up the timer if if there is no focused element or no actual change.
&gt; Definitely. As mentioned earlier, I will try to call Document::cancelFocusAppearanceUpdate() for &quot;visibility:hidden&quot; also.

This new logic needs to run any time we possibly changed what isFocusable will return for the focused element.

I’m don’t think that cancelFocusAppearanceUpdate needs to be called in those same places, though. We don’t just want to cancel that timer because something might have changed. I don’t think you’re on the right track here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923300</commentid>
    <comment_count>10</comment_count>
      <attachid>210193</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-31 08:39:31 -0700</bug_when>
    <thetext>Created attachment 210193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923303</commentid>
    <comment_count>11</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-31 09:29:41 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; Initially I felt Document::cancelFocusAppearanceUpdate() was the right place
&gt; 
&gt; I don’t think that is the right place, and I am not sure why you do.
&gt; 
&gt; &gt; &gt; This should go in the right place, not just a place that happens to work. We should think about exactly what can affect isFocusable and put this in the one or more bottleneck functions that cover all of those things, but not set up the timer if if there is no focused element or no actual change.
&gt; &gt; Definitely. As mentioned earlier, I will try to call Document::cancelFocusAppearanceUpdate() for &quot;visibility:hidden&quot; also.
&gt; 
&gt; This new logic needs to run any time we possibly changed what isFocusable will return for the focused element.
&gt; 
&gt; I’m don’t think that cancelFocusAppearanceUpdate needs to be called in those same places, though. We don’t just want to cancel that timer because something might have changed. I don’t think you’re on the right track here.

Without seeing your comment I uploaded a patch. I will upload a new patch which meets those scenarios.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923322</commentid>
    <comment_count>12</comment_count>
      <attachid>210200</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-31 11:58:19 -0700</bug_when>
    <thetext>Created attachment 210200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923323</commentid>
    <comment_count>13</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-08-31 11:59:18 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=210200) [details]
&gt; Patch

The patch handles the both layout &amp; style change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931463</commentid>
    <comment_count>14</comment_count>
      <attachid>212195</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-09-20 10:57:43 -0700</bug_when>
    <thetext>Created attachment 212195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931495</commentid>
    <comment_count>15</comment_count>
      <attachid>212195</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-20 11:44:22 -0700</bug_when>
    <thetext>Comment on attachment 212195
Patch

One risk is that some call sites might call layout directly on the FrameView rather than through Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931506</commentid>
    <comment_count>16</comment_count>
      <attachid>212195</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-20 12:05:46 -0700</bug_when>
    <thetext>Comment on attachment 212195
Patch

Clearing flags on attachment: 212195

Committed r156185: &lt;http://trac.webkit.org/changeset/156185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931507</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-20 12:05:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931665</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-20 16:53:41 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 121727</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931671</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-09-20 16:55:41 -0700</bug_when>
    <thetext>This caused a lot of crashes on bots: &lt;http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r156186%20(10285)/results.html&gt;.

Also, the test from this patch fails: &lt;http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK2%20(Tests)/r156208%20(11940)/fast/dom/HTMLDocument/active-element-gets-unfocusable-pretty-diff.html&gt;.

Rolling out in a moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931674</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-09-20 16:58:54 -0700</bug_when>
    <thetext>Rolled out in &lt;https://trac.webkit.org/r156210&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931770</commentid>
    <comment_count>21</comment_count>
      <attachid>212271</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-09-21 04:28:26 -0700</bug_when>
    <thetext>Created attachment 212271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931771</commentid>
    <comment_count>22</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-09-21 04:45:10 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; This caused a lot of crashes on bots: &lt;http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r156186%20(10285)/results.html&gt;.


Sorry for breaking the LayoutTests. Failures were due the Assertions in method &quot; Element::isFocusable ()&quot; to confirm the Layout is not required in that state, (I didn&apos;t test the patch in the Debug build).

New patch considers that scenario as well (thanks to https://chromium.googlesource.com/chromium/blink/+/c58f636fd18fc27944c42e27d6a92a36867c57e1).

&gt; 
&gt; Also, the test from this patch fails: &lt;http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK2%20(Tests)/r156208%20(11940)/fast/dom/HTMLDocument/active-element-gets-unfocusable-pretty-diff.html&gt;.
&gt; 

http://trac.webkit.org/r155250 moved the js-test-pre.js &amp; js-test-post.js to LayoutTests/resources. That&apos;s why it was failing.

&gt; Rolling out in a moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931864</commentid>
    <comment_count>23</comment_count>
      <attachid>212271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-21 21:03:16 -0700</bug_when>
    <thetext>Comment on attachment 212271
Patch

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

&gt; Source/WebCore/dom/Document.cpp:4719
&gt; +    if (element-&gt;renderer() &amp;&amp; element-&gt;renderer()-&gt;needsLayout())
&gt; +        return;

This may be sufficient to make the assertion go away, but it’s a fully correct fix. It’s not safe to call setFocusedElement until layout is done, not just for one element, but for the entire render tree.

Instead, this just checks what the assertion will check, which may seem mechanically correct, but is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931865</commentid>
    <comment_count>24</comment_count>
      <attachid>212271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-21 21:03:44 -0700</bug_when>
    <thetext>Comment on attachment 212271
Patch

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

&gt;&gt; Source/WebCore/dom/Document.cpp:4719
&gt;&gt; +        return;
&gt; 
&gt; This may be sufficient to make the assertion go away, but it’s a fully correct fix. It’s not safe to call setFocusedElement until layout is done, not just for one element, but for the entire render tree.
&gt; 
&gt; Instead, this just checks what the assertion will check, which may seem mechanically correct, but is wrong.

it’s *not* a fully correct fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931868</commentid>
    <comment_count>25</comment_count>
      <attachid>212271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-21 21:07:56 -0700</bug_when>
    <thetext>Comment on attachment 212271
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/Document.cpp:4719
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; This may be sufficient to make the assertion go away, but it’s a fully correct fix. It’s not safe to call setFocusedElement until layout is done, not just for one element, but for the entire render tree.
&gt;&gt; 
&gt;&gt; Instead, this just checks what the assertion will check, which may seem mechanically correct, but is wrong.
&gt; 
&gt; it’s *not* a fully correct fix

A correct fix would be something more like this:

    if (FrameView* view = this-&gt;view()) {
        if (view-&gt;needsLayout())
            return;
    }

And also, we have to add code to make sure that this “reset hidden focus element logic” runs when the layout is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931907</commentid>
    <comment_count>26</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-09-22 06:19:07 -0700</bug_when>
    <thetext>*** Bug 112992 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931909</commentid>
    <comment_count>27</comment_count>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-09-22 07:32:45 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 212271 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=212271&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/dom/Document.cpp:4719
&gt; &gt;&gt;&gt; +        return;
&gt; &gt;&gt; 
&gt; &gt;&gt; This may be sufficient to make the assertion go away, but it’s a fully correct fix. It’s not safe to call setFocusedElement until layout is done, not just for one element, but for the entire render tree.
&gt; &gt;&gt; 
&gt; &gt;&gt; Instead, this just checks what the assertion will check, which may seem mechanically correct, but is wrong.
&gt; &gt; 
&gt; &gt; it’s *not* a fully correct fix
&gt; 
&gt; A correct fix would be something more like this:
&gt; 
&gt;     if (FrameView* view = this-&gt;view()) {
&gt;         if (view-&gt;needsLayout())
&gt;             return;
&gt;     }
&gt; 
&gt; And also, we have to add code to make sure that this “reset hidden focus element logic” runs when the layout is done.

Yes, already resetHiddenFocusElementSoon() is called(from Document::updateLayout) after finishing the layout.

    // Only do a layout if changes have occurred that make it necessary.      
    if (frameView &amp;&amp; renderView() &amp;&amp; (frameView-&gt;layoutPending() || renderView()-&gt;needsLayout()))
        **frameView-&gt;layout();**

    // Active focus element&apos;s isFocusable() state may change after Layout. e.g. width: 0px or height: 0px.
    **resetHiddenFocusElementSoon();**</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931913</commentid>
    <comment_count>28</comment_count>
      <attachid>212303</attachid>
    <who name="Arunprasad Rajkumar">arurajku</who>
    <bug_when>2013-09-22 09:35:00 -0700</bug_when>
    <thetext>Created attachment 212303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931935</commentid>
    <comment_count>29</comment_count>
      <attachid>212303</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-22 16:18:07 -0700</bug_when>
    <thetext>Comment on attachment 212303
Patch

Clearing flags on attachment: 212303

Committed r156252: &lt;http://trac.webkit.org/changeset/156252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931936</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-22 16:18:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011094</commentid>
    <comment_count>31</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-05-22 17:43:12 -0700</bug_when>
    <thetext>Looks like this patch broke facebook.com on iOS.

When the user taps on the status on facebook.com, the page focuses an textarea, which is then made momentarily visible by setting display:none.  The page then removes display:none later and expects the textarea to be still focused.

With this patch, the focus is removed after the page sets display:none and the keyboard disappears.  Since the focus is never reset on the textarea, the user can never type in anything.

The specification may need to change here given that this (rather odd) behavior/expectation exists on one of the most popular websites on the Web.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687321</commentid>
    <comment_count>32</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-10 04:13:24 -0700</bug_when>
    <thetext>*** Bug 216248 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687959</commentid>
    <comment_count>33</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-12 12:44:23 -0700</bug_when>
    <thetext>Any change here should wait on the resolution of https://github.com/w3c/uievents/issues/236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687963</commentid>
    <comment_count>34</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-12 12:45:15 -0700</bug_when>
    <thetext>*** Bug 40338 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687965</commentid>
    <comment_count>35</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-12 12:46:42 -0700</bug_when>
    <thetext>Bug 216418 is the same issue, but with &quot;visibility: hidden&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210164</attachid>
            <date>2013-08-30 14:54:38 -0700</date>
            <delta_ts>2013-08-31 08:39:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29241-20130831032431.patch</filename>
            <type>text/plain</type>
            <size>7116</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE4ZDNhNzhlMWIzZTVk
M2Y2NzUxNTk2MjFjMTE2YmMxYzk0YjIyYi4uOGRjNWFiODliYmQwOTY0YjE3Y2YwNTdjMmZjNTdm
YjQ4ZWJiODc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA4LTMwICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBmb2N1
cyBpcyBub3QgYXV0b21hdGljYWxseSBibHVyZWQgYWZ0ZXIgZWxlbWVudCBoaWRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hU
TUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwKKworICAgICAg
ICBXZSBjaGVjayBmb2N1c2FibGUgc3RhdGUgYWZ0ZXIgc3R5bGUgdXBkYXRlIGFzeW5jaHJvbm91
c2x5IGJlY2F1c2Ugc2V0Rm9jdXNlZE5vZGUoMCkKKyAgICAgICAgZGlzcGF0Y2hlcyBzeW5jaHJv
bm91cyBldmVudHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVTdHlsZUlmTmVlZGVkKTogU3RhcnQgYSB0aW1lciB0byBlbnN1cmUgd2hldGhlciB0aGUK
KyAgICAgICAgY3VycmVudCBmb2N1cyBlbGVtZW50IGlzIHJlYWxseSBmb2N1c2FibGUuCisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnQpOiBJZiBjdXJy
ZW50IGZvY3VzIGVsZW1lbnQgaXMgbm90CisgICAgICAgIGZvY3VzYWJsZSwgKGkuZS4gaGlkZGVu
IHVzaW5nIGNzcyBzdHlsZXMpIHJlc2V0IGl0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
CiAyMDEzLTA4LTI4ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgogCiAgICAg
ICAgIENvZGUgY2xlYW51cDogcmVuYW1lIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyIGFuZCBy
ZW1vdmUgdW5uZWNlc3NhcnkgaW5saW5lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMzE4
MDdkYmUzZGE3MmJmMGM0ZTA2NzE5Njc3ODFkZGE3Nzc5YzgxYy4uZWU2ZTk2Nzg4NzIzMmVhZjI3
ZDJmNjAzMjdkOTQwZTA0Zjk5Njc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MjUs
NiArNDI1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxlU2V0RXhwbGljaXRs
eShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIodGhpcywgJkRvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwgbV9yZXNldEhpZGRl
bkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1l
bnQpCiAgICAgLCBtX2Nzc1RhcmdldCgwKQogICAgICwgbV9wcm9jZXNzaW5nTG9hZEV2ZW50KGZh
bHNlKQogICAgICwgbV9sb2FkRXZlbnRGaW5pc2hlZChmYWxzZSkKQEAgLTE4MjMsNiArMTgyNCwx
MCBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogICAgIEFTU0VSVCghdmlldygpIHx8ICghdmlldygpLT5pc0luTGF5b3V0
KCkgJiYgIXZpZXcoKS0+aXNQYWludGluZygpKSk7CiAKKyAgICAvLyBTdHlsZSBjaGFuZ2UgbWF5
IHJlc2V0IHRoZSBmb2N1cywgZS5nLiBkaXNwbGF5OiBub25lLCB2aXNpYmlsaXR5OiBoaWRkZW4u
CisgICAgaWYgKCFtX3Jlc2V0SGlkZGVuRm9jdXNFbGVtZW50VGltZXIuaXNBY3RpdmUoKSkKKyAg
ICAgICAgbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKwog
ICAgIGlmIChtX29wdGltaXplZFN0eWxlU2hlZXRVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBzdHlsZVJlc29sdmVyQ2hhbmdlZChSZWNhbGNTdHlsZUlmTmVlZGVkKTsKIApAQCAtNDY5
OSw2ICs0NzA0LDE2IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVy
RmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKICAgICAgICAgZWxlbWVudC0+dXBkYXRlRm9jdXNBcHBl
YXJhbmNlKG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24pOwogfQogCit2
b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudChUaW1lcjxEb2N1bWVudD4qKQor
eworICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBmb2N1c2VkRWxlbWVudCgpOworICAgIGlmICghZWxl
bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFlbGVtZW50LT5pc0ZvY3VzYWJsZSgp
KQorICAgICAgICBzZXRGb2N1c2VkRWxlbWVudCgwKTsKK30KKwogdm9pZCBEb2N1bWVudDo6YXR0
YWNoUmFuZ2UoUmFuZ2UqIHJhbmdlKQogewogICAgIEFTU0VSVCghbV9yYW5nZXMuY29udGFpbnMo
cmFuZ2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNWFjMDM4NWQyYjA3ZTZiYTQ0MDA5YjU1
ZWZmMjE4M2NiYjQyNzEwZC4uMzU1NzI1MWRlNjZkZmYzN2E4OGJmYTVjZGQxN2Y0ZGQ5NTljMGYy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEyMzEsNiArMTIzMSw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50Piop
OwogICAgIHZvaWQgdXBkYXRlQmFzZVVSTCgpOwogCisgICAgdm9pZCByZXNldEhpZGRlbkZvY3Vz
RWxlbWVudChUaW1lcjxEb2N1bWVudD4qKTsKKwogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAo
VHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNvbHZlcigpOwpAQCAt
MTM4NSw2ICsxMzg3LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBPd25QdHI8RG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyPiBtX21hcmtlcnM7CiAgICAgCiAgICAgVGltZXI8RG9jdW1lbnQ+IG1fdXBk
YXRlRm9jdXNBcHBlYXJhbmNlVGltZXI7CisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcmVzZXRIaWRk
ZW5Gb2N1c0VsZW1lbnRUaW1lcjsKIAogICAgIEVsZW1lbnQqIG1fY3NzVGFyZ2V0OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZGY4YjdmNzIwMDZhZDJiNmQ3NmIyZjZiMTkwNDY5MTU2MmQyOWY0Ni4uMzdhNjQ2NjcyNzMx
ZjE1ZmM2MTA0NDBhNWExMzY5NDAyZDU1YmUwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEz
LTA4LTMwICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKwor
ICAgICAgICBmb2N1cyBpcyBub3QgYXV0b21hdGljYWxseSBibHVyZWQgYWZ0ZXIgZWxlbWVudCBo
aWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVs
ZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sOiBBZGRlZC4KKworICAgICAgICBMYXlvdXRUZXN0
IHJldXNlZCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9i
bGluay8rL2M1OGY2MzZmZDE4ZmMyNzk0NGM0MmUyN2Q2YTkyYTM2ODY3YzU3ZTEKKyAgICAgICAg
d2l0aCBsaXR0bGUgY2hhbmdlLgorCiAyMDEzLTA4LTI4ICBOaWtsYXMgTmllbHNlbiAgPG5uaWVs
c2VuQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIERpZmZlcmVudGlhdGUg
bmFtZXMgaW4gdGhlIHNpbXBsZSByZWN0YW5nbGUgdGVzdCBzY3JpcHQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9j
dXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9h
Y3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
ZTE4MGJmYmZjYTQ1NWI0ZTZiNjgyODRiNDgzZDQ0ZTYyZjg5M2QzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMt
dW5mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK01ha2luZyBhIGZvY3Vz
ZWQgZWxlbWVudCBpbnZpc2libGUgc2hvdWxkIG1ha2UgaXQgYmx1ci4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKKz09PT4gU2V0dGluZyBkaXNwbGF5Om5vbmUKK0V2ZW50OiBibHVy
CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBUaGUg
Zm9jdXNUYXJnZXQgZWxlbWVudCBsb3N0IGZvY3VzLgorCis9PT0+IFNldHRpbmcgdmlzaWJpbGl0
eTpoaWRkZW4KK0V2ZW50OiBibHVyCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9j
dW1lbnQuYm9keQorUEFTUyBUaGUgZm9jdXNUYXJnZXQgZWxlbWVudCBsb3N0IGZvY3VzLgorCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdl
dHMtdW5mb2N1c2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9h
Y3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhiNDdiMTUy
Y2U3NjMwMGI1ZTA0N2RmMTU5MGYwNDQ0ZWI3ODc5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNh
YmxlLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCis8
ZGl2IGlkPSJmMSI+CisgIDxkaXYgdGFiaW5kZXg9IjEiIGlkPSJkaXYxIj48L2Rpdj4KKzwvZGl2
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbignTWFraW5n
IGEgZm9jdXNlZCBlbGVtZW50IGludmlzaWJsZSBzaG91bGQgbWFrZSBpdCBibHVyLicpOworanNU
ZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9jdXNUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZGl2MScpOwordmFyIHRlc3RTdGFnZSA9IDA7Cit2YXIgdGVzdFRpbWVvdXQgPSAwOwor
Citkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGZvY3VzVGFyZ2V0LmZv
Y3VzKCk7CisKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdmb2N1c1Rh
cmdldCcsIHRydWUpOworICAgIGRlYnVnKCc9PT0+IFNldHRpbmcgZGlzcGxheTpub25lJyk7Cisg
ICAgc2V0VGltZW91dCgiZjEuc3R5bGUuZGlzcGxheSA9ICdub25lJyIsMCk7CisKKyAgICB0ZXN0
VGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHRlc3RGYWlsZWQoJ1Rp
bWVvdXQ6IERpZG5cJ3QgbG9vc2UgZm9jdXMuJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIH0sIDEwMDApOworfTsKKworZm9jdXNUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cics
IGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCdFdmVudDogYmx1cicpOworICAgIHNob3VsZEJlKCdk
b2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LmJvZHknKTsKKyAgICB0ZXN0UGFzc2Vk
KCdUaGUgZm9jdXNUYXJnZXQgZWxlbWVudCBsb3N0IGZvY3VzLicpOworCisgICAgZGVidWcoJycp
OworICAgIGlmICh0ZXN0U3RhZ2UrKyA9PSAwKSB7CisgICAgICAgIGYxLnN0eWxlLmRpc3BsYXkg
PSAnYmxvY2snOworICAgICAgICBmb2N1c1RhcmdldC5mb2N1cygpOworICAgICAgICBzaG91bGRC
ZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdmb2N1c1RhcmdldCcsIHRydWUpOworICAgICAg
ICBkZWJ1ZygnPT09PiBTZXR0aW5nIHZpc2liaWxpdHk6aGlkZGVuJyk7CisgICAgICAgIHNldFRp
bWVvdXQoImYxLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJyIsMCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgY2xlYXJUaW1lb3V0KHRlc3RUaW1lb3V0KTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgfQorfSwgZmFsc2UpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210193</attachid>
            <date>2013-08-31 08:39:31 -0700</date>
            <delta_ts>2013-08-31 10:45:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29241-20130831210923.patch</filename>
            <type>text/plain</type>
            <size>7194</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE4ZDNhNzhlMWIzZTVk
M2Y2NzUxNTk2MjFjMTE2YmMxYzk0YjIyYi4uYzk2ZDAxY2M2OTBlZjRjNjhmZTE1ODBiNWMwMzY2
NGFiN2JmMDBkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA4LTMwICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBmb2N1
cyBpcyBub3QgYXV0b21hdGljYWxseSBibHVyZWQgYWZ0ZXIgZWxlbWVudCBoaWRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hU
TUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwKKworICAgICAg
ICBXZSBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGZvY3VzIGVsZW1lbnQgaXMgcmVhbGx5IGZv
Y3VzYWJsZSBhZnRlcgorICAgICAgICB0aGUgc3R5bGUgcmVjYWxjdWxhdGlvbi4gSWYgaXQgaXMg
bm90IGZvY3VzYWJsZSB0aGVuIHNjaGVkdWxlIGEgdGltZXIgdG8KKyAgICAgICAgcmVzZXQgaXQg
YXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZWNhbGNTdHlsZSk6IFN0YXJ0IGEgdGltZXIgcmVzZXQgdGhlIGZvY3VzIGVsZW1lbnQuCisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnQpOiBJZiBj
dXJyZW50IGZvY3VzIGVsZW1lbnQgaXMgbm90CisgICAgICAgIGZvY3VzYWJsZSwgKGkuZS4gaGlk
ZGVuIHVzaW5nIGNzcyBzdHlsZXMpIHJlc2V0IGl0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorCiAyMDEzLTA4LTI4ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgogCiAg
ICAgICAgIENvZGUgY2xlYW51cDogcmVuYW1lIEZsb2F0SW50ZXJ2YWxTZWFyY2hBZGFwdGVyIGFu
ZCByZW1vdmUgdW5uZWNlc3NhcnkgaW5saW5lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
MzE4MDdkYmUzZGE3MmJmMGM0ZTA2NzE5Njc3ODFkZGE3Nzc5YzgxYy4uYTU5MThmNzc4YThjYWQ1
OGUyNGJhMmZiYjBkNGYyZmZmYmY5Y2E4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00
MjUsNiArNDI1LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VS
TCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxlU2V0RXhwbGlj
aXRseShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIodGhpcywgJkRv
Y3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwgbV9yZXNldEhp
ZGRlbkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0Vs
ZW1lbnQpCiAgICAgLCBtX2Nzc1RhcmdldCgwKQogICAgICwgbV9wcm9jZXNzaW5nTG9hZEV2ZW50
KGZhbHNlKQogICAgICwgbV9sb2FkRXZlbnRGaW5pc2hlZChmYWxzZSkKQEAgLTE4MTYsNiArMTgx
NywxMCBAQCB2b2lkIERvY3VtZW50OjpyZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlIGNoYW5nZSkK
ICAgICAvLyB0byBjaGVjayBpZiBhbnkgb3RoZXIgZWxlbWVudHMgZW5kZWQgdXAgdW5kZXIgdGhl
IG1vdXNlIHBvaW50ZXIgZHVlIHRvIHJlLWxheW91dC4KICAgICBpZiAobV9ob3ZlcmVkRWxlbWVu
dCAmJiAhbV9ob3ZlcmVkRWxlbWVudC0+cmVuZGVyZXIoKSAmJiBmcmFtZSgpKQogICAgICAgICBm
cmFtZSgpLT5ldmVudEhhbmRsZXIoKS5kaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24oKTsK
KworICAgIC8vIFN0eWxlIGNoYW5nZSBtYXkgcmVzZXQgdGhlIGZvY3VzLCBlLmcuIGRpc3BsYXk6
IG5vbmUsIHZpc2liaWxpdHk6IGhpZGRlbi4KKyAgICBpZiAoIW1fcmVzZXRIaWRkZW5Gb2N1c0Vs
ZW1lbnRUaW1lci5pc0FjdGl2ZSgpICYmIG1fZm9jdXNlZEVsZW1lbnQgJiYgIW1fZm9jdXNlZEVs
ZW1lbnQtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgIG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZVN0eWxlSWZO
ZWVkZWQoKQpAQCAtNDY5OSw2ICs0NzA0LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKICAgICAgICAgZWxlbWVudC0+
dXBkYXRlRm9jdXNBcHBlYXJhbmNlKG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxl
Y3Rpb24pOwogfQogCit2b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudChUaW1l
cjxEb2N1bWVudD4qKQoreworICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50ICYmICFtX2ZvY3VzZWRF
bGVtZW50LT5pc0ZvY3VzYWJsZSgpKQorICAgICAgICBzZXRGb2N1c2VkRWxlbWVudCgwKTsKK30K
Kwogdm9pZCBEb2N1bWVudDo6YXR0YWNoUmFuZ2UoUmFuZ2UqIHJhbmdlKQogewogICAgIEFTU0VS
VCghbV9yYW5nZXMuY29udGFpbnMocmFuZ2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNWFj
MDM4NWQyYjA3ZTZiYTQ0MDA5YjU1ZWZmMjE4M2NiYjQyNzEwZC4uMzU1NzI1MWRlNjZkZmYzN2E4
OGJmYTVjZGQxN2Y0ZGQ5NTljMGYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEyMzEsNiAr
MTIzMSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZp
cmVkKFRpbWVyPERvY3VtZW50PiopOwogICAgIHZvaWQgdXBkYXRlQmFzZVVSTCgpOwogCisgICAg
dm9pZCByZXNldEhpZGRlbkZvY3VzRWxlbWVudChUaW1lcjxEb2N1bWVudD4qKTsKKwogICAgIHZv
aWQgYnVpbGRBY2Nlc3NLZXlNYXAoVHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRl
U3R5bGVSZXNvbHZlcigpOwpAQCAtMTM4NSw2ICsxMzg3LDcgQEAgcHJpdmF0ZToKICAgICBjb25z
dCBPd25QdHI8RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyPiBtX21hcmtlcnM7CiAgICAgCiAgICAg
VGltZXI8RG9jdW1lbnQ+IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXI7CisgICAgVGltZXI8
RG9jdW1lbnQ+IG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lcjsKIAogICAgIEVsZW1lbnQq
IG1fY3NzVGFyZ2V0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGY4YjdmNzIwMDZhZDJiNmQ3NmIyZjZiMTkwNDY5MTU2
MmQyOWY0Ni4uMzdhNjQ2NjcyNzMxZjE1ZmM2MTA0NDBhNWExMzY5NDAyZDU1YmUwNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEzLTA4LTMwICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJhcnVu
cHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBmb2N1cyBpcyBub3QgYXV0b21hdGljYWxseSBi
bHVyZWQgYWZ0ZXIgZWxlbWVudCBoaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yOTI0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdl
dHMtdW5mb2N1c2FibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9I
VE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sOiBBZGRlZC4K
KworICAgICAgICBMYXlvdXRUZXN0IHJldXNlZCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9ibGluay8rL2M1OGY2MzZmZDE4ZmMyNzk0NGM0MmUyN2Q2YTky
YTM2ODY3YzU3ZTEKKyAgICAgICAgd2l0aCBsaXR0bGUgY2hhbmdlLgorCiAyMDEzLTA4LTI4ICBO
aWtsYXMgTmllbHNlbiAgPG5uaWVsc2VuQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEV4Y2x1
c2lvbnNdIERpZmZlcmVudGlhdGUgbmFtZXMgaW4gdGhlIHNpbXBsZSByZWN0YW5nbGUgdGVzdCBz
Y3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3Rp
dmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZTE4MGJmYmZjYTQ1NWI0ZTZiNjgyODRiNDgzZDQ0ZTYyZjg5
M2QzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50
L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTkgQEAKK01ha2luZyBhIGZvY3VzZWQgZWxlbWVudCBpbnZpc2libGUgc2hvdWxkIG1ha2UgaXQg
Ymx1ci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKz09PT4gU2V0dGluZyBkaXNw
bGF5Om5vbmUKK0V2ZW50OiBibHVyCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9j
dW1lbnQuYm9keQorUEFTUyBUaGUgZm9jdXNUYXJnZXQgZWxlbWVudCBsb3N0IGZvY3VzLgorCis9
PT0+IFNldHRpbmcgdmlzaWJpbGl0eTpoaWRkZW4KK0V2ZW50OiBibHVyCitQQVNTIGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBUaGUgZm9jdXNUYXJnZXQgZWxl
bWVudCBsb3N0IGZvY3VzLgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3Vt
ZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzhiNDdiMTUyY2U3NjMwMGI1ZTA0N2RmMTU5MGYwNDQ0ZWI3ODc5OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUt
ZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorCis8ZGl2IGlkPSJmMSI+CisgIDxkaXYgdGFiaW5kZXg9IjEiIGlk
PSJkaXYxIj48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CitkZXNjcmlwdGlvbignTWFraW5nIGEgZm9jdXNlZCBlbGVtZW50IGludmlzaWJsZSBzaG91bGQg
bWFrZSBpdCBibHVyLicpOworanNUZXN0SXNBc3luYyA9IHRydWU7Cit2YXIgZm9jdXNUYXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2MScpOwordmFyIHRlc3RTdGFnZSA9IDA7Cit2
YXIgdGVzdFRpbWVvdXQgPSAwOworCitkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
eworICAgIGZvY3VzVGFyZ2V0LmZvY3VzKCk7CisKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCcsICdmb2N1c1RhcmdldCcsIHRydWUpOworICAgIGRlYnVnKCc9PT0+IFNldHRp
bmcgZGlzcGxheTpub25lJyk7CisgICAgc2V0VGltZW91dCgiZjEuc3R5bGUuZGlzcGxheSA9ICdu
b25lJyIsMCk7CisKKyAgICB0ZXN0VGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoJ1RpbWVvdXQ6IERpZG5cJ3QgbG9vc2UgZm9jdXMuJyk7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDEwMDApOworfTsKKworZm9jdXNUYXJnZXQuYWRk
RXZlbnRMaXN0ZW5lcignYmx1cicsIGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCdFdmVudDogYmx1
cicpOworICAgIHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2RvY3VtZW50LmJv
ZHknKTsKKyAgICB0ZXN0UGFzc2VkKCdUaGUgZm9jdXNUYXJnZXQgZWxlbWVudCBsb3N0IGZvY3Vz
LicpOworCisgICAgZGVidWcoJycpOworICAgIGlmICh0ZXN0U3RhZ2UrKyA9PSAwKSB7CisgICAg
ICAgIGYxLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOworICAgICAgICBmb2N1c1RhcmdldC5mb2N1
cygpOworICAgICAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdmb2N1c1Rh
cmdldCcsIHRydWUpOworICAgICAgICBkZWJ1ZygnPT09PiBTZXR0aW5nIHZpc2liaWxpdHk6aGlk
ZGVuJyk7CisgICAgICAgIHNldFRpbWVvdXQoImYxLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVu
JyIsMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2xlYXJUaW1lb3V0KHRlc3RUaW1lb3V0KTsK
KyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210200</attachid>
            <date>2013-08-31 11:58:19 -0700</date>
            <delta_ts>2013-09-20 10:57:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29241-20130901002811.patch</filename>
            <type>text/plain</type>
            <size>8509</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA1N2Y4ZGExY2MxMmEx
ZTI2NmZkMDFlMjYwYjA2Mzg5NTNkMWI0My4uYjMzOTg3NDU3NGIwMmE0Y2IzMzcyNTJjYjg0NjQx
ZDdkYjgzYTk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA4LTMxICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBmb2N1
cyBpcyBub3QgYXV0b21hdGljYWxseSBibHVyZWQgYWZ0ZXIgZWxlbWVudCBoaWRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hU
TUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwKKworICAgICAg
ICBXZSBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGZvY3VzIGVsZW1lbnQgaXMgcmVhbGx5IGZv
Y3VzYWJsZSBhZnRlcgorICAgICAgICB0aGUgc3R5bGUgcmVjYWxjdWxhdGlvbiBhbmQgbGF5b3V0
IGNoYW5nZS4gSWYgaXQgaXMgbm90IGZvY3VzYWJsZSB0aGVuIHNjaGVkdWxlIGEKKyAgICAgICAg
dGltZXIgdG8gcmVzZXQgaXQgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6IENoZWNrIGlzRm9jdXNhYmxlKCkgb24g
dGhlIGZvY3VzIGVsZW1lbnQgYWZ0ZXIKKyAgICAgICAgc3R5bGUgcmVjYWxjdWxhdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVMYXlvdXQpOiBDaGVjayBpc0ZvY3VzYWJs
ZSgpIG9uIHRoZSBmb2N1cyBlbGVtZW50IGFmdGVyCisgICAgICAgIGxheW91dC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFNvb24pOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNFbGVtZW50VGltZXIpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAyMDEzLTA4LTMxICBBbmRyZWFzIEtsaW5nICA8YWts
aW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBQb3N0QXR0YWNoQ2FsbGJhY2tEaXNhYmxlciBzaG91
bGQgdGFrZSBhIENvbnRhaW5lck5vZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTQy
ZjllOTU0MTg3ZGNiMDdhOTg0NzUyMjQ1MWNiMTE3MTU4MjFjNy4uMzFkOTJmNTI0NmMzOTJiMTQx
NTAzZmQ5ZGI1YzY3ZTkyYzZlZDI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MjQs
NiArNDI0LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxlU2V0RXhwbGljaXRs
eShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIodGhpcywgJkRvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwgbV9yZXNldEhpZGRl
bkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1l
bnRUaW1lcikKICAgICAsIG1fY3NzVGFyZ2V0KDApCiAgICAgLCBtX3Byb2Nlc3NpbmdMb2FkRXZl
bnQoZmFsc2UpCiAgICAgLCBtX2xvYWRFdmVudEZpbmlzaGVkKGZhbHNlKQpAQCAtMTgwOSw2ICsx
ODEwLDkgQEAgdm9pZCBEb2N1bWVudDo6cmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSBjaGFuZ2Up
CiAgICAgLy8gdG8gY2hlY2sgaWYgYW55IG90aGVyIGVsZW1lbnRzIGVuZGVkIHVwIHVuZGVyIHRo
ZSBtb3VzZSBwb2ludGVyIGR1ZSB0byByZS1sYXlvdXQuCiAgICAgaWYgKG1faG92ZXJlZEVsZW1l
bnQgJiYgIW1faG92ZXJlZEVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIGZyYW1lVmlldy5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwor
CisgICAgLy8gU3R5bGUgY2hhbmdlIG1heSByZXNldCB0aGUgZm9jdXMsIGUuZy4gZGlzcGxheTog
bm9uZSwgdmlzaWJpbGl0eTogaGlkZGVuLgorICAgIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29v
bigpOwogfQogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKQEAgLTE4NDcs
NiArMTg1MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAgICAgLy8gT25seSBk
byBhIGxheW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2Fy
eS4gICAgICAKICAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlcmVyKCkgJiYgKGZyYW1lVmlldy0+
bGF5b3V0UGVuZGluZygpIHx8IHJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkpKQogICAgICAgICBm
cmFtZVZpZXctPmxheW91dCgpOworCisgICAgLy8gQWN0aXZlIGZvY3VzIGVsZW1lbnQncyBpc0Zv
Y3VzYWJsZSgpIHN0YXRlIG1heSBjaGFuZ2UgYWZ0ZXIgTGF5b3V0LiBlLmcuIHdpZHRoOiAwcHgg
b3IgaGVpZ2h0OiAwcHguCisgICAgcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRTb29uKCk7CiB9CiAK
IC8vIEZJWE1FOiBUaGlzIGlzIGEgYmFkIGlkZWEgYW5kIG5lZWRzIHRvIGJlIHJlbW92ZWQgZXZl
bnR1YWxseS4KQEAgLTQ2ODEsNiArNDY4OCwxMiBAQCB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1
c0FwcGVhcmFuY2VVcGRhdGUoKQogICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3Rv
cCgpOwogfQogCit2b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFNvb24oKQor
eworICAgIGlmICghbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLmlzQWN0aXZlKCkgJiYg
bV9mb2N1c2VkRWxlbWVudCAmJiAhbV9mb2N1c2VkRWxlbWVudC0+aXNGb2N1c2FibGUoKSkKKyAg
ICAgICAgbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKK30K
Kwogdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxE
b2N1bWVudD4qKQogewogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBmb2N1c2VkRWxlbWVudCgpOwpA
QCAtNDY5Miw2ICs0NzA1LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5j
ZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKICAgICAgICAgZWxlbWVudC0+dXBkYXRlRm9j
dXNBcHBlYXJhbmNlKG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24pOwog
fQogCit2b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyKFRpbWVyPERv
Y3VtZW50PiopCit7CisgICAgaWYgKG1fZm9jdXNlZEVsZW1lbnQgJiYgIW1fZm9jdXNlZEVsZW1l
bnQtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgIHNldEZvY3VzZWRFbGVtZW50KDApOworfQorCiB2
b2lkIERvY3VtZW50OjphdHRhY2hSYW5nZShSYW5nZSogcmFuZ2UpCiB7CiAgICAgQVNTRVJUKCFt
X3Jhbmdlcy5jb250YWlucyhyYW5nZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBiODc4ZDk1
YzcyMTE1YjdjYTI4ZTE3YjM5ZjQwM2I3NGRlNTU2NWNjLi41OGY1ZjczNmFhZWFlNDJhZDE0MjU0
NDE2YzZmZDIwNDIwNmU1N2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtOTEyLDcgKzkxMiw5
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihib29sIHJl
c3RvcmVQcmV2aW91c1NlbGVjdGlvbik7CiAgICAgdm9pZCBjYW5jZWxGb2N1c0FwcGVhcmFuY2VV
cGRhdGUoKTsKLSAgICAgICAgCisKKyAgICB2b2lkIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29v
bigpOworCiAgICAgLy8gRXh0ZW5zaW9uIGZvciBtYW5pcHVsYXRpbmcgY2FudmFzIGRyYXdpbmcg
Y29udGV4dHMgZm9yIHVzZSBpbiBDU1MKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBnZXRD
U1NDYW52YXNDb250ZXh0KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBp
bnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIEhUTUxDYW52YXNFbGVtZW50KiBnZXRDU1NDYW52
YXNFbGVtZW50KGNvbnN0IFN0cmluZyYgbmFtZSk7CkBAIC0xMjI0LDYgKzEyMjYsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1
bWVudD4qKTsKICAgICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAorICAgIHZvaWQgcmVzZXRIaWRk
ZW5Gb2N1c0VsZW1lbnRUaW1lcihUaW1lcjxEb2N1bWVudD4qKTsKKwogICAgIHZvaWQgYnVpbGRB
Y2Nlc3NLZXlNYXAoVHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNv
bHZlcigpOwpAQCAtMTM3OCw2ICsxMzgyLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBPd25QdHI8
RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyPiBtX21hcmtlcnM7CiAgICAgCiAgICAgVGltZXI8RG9j
dW1lbnQ+IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXI7CisgICAgVGltZXI8RG9jdW1lbnQ+
IG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lcjsKIAogICAgIEVsZW1lbnQqIG1fY3NzVGFy
Z2V0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMDJmY2QzZDUwOTE1MDU3YzdhOTFlYTBkNjllZjIxM2ZkOTZjYzM1Ni4u
YzJjODE2ZWRjNDFlZjk1MzZmOGQxNzE1OWQwOTkxNDhlY2YwNmYzYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDEzLTA4LTMxICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdt
YWlsLmNvbT4KKworICAgICAgICBmb2N1cyBpcyBub3QgYXV0b21hdGljYWxseSBibHVyZWQgYWZ0
ZXIgZWxlbWVudCBoaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yOTI0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1
c2FibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1l
bnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sOiBBZGRlZC4KKworICAgICAg
ICBMYXlvdXRUZXN0IHJldXNlZCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
bS9jaHJvbWl1bS9ibGluay8rL2M1OGY2MzZmZDE4ZmMyNzk0NGM0MmUyN2Q2YTkyYTM2ODY3YzU3
ZTEKKyAgICAgICAgd2l0aCBsaXR0bGUgbW9kaWZpY2F0aW9uLgorCiAyMDEzLTA4LTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgTWFj
IHJlc3VsdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQv
YWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUxODBiZmJmY2E0NTViNGU2YjY4Mjg0YjQ4M2Q0NGU2
MmY4OTNkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1
bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE5IEBACitNYWtpbmcgYSBmb2N1c2VkIGVsZW1lbnQgaW52aXNpYmxlIHNob3VsZCBtYWtl
IGl0IGJsdXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCis9PT0+IFNldHRpbmcg
ZGlzcGxheTpub25lCitFdmVudDogYmx1cgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlz
IGRvY3VtZW50LmJvZHkKK1BBU1MgVGhlIGZvY3VzVGFyZ2V0IGVsZW1lbnQgbG9zdCBmb2N1cy4K
KworPT09PiBTZXR0aW5nIHZpc2liaWxpdHk6aGlkZGVuCitFdmVudDogYmx1cgorUEFTUyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgVGhlIGZvY3VzVGFyZ2V0
IGVsZW1lbnQgbG9zdCBmb2N1cy4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxE
b2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc4YjQ3YjE1MmNlNzYzMDBiNWUwNDdkZjE1OTBmMDQ0NGViNzg3OTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0
aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0iZjEiPgorICA8ZGl2IHRhYmluZGV4PSIx
IiBpZD0iZGl2MSI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oJ01ha2luZyBhIGZvY3VzZWQgZWxlbWVudCBpbnZpc2libGUgc2hv
dWxkIG1ha2UgaXQgYmx1ci4nKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIGZvY3VzVGFy
Z2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdjEnKTsKK3ZhciB0ZXN0U3RhZ2UgPSAw
OwordmFyIHRlc3RUaW1lb3V0ID0gMDsKKworZG9jdW1lbnQuYm9keS5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICBmb2N1c1RhcmdldC5mb2N1cygpOworCisgICAgc2hvdWxkQmUoJ2RvY3VtZW50
LmFjdGl2ZUVsZW1lbnQnLCAnZm9jdXNUYXJnZXQnLCB0cnVlKTsKKyAgICBkZWJ1ZygnPT09PiBT
ZXR0aW5nIGRpc3BsYXk6bm9uZScpOworICAgIHNldFRpbWVvdXQoImYxLnN0eWxlLmRpc3BsYXkg
PSAnbm9uZSciLDApOworCisgICAgdGVzdFRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eworICAgICAgICB0ZXN0RmFpbGVkKCdUaW1lb3V0OiBEaWRuXCd0IGxvb3NlIGZvY3VzLicpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAxMDAwKTsKK307CisKK2ZvY3VzVGFyZ2V0
LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygnRXZlbnQ6
IGJsdXInKTsKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1bWVu
dC5ib2R5Jyk7CisgICAgdGVzdFBhc3NlZCgnVGhlIGZvY3VzVGFyZ2V0IGVsZW1lbnQgbG9zdCBm
b2N1cy4nKTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBpZiAodGVzdFN0YWdlKysgPT0gMCkgewor
ICAgICAgICBmMS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICAgICAgZm9jdXNUYXJnZXQu
Zm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZm9j
dXNUYXJnZXQnLCB0cnVlKTsKKyAgICAgICAgZGVidWcoJz09PT4gU2V0dGluZyB2aXNpYmlsaXR5
OmhpZGRlbicpOworICAgICAgICBzZXRUaW1lb3V0KCJmMS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hp
ZGRlbiciLDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGNsZWFyVGltZW91dCh0ZXN0VGltZW91
dCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212195</attachid>
            <date>2013-09-20 10:57:43 -0700</date>
            <delta_ts>2013-09-21 04:28:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>blur_on_unfocus.patch</filename>
            <type>text/plain</type>
            <size>8533</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0OTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA1N2Y4ZGExY2MxMmEx
ZTI2NmZkMDFlMjYwYjA2Mzg5NTNkMWI0My4uYjMzOTg3NDU3NGIwMmE0Y2IzMzcyNTJjYjg0NjQx
ZDdkYjgzYTk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA4LTMxICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBIaWRp
bmcgYSBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIHVuZm9jdXMgaXQgYW5kIGZpcmUgYSBibHVyIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0
bWwKKworICAgICAgICBXZSBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGZvY3VzIGVsZW1lbnQg
aXMgcmVhbGx5IGZvY3VzYWJsZSBhZnRlcgorICAgICAgICB0aGUgc3R5bGUgcmVjYWxjdWxhdGlv
biBhbmQgbGF5b3V0IGNoYW5nZS4gSWYgaXQgaXMgbm90IGZvY3VzYWJsZSB0aGVuIHNjaGVkdWxl
IGEKKyAgICAgICAgdGltZXIgdG8gcmVzZXQgaXQgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6IENoZWNrIGlzRm9j
dXNhYmxlKCkgb24gdGhlIGZvY3VzIGVsZW1lbnQgYWZ0ZXIKKyAgICAgICAgc3R5bGUgcmVjYWxj
dWxhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVMYXlvdXQpOiBDaGVj
ayBpc0ZvY3VzYWJsZSgpIG9uIHRoZSBmb2N1cyBlbGVtZW50IGFmdGVyCisgICAgICAgIGxheW91
dC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFNv
b24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNFbGVtZW50
VGltZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAyMDEzLTA4LTMxICBBbmRyZWFz
IEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBQb3N0QXR0YWNoQ2FsbGJhY2tE
aXNhYmxlciBzaG91bGQgdGFrZSBhIENvbnRhaW5lck5vZGUmLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggOTQyZjllOTU0MTg3ZGNiMDdhOTg0NzUyMjQ1MWNiMTE3MTU4MjFjNy4uMzFkOTJm
NTI0NmMzOTJiMTQxNTAzZmQ5ZGI1YzY3ZTkyYzZlZDI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC00MjQsNiArNDI0LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwg
Y29uc3QgS1VSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxl
U2V0RXhwbGljaXRseShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIo
dGhpcywgJkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwg
bV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRk
ZW5Gb2N1c0VsZW1lbnRUaW1lcikKICAgICAsIG1fY3NzVGFyZ2V0KDApCiAgICAgLCBtX3Byb2Nl
c3NpbmdMb2FkRXZlbnQoZmFsc2UpCiAgICAgLCBtX2xvYWRFdmVudEZpbmlzaGVkKGZhbHNlKQpA
QCAtMTgwOSw2ICsxODEwLDkgQEAgdm9pZCBEb2N1bWVudDo6cmVjYWxjU3R5bGUoU3R5bGU6OkNo
YW5nZSBjaGFuZ2UpCiAgICAgLy8gdG8gY2hlY2sgaWYgYW55IG90aGVyIGVsZW1lbnRzIGVuZGVk
IHVwIHVuZGVyIHRoZSBtb3VzZSBwb2ludGVyIGR1ZSB0byByZS1sYXlvdXQuCiAgICAgaWYgKG1f
aG92ZXJlZEVsZW1lbnQgJiYgIW1faG92ZXJlZEVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAg
IGZyYW1lVmlldy5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2
ZW50U29vbigpOworCisgICAgLy8gU3R5bGUgY2hhbmdlIG1heSByZXNldCB0aGUgZm9jdXMsIGUu
Zy4gZGlzcGxheTogbm9uZSwgdmlzaWJpbGl0eTogaGlkZGVuLgorICAgIHJlc2V0SGlkZGVuRm9j
dXNFbGVtZW50U29vbigpOwogfQogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVk
KCkKQEAgLTE4NDcsNiArMTg1MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAg
ICAgLy8gT25seSBkbyBhIGxheW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtl
IGl0IG5lY2Vzc2FyeS4gICAgICAKICAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlcmVyKCkgJiYg
KGZyYW1lVmlldy0+bGF5b3V0UGVuZGluZygpIHx8IHJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkp
KQogICAgICAgICBmcmFtZVZpZXctPmxheW91dCgpOworCisgICAgLy8gQWN0aXZlIGZvY3VzIGVs
ZW1lbnQncyBpc0ZvY3VzYWJsZSgpIHN0YXRlIG1heSBjaGFuZ2UgYWZ0ZXIgTGF5b3V0LiBlLmcu
IHdpZHRoOiAwcHggb3IgaGVpZ2h0OiAwcHguCisgICAgcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRT
b29uKCk7CiB9CiAKIC8vIEZJWE1FOiBUaGlzIGlzIGEgYmFkIGlkZWEgYW5kIG5lZWRzIHRvIGJl
IHJlbW92ZWQgZXZlbnR1YWxseS4KQEAgLTQ2ODEsNiArNDY4OCwxMiBAQCB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQogICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJh
bmNlVGltZXIuc3RvcCgpOwogfQogCit2b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxl
bWVudFNvb24oKQoreworICAgIGlmICghbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLmlz
QWN0aXZlKCkgJiYgbV9mb2N1c2VkRWxlbWVudCAmJiAhbV9mb2N1c2VkRWxlbWVudC0+aXNGb2N1
c2FibGUoKSkKKyAgICAgICAgbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKK30KKwogdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4qKQogewogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBmb2N1c2Vk
RWxlbWVudCgpOwpAQCAtNDY5Miw2ICs0NzA1LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKICAgICAgICAgZWxlbWVu
dC0+dXBkYXRlRm9jdXNBcHBlYXJhbmNlKG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNT
ZWxlY3Rpb24pOwogfQogCit2b2lkIERvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFRp
bWVyKFRpbWVyPERvY3VtZW50PiopCit7CisgICAgaWYgKG1fZm9jdXNlZEVsZW1lbnQgJiYgIW1f
Zm9jdXNlZEVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgIHNldEZvY3VzZWRFbGVtZW50
KDApOworfQorCiB2b2lkIERvY3VtZW50OjphdHRhY2hSYW5nZShSYW5nZSogcmFuZ2UpCiB7CiAg
ICAgQVNTRVJUKCFtX3Jhbmdlcy5jb250YWlucyhyYW5nZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCBiODc4ZDk1YzcyMTE1YjdjYTI4ZTE3YjM5ZjQwM2I3NGRlNTU2NWNjLi41OGY1ZjczNmFh
ZWFlNDJhZDE0MjU0NDE2YzZmZDIwNDIwNmU1N2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
OTEyLDcgKzkxMiw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNl
U29vbihib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbik7CiAgICAgdm9pZCBjYW5jZWxGb2N1
c0FwcGVhcmFuY2VVcGRhdGUoKTsKLSAgICAgICAgCisKKyAgICB2b2lkIHJlc2V0SGlkZGVuRm9j
dXNFbGVtZW50U29vbigpOworCiAgICAgLy8gRXh0ZW5zaW9uIGZvciBtYW5pcHVsYXRpbmcgY2Fu
dmFzIGRyYXdpbmcgY29udGV4dHMgZm9yIHVzZSBpbiBDU1MKICAgICBDYW52YXNSZW5kZXJpbmdD
b250ZXh0KiBnZXRDU1NDYW52YXNDb250ZXh0KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAgIEhUTUxDYW52YXNFbGVtZW50
KiBnZXRDU1NDYW52YXNFbGVtZW50KGNvbnN0IFN0cmluZyYgbmFtZSk7CkBAIC0xMjI0LDYgKzEy
MjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJl
ZChUaW1lcjxEb2N1bWVudD4qKTsKICAgICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAorICAgIHZv
aWQgcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lcihUaW1lcjxEb2N1bWVudD4qKTsKKwogICAg
IHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAoVHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3Jl
YXRlU3R5bGVSZXNvbHZlcigpOwpAQCAtMTM3OCw2ICsxMzgyLDcgQEAgcHJpdmF0ZToKICAgICBj
b25zdCBPd25QdHI8RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyPiBtX21hcmtlcnM7CiAgICAgCiAg
ICAgVGltZXI8RG9jdW1lbnQ+IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXI7CisgICAgVGlt
ZXI8RG9jdW1lbnQ+IG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lcjsKIAogICAgIEVsZW1l
bnQqIG1fY3NzVGFyZ2V0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDJmY2QzZDUwOTE1MDU3YzdhOTFlYTBkNjllZjIx
M2ZkOTZjYzM1Ni4uYzJjODE2ZWRjNDFlZjk1MzZmOGQxNzE1OWQwOTkxNDhlY2YwNmYzYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA4LTMxICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJh
cnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBIaWRpbmcgYSBmb2N1c2VkIGVsZW1lbnQg
c2hvdWxkIHVuZm9jdXMgaXQgYW5kIGZpcmUgYSBibHVyIGV2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2Fj
dGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJs
ZS5odG1sOiBBZGRlZC4KKworICAgICAgICBMYXlvdXRUZXN0IHJldXNlZCBmcm9tIGh0dHBzOi8v
Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9ibGluay8rL2M1OGY2MzZmZDE4ZmMy
Nzk0NGM0MmUyN2Q2YTkyYTM2ODY3YzU3ZTEKKyAgICAgICAgd2l0aCBsaXR0bGUgbW9kaWZpY2F0
aW9uLgorCiAyMDEzLTA4LTMwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCB0aGUgTWFjIHJlc3VsdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVs
ZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUxODBiZmJm
Y2E0NTViNGU2YjY4Mjg0YjQ4M2Q0NGU2MmY4OTNkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNh
YmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitNYWtpbmcgYSBmb2N1c2VkIGVsZW1l
bnQgaW52aXNpYmxlIHNob3VsZCBtYWtlIGl0IGJsdXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCis9PT0+IFNldHRpbmcgZGlzcGxheTpub25lCitFdmVudDogYmx1cgorUEFTUyBk
b2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgVGhlIGZvY3VzVGFy
Z2V0IGVsZW1lbnQgbG9zdCBmb2N1cy4KKworPT09PiBTZXR0aW5nIHZpc2liaWxpdHk6aGlkZGVu
CitFdmVudDogYmx1cgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJv
ZHkKK1BBU1MgVGhlIGZvY3VzVGFyZ2V0IGVsZW1lbnQgbG9zdCBmb2N1cy4KKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9j
dXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVs
ZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4YjQ3YjE1MmNlNzYzMDBi
NWUwNDdkZjE1OTBmMDQ0NGViNzg3OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1s
CkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0i
ZjEiPgorICA8ZGl2IHRhYmluZGV4PSIxIiBpZD0iZGl2MSI+PC9kaXY+Cis8L2Rpdj4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ01ha2luZyBhIGZvY3Vz
ZWQgZWxlbWVudCBpbnZpc2libGUgc2hvdWxkIG1ha2UgaXQgYmx1ci4nKTsKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOwordmFyIGZvY3VzVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rp
djEnKTsKK3ZhciB0ZXN0U3RhZ2UgPSAwOwordmFyIHRlc3RUaW1lb3V0ID0gMDsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBmb2N1c1RhcmdldC5mb2N1cygpOwor
CisgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAnZm9jdXNUYXJnZXQnLCB0
cnVlKTsKKyAgICBkZWJ1ZygnPT09PiBTZXR0aW5nIGRpc3BsYXk6bm9uZScpOworICAgIHNldFRp
bWVvdXQoImYxLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSciLDApOworCisgICAgdGVzdFRpbWVvdXQg
PSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB0ZXN0RmFpbGVkKCdUaW1lb3V0OiBE
aWRuXCd0IGxvb3NlIGZvY3VzLicpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAx
MDAwKTsKK307CisKK2ZvY3VzVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlv
bigpIHsKKyAgICBkZWJ1ZygnRXZlbnQ6IGJsdXInKTsKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCcsICdkb2N1bWVudC5ib2R5Jyk7CisgICAgdGVzdFBhc3NlZCgnVGhlIGZv
Y3VzVGFyZ2V0IGVsZW1lbnQgbG9zdCBmb2N1cy4nKTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBp
ZiAodGVzdFN0YWdlKysgPT0gMCkgeworICAgICAgICBmMS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2Nr
JzsKKyAgICAgICAgZm9jdXNUYXJnZXQuZm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQnLCAnZm9jdXNUYXJnZXQnLCB0cnVlKTsKKyAgICAgICAgZGVidWco
Jz09PT4gU2V0dGluZyB2aXNpYmlsaXR5OmhpZGRlbicpOworICAgICAgICBzZXRUaW1lb3V0KCJm
MS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbiciLDApOworICAgIH0gZWxzZSB7CisgICAgICAg
IGNsZWFyVGltZW91dCh0ZXN0VGltZW91dCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
IH0KK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212271</attachid>
            <date>2013-09-21 04:28:26 -0700</date>
            <delta_ts>2013-09-22 09:34:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29241-20130921165822.patch</filename>
            <type>text/plain</type>
            <size>8642</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FjMDQxMTVjNWRmNzE0
NDY0OWZjZGQ0YTY1ODczZTI2NDc2NzYyNy4uNzJmNDdjZWZmNGU5MTYwYmE5OTgzNDRkOTY0YTZl
OGM3NGY5NzFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA5LTIwICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBIaWRp
bmcgYSBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIHVuZm9jdXMgaXQgYW5kIGZpcmUgYSBibHVyIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0
bWwKKworICAgICAgICBXZSBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGZvY3VzIGVsZW1lbnQg
aXMgcmVhbGx5IGZvY3VzYWJsZSBhZnRlcgorICAgICAgICB0aGUgc3R5bGUgcmVjYWxjdWxhdGlv
biBhbmQgbGF5b3V0IGNoYW5nZS4gSWYgaXQgaXMgbm90IGZvY3VzYWJsZSB0aGVuIHNjaGVkdWxl
IGEKKyAgICAgICAgdGltZXIgdG8gcmVzZXQgaXQgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6IENoZWNrIGlzRm9j
dXNhYmxlKCkgb24gdGhlIGZvY3VzIGVsZW1lbnQgYWZ0ZXIKKyAgICAgICAgc3R5bGUgcmVjYWxj
dWxhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVMYXlvdXQpOiBDaGVj
ayBpc0ZvY3VzYWJsZSgpIG9uIHRoZSBmb2N1cyBlbGVtZW50IGFmdGVyCisgICAgICAgIGxheW91
dC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFNv
b24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNFbGVtZW50
VGltZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAyMDEzLTA5LTIwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEJhZCBjYXN0IGZyb20gQ1NTSW5p
dGlhbFZhbHVlIHRvIENTU1ZhbHVlTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODBm
YzAyOWVhZDk0YTVmM2FjNzEyZDRkNDU0NTE2Zjk0MTA4ZTA4YS4uYWUxMmRiZGFmZjgzNjY0NGM1
ZTFlNGQxMmU4MThlMzk4YTUxODc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00Mzks
NiArNDM5LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxlU2V0RXhwbGljaXRs
eShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIodGhpcywgJkRvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwgbV9yZXNldEhpZGRl
bkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1l
bnRUaW1lcikKICAgICAsIG1fY3NzVGFyZ2V0KDApCiAgICAgLCBtX3Byb2Nlc3NpbmdMb2FkRXZl
bnQoZmFsc2UpCiAgICAgLCBtX2xvYWRFdmVudEZpbmlzaGVkKGZhbHNlKQpAQCAtMTgyNyw2ICsx
ODI4LDkgQEAgdm9pZCBEb2N1bWVudDo6cmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSBjaGFuZ2Up
CiAgICAgLy8gdG8gY2hlY2sgaWYgYW55IG90aGVyIGVsZW1lbnRzIGVuZGVkIHVwIHVuZGVyIHRo
ZSBtb3VzZSBwb2ludGVyIGR1ZSB0byByZS1sYXlvdXQuCiAgICAgaWYgKG1faG92ZXJlZEVsZW1l
bnQgJiYgIW1faG92ZXJlZEVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIGZyYW1lVmlldy5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwor
CisgICAgLy8gU3R5bGUgY2hhbmdlIG1heSByZXNldCB0aGUgZm9jdXMsIGUuZy4gZGlzcGxheTog
bm9uZSwgdmlzaWJpbGl0eTogaGlkZGVuLgorICAgIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29v
bigpOwogfQogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKQEAgLTE4NjUs
NiArMTg2OSw5IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAgICAgLy8gT25seSBk
byBhIGxheW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2Fy
eS4gICAgICAKICAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVWaWV3
LT5sYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpKSkKICAgICAg
ICAgZnJhbWVWaWV3LT5sYXlvdXQoKTsKKworICAgIC8vIEFjdGl2ZSBmb2N1cyBlbGVtZW50J3Mg
aXNGb2N1c2FibGUoKSBzdGF0ZSBtYXkgY2hhbmdlIGFmdGVyIExheW91dC4gZS5nLiB3aWR0aDog
MHB4IG9yIGhlaWdodDogMHB4LgorICAgIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29vbigpOwog
fQogCiAvLyBGSVhNRTogVGhpcyBpcyBhIGJhZCBpZGVhIGFuZCBuZWVkcyB0byBiZSByZW1vdmVk
IGV2ZW50dWFsbHkuCkBAIC00Njg2LDYgKzQ2OTMsMTIgQEAgdm9pZCBEb2N1bWVudDo6Y2FuY2Vs
Rm9jdXNBcHBlYXJhbmNlVXBkYXRlKCkKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVy
LnN0b3AoKTsKIH0KIAordm9pZCBEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRTb29u
KCkKK3sKKyAgICBpZiAoIW1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lci5pc0FjdGl2ZSgp
ICYmIG1fZm9jdXNlZEVsZW1lbnQpCisgICAgICAgIG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBw
ZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKIHsKICAgICBFbGVtZW50KiBlbGVt
ZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKQEAgLTQ2OTcsNiArNDcxMCwxNyBAQCB2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCiAg
ICAgICAgIGVsZW1lbnQtPnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShtX3VwZGF0ZUZvY3VzQXBwZWFy
YW5jZVJlc3RvcmVzU2VsZWN0aW9uKTsKIH0KIAordm9pZCBEb2N1bWVudDo6cmVzZXRIaWRkZW5G
b2N1c0VsZW1lbnRUaW1lcihUaW1lcjxEb2N1bWVudD4qKQoreworICAgIEVsZW1lbnQqIGVsZW1l
bnQgPSBmb2N1c2VkRWxlbWVudCgpOworICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgcmV0dXJu
OworICAgIGlmIChlbGVtZW50LT5yZW5kZXJlcigpICYmIGVsZW1lbnQtPnJlbmRlcmVyKCktPm5l
ZWRzTGF5b3V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWVsZW1lbnQtPmlzRm9jdXNh
YmxlKCkpCisgICAgICAgIHNldEZvY3VzZWRFbGVtZW50KDApOworfQorCiB2b2lkIERvY3VtZW50
OjphdHRhY2hSYW5nZShSYW5nZSogcmFuZ2UpCiB7CiAgICAgQVNTRVJUKCFtX3Jhbmdlcy5jb250
YWlucyhyYW5nZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA5ZDEyZTVlZWFkMzliOGVkYWJm
ODE0MGUxMDY3M2NlZDQ3NDRkOTUxLi43NGY0OGU5Y2Y4MTA1NjJlNmRhNjEyMmUxYjcxM2UxMjE1
OTM0ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtOTE4LDcgKzkxOCw5IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbik7CiAgICAgdm9pZCBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKLSAg
ICAgICAgCisKKyAgICB2b2lkIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29vbigpOworCiAgICAg
Ly8gRXh0ZW5zaW9uIGZvciBtYW5pcHVsYXRpbmcgY2FudmFzIGRyYXdpbmcgY29udGV4dHMgZm9y
IHVzZSBpbiBDU1MKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBnZXRDU1NDYW52YXNDb250
ZXh0KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpOwogICAgIEhUTUxDYW52YXNFbGVtZW50KiBnZXRDU1NDYW52YXNFbGVtZW50KGNv
bnN0IFN0cmluZyYgbmFtZSk7CkBAIC0xMjI1LDYgKzEyMjcsOCBAQCBwcml2YXRlOgogICAgIHZv
aWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKICAg
ICB2b2lkIHVwZGF0ZUJhc2VVUkwoKTsKIAorICAgIHZvaWQgcmVzZXRIaWRkZW5Gb2N1c0VsZW1l
bnRUaW1lcihUaW1lcjxEb2N1bWVudD4qKTsKKwogICAgIHZvaWQgYnVpbGRBY2Nlc3NLZXlNYXAo
VHJlZVNjb3BlKiByb290KTsKIAogICAgIHZvaWQgY3JlYXRlU3R5bGVSZXNvbHZlcigpOwpAQCAt
MTM3Niw2ICsxMzgwLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBPd25QdHI8RG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyPiBtX21hcmtlcnM7CiAgICAgCiAgICAgVGltZXI8RG9jdW1lbnQ+IG1fdXBk
YXRlRm9jdXNBcHBlYXJhbmNlVGltZXI7CisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcmVzZXRIaWRk
ZW5Gb2N1c0VsZW1lbnRUaW1lcjsKIAogICAgIEVsZW1lbnQqIG1fY3NzVGFyZ2V0OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZmVkZTJiYjE5ODc5OGU2ZDg2MGNiNWU0NTk4OWMwYWVhMjM5Mjk3Ni4uZTY0ZDc3ZmY3NTU3
ODY4MTdmMGE5ZjVkMTg5NjU5MWY4NTBlNmM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEz
LTA5LTIwICBBcnVucHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKwor
ICAgICAgICBIaWRpbmcgYSBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIHVuZm9jdXMgaXQgYW5kIGZp
cmUgYSBibHVyIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yOTI0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1
c2FibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRG9jdW1l
bnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sOiBBZGRlZC4KKworICAgICAg
ICBMYXlvdXRUZXN0IHJldXNlZCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
bS9jaHJvbWl1bS9ibGluay8rL2M1OGY2MzZmZDE4ZmMyNzk0NGM0MmUyN2Q2YTkyYTM2ODY3YzU3
ZTEKKyAgICAgICAgd2l0aCBsaXR0bGUgbW9kaWZpY2F0aW9uLgorCiAyMDEzLTA5LTIwICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEJhZCBjYXN0IGZyb20gQ1NT
SW5pdGlhbFZhbHVlIHRvIENTU1ZhbHVlTGlzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50
LWdldHMtdW5mb2N1c2FibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMTgwYmZiZmNhNDU1
YjRlNmI2ODI4NGI0ODNkNDRlNjJmODkzZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorTWFraW5nIGEgZm9jdXNlZCBlbGVtZW50IGlu
dmlzaWJsZSBzaG91bGQgbWFrZSBpdCBibHVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworPT09PiBTZXR0aW5nIGRpc3BsYXk6bm9uZQorRXZlbnQ6IGJsdXIKK1BBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIFRoZSBmb2N1c1RhcmdldCBl
bGVtZW50IGxvc3QgZm9jdXMuCisKKz09PT4gU2V0dGluZyB2aXNpYmlsaXR5OmhpZGRlbgorRXZl
bnQ6IGJsdXIKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQ
QVNTIFRoZSBmb2N1c1RhcmdldCBlbGVtZW50IGxvc3QgZm9jdXMuCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJs
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50
LWdldHMtdW5mb2N1c2FibGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzE0ZGYwZmM3NWM1NTJlZTc1MDAw
ZWIwNTRkM2E1NGViZjkzNTZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTERvY3VtZW50L2FjdGl2ZS1lbGVtZW50LWdldHMtdW5mb2N1c2FibGUuaHRtbApAQCAt
MCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9ImYxIj4K
KyAgPGRpdiB0YWJpbmRleD0iMSIgaWQ9ImRpdjEiPjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCdNYWtpbmcgYSBmb2N1c2VkIGVs
ZW1lbnQgaW52aXNpYmxlIHNob3VsZCBtYWtlIGl0IGJsdXIuJyk7Citqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKK3ZhciBmb2N1c1RhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYxJyk7
Cit2YXIgdGVzdFN0YWdlID0gMDsKK3ZhciB0ZXN0VGltZW91dCA9IDA7CisKK2RvY3VtZW50LmJv
ZHkub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgZm9jdXNUYXJnZXQuZm9jdXMoKTsKKworICAg
IHNob3VsZEJlKCdkb2N1bWVudC5hY3RpdmVFbGVtZW50JywgJ2ZvY3VzVGFyZ2V0JywgdHJ1ZSk7
CisgICAgZGVidWcoJz09PT4gU2V0dGluZyBkaXNwbGF5Om5vbmUnKTsKKyAgICBzZXRUaW1lb3V0
KCJmMS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnIiwwKTsKKworICAgIHRlc3RUaW1lb3V0ID0gc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgnVGltZW91dDogRGlkblwn
dCBsb29zZSBmb2N1cy4nKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMTAwMCk7
Cit9OworCitmb2N1c1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVuY3Rpb24oKSB7
CisgICAgZGVidWcoJ0V2ZW50OiBibHVyJyk7CisgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2
ZUVsZW1lbnQnLCAnZG9jdW1lbnQuYm9keScpOworICAgIHRlc3RQYXNzZWQoJ1RoZSBmb2N1c1Rh
cmdldCBlbGVtZW50IGxvc3QgZm9jdXMuJyk7CisKKyAgICBkZWJ1ZygnJyk7CisgICAgaWYgKHRl
c3RTdGFnZSsrID09IDApIHsKKyAgICAgICAgZjEuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cisg
ICAgICAgIGZvY3VzVGFyZ2V0LmZvY3VzKCk7CisgICAgICAgIHNob3VsZEJlKCdkb2N1bWVudC5h
Y3RpdmVFbGVtZW50JywgJ2ZvY3VzVGFyZ2V0JywgdHJ1ZSk7CisgICAgICAgIGRlYnVnKCc9PT0+
IFNldHRpbmcgdmlzaWJpbGl0eTpoaWRkZW4nKTsKKyAgICAgICAgc2V0VGltZW91dCgiZjEuc3R5
bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nIiwwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjbGVh
clRpbWVvdXQodGVzdFRpbWVvdXQpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9
LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212303</attachid>
            <date>2013-09-22 09:35:00 -0700</date>
            <delta_ts>2013-09-22 16:18:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-29241-20130922220458.patch</filename>
            <type>text/plain</type>
            <size>8569</size>
            <attacher name="Arunprasad Rajkumar">arurajku</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FjMDQxMTVjNWRmNzE0
NDY0OWZjZGQ0YTY1ODczZTI2NDc2NzYyNy4uNzJmNDdjZWZmNGU5MTYwYmE5OTgzNDRkOTY0YTZl
OGM3NGY5NzFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTA5LTIwICBBcnVu
cHJhc2FkIFJhamt1bWFyICA8YXJhcnVucHJhc2FkQGdtYWlsLmNvbT4KKworICAgICAgICBIaWRp
bmcgYSBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIHVuZm9jdXMgaXQgYW5kIGZpcmUgYSBibHVyIGV2
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0
bWwKKworICAgICAgICBXZSBjaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IGZvY3VzIGVsZW1lbnQg
aXMgcmVhbGx5IGZvY3VzYWJsZSBhZnRlcgorICAgICAgICB0aGUgc3R5bGUgcmVjYWxjdWxhdGlv
biBhbmQgbGF5b3V0IGNoYW5nZS4gSWYgaXQgaXMgbm90IGZvY3VzYWJsZSB0aGVuIHNjaGVkdWxl
IGEKKyAgICAgICAgdGltZXIgdG8gcmVzZXQgaXQgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6IENoZWNrIGlzRm9j
dXNhYmxlKCkgb24gdGhlIGZvY3VzIGVsZW1lbnQgYWZ0ZXIKKyAgICAgICAgc3R5bGUgcmVjYWxj
dWxhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVMYXlvdXQpOiBDaGVj
ayBpc0ZvY3VzYWJsZSgpIG9uIHRoZSBmb2N1cyBlbGVtZW50IGFmdGVyCisgICAgICAgIGxheW91
dC4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXNldEhpZGRlbkZvY3VzRWxlbWVudFNv
b24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc2V0SGlkZGVuRm9jdXNFbGVtZW50
VGltZXIpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorCiAyMDEzLTA5LTIwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEJhZCBjYXN0IGZyb20gQ1NTSW5p
dGlhbFZhbHVlIHRvIENTU1ZhbHVlTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODBm
YzAyOWVhZDk0YTVmM2FjNzEyZDRkNDU0NTE2Zjk0MTA4ZTA4YS4uNmIxMjBiMjAzNDdiYjRmODA5
ODU1OGVkNzAyNTJlZDNiMmZlNDk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00Mzks
NiArNDM5LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYg
dXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMpCiAgICAgLCBtX3RpdGxlU2V0RXhwbGljaXRs
eShmYWxzZSkKICAgICAsIG1fbWFya2VycyhhZG9wdFB0cihuZXcgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKSkKICAgICAsIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIodGhpcywgJkRvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKQorICAgICwgbV9yZXNldEhpZGRl
bkZvY3VzRWxlbWVudFRpbWVyKHRoaXMsICZEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1l
bnRUaW1lcikKICAgICAsIG1fY3NzVGFyZ2V0KDApCiAgICAgLCBtX3Byb2Nlc3NpbmdMb2FkRXZl
bnQoZmFsc2UpCiAgICAgLCBtX2xvYWRFdmVudEZpbmlzaGVkKGZhbHNlKQpAQCAtMTgyNyw2ICsx
ODI4LDkgQEAgdm9pZCBEb2N1bWVudDo6cmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSBjaGFuZ2Up
CiAgICAgLy8gdG8gY2hlY2sgaWYgYW55IG90aGVyIGVsZW1lbnRzIGVuZGVkIHVwIHVuZGVyIHRo
ZSBtb3VzZSBwb2ludGVyIGR1ZSB0byByZS1sYXlvdXQuCiAgICAgaWYgKG1faG92ZXJlZEVsZW1l
bnQgJiYgIW1faG92ZXJlZEVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIGZyYW1lVmlldy5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLmRpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50U29vbigpOwor
CisgICAgLy8gU3R5bGUgY2hhbmdlIG1heSByZXNldCB0aGUgZm9jdXMsIGUuZy4gZGlzcGxheTog
bm9uZSwgdmlzaWJpbGl0eTogaGlkZGVuLgorICAgIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29v
bigpOwogfQogCiB2b2lkIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkKQEAgLTE4NjUs
NiArMTg2OSw5IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dCgpCiAgICAgLy8gT25seSBk
byBhIGxheW91dCBpZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWQgdGhhdCBtYWtlIGl0IG5lY2Vzc2Fy
eS4gICAgICAKICAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAmJiAoZnJhbWVWaWV3
LT5sYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpKSkKICAgICAg
ICAgZnJhbWVWaWV3LT5sYXlvdXQoKTsKKworICAgIC8vIEFjdGl2ZSBmb2N1cyBlbGVtZW50J3Mg
aXNGb2N1c2FibGUoKSBzdGF0ZSBtYXkgY2hhbmdlIGFmdGVyIExheW91dC4gZS5nLiB3aWR0aDog
MHB4IG9yIGhlaWdodDogMHB4LgorICAgIHJlc2V0SGlkZGVuRm9jdXNFbGVtZW50U29vbigpOwog
fQogCiAvLyBGSVhNRTogVGhpcyBpcyBhIGJhZCBpZGVhIGFuZCBuZWVkcyB0byBiZSByZW1vdmVk
IGV2ZW50dWFsbHkuCkBAIC00Njg2LDYgKzQ2OTMsMTIgQEAgdm9pZCBEb2N1bWVudDo6Y2FuY2Vs
Rm9jdXNBcHBlYXJhbmNlVXBkYXRlKCkKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVy
LnN0b3AoKTsKIH0KIAordm9pZCBEb2N1bWVudDo6cmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRTb29u
KCkKK3sKKyAgICBpZiAoIW1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lci5pc0FjdGl2ZSgp
ICYmIG1fZm9jdXNlZEVsZW1lbnQpCisgICAgICAgIG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBw
ZWFyYW5jZVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKIHsKICAgICBFbGVtZW50KiBlbGVt
ZW50ID0gZm9jdXNlZEVsZW1lbnQoKTsKQEAgLTQ2OTcsNiArNDcxMCwxNSBAQCB2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCiAg
ICAgICAgIGVsZW1lbnQtPnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShtX3VwZGF0ZUZvY3VzQXBwZWFy
YW5jZVJlc3RvcmVzU2VsZWN0aW9uKTsKIH0KIAordm9pZCBEb2N1bWVudDo6cmVzZXRIaWRkZW5G
b2N1c0VsZW1lbnRUaW1lcihUaW1lcjxEb2N1bWVudD4qKQoreworICAgIGlmICh2aWV3KCkgJiYg
dmlldygpLT5uZWVkc0xheW91dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9mb2N1
c2VkRWxlbWVudCAmJiAhbV9mb2N1c2VkRWxlbWVudC0+aXNGb2N1c2FibGUoKSkKKyAgICAgICAg
c2V0Rm9jdXNlZEVsZW1lbnQoMCk7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmF0dGFjaFJhbmdlKFJh
bmdlKiByYW5nZSkKIHsKICAgICBBU1NFUlQoIW1fcmFuZ2VzLmNvbnRhaW5zKHJhbmdlKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IDlkMTJlNWVlYWQzOWI4ZWRhYmY4MTQwZTEwNjczY2VkNDc0
NGQ5NTEuLjc0ZjQ4ZTljZjgxMDU2MmU2ZGE2MTIyZTFiNzEzZTEyMTU5MzQ4MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC05MTgsNyArOTE4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRh
dGVGb2N1c0FwcGVhcmFuY2VTb29uKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKTsKICAg
ICB2b2lkIGNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpOwotICAgICAgICAKKworICAgIHZv
aWQgcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRTb29uKCk7CisKICAgICAvLyBFeHRlbnNpb24gZm9y
IG1hbmlwdWxhdGluZyBjYW52YXMgZHJhd2luZyBjb250ZXh0cyBmb3IgdXNlIGluIENTUwogICAg
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQqIGdldENTU0NhbnZhc0NvbnRleHQoY29uc3QgU3RyaW5n
JiB0eXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CiAgICAg
SFRNTENhbnZhc0VsZW1lbnQqIGdldENTU0NhbnZhc0VsZW1lbnQoY29uc3QgU3RyaW5nJiBuYW1l
KTsKQEAgLTEyMjUsNiArMTIyNyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVGb2N1c0Fw
cGVhcmFuY2VUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwogICAgIHZvaWQgdXBkYXRlQmFz
ZVVSTCgpOwogCisgICAgdm9pZCByZXNldEhpZGRlbkZvY3VzRWxlbWVudFRpbWVyKFRpbWVyPERv
Y3VtZW50PiopOworCiAgICAgdm9pZCBidWlsZEFjY2Vzc0tleU1hcChUcmVlU2NvcGUqIHJvb3Qp
OwogCiAgICAgdm9pZCBjcmVhdGVTdHlsZVJlc29sdmVyKCk7CkBAIC0xMzc2LDYgKzEzODAsNyBA
QCBwcml2YXRlOgogICAgIGNvbnN0IE93blB0cjxEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI+IG1f
bWFya2VyczsKICAgICAKICAgICBUaW1lcjxEb2N1bWVudD4gbV91cGRhdGVGb2N1c0FwcGVhcmFu
Y2VUaW1lcjsKKyAgICBUaW1lcjxEb2N1bWVudD4gbV9yZXNldEhpZGRlbkZvY3VzRWxlbWVudFRp
bWVyOwogCiAgICAgRWxlbWVudCogbV9jc3NUYXJnZXQ7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZWRlMmJiMTk4Nzk4
ZTZkODYwY2I1ZTQ1OTg5YzBhZWEyMzkyOTc2Li5lNjRkNzdmZjc1NTc4NjgxN2YwYTlmNWQxODk2
NTkxZjg1MGU2YzUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDktMjAgIEFydW5wcmFz
YWQgUmFqa3VtYXIgIDxhcmFydW5wcmFzYWRAZ21haWwuY29tPgorCisgICAgICAgIEhpZGluZyBh
IGZvY3VzZWQgZWxlbWVudCBzaG91bGQgdW5mb2N1cyBpdCBhbmQgZmlyZSBhIGJsdXIgZXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxEb2N1bWVudC9hY3RpdmUtZWxlbWVu
dC1nZXRzLXVuZm9jdXNhYmxlLmh0bWw6IEFkZGVkLgorCisgICAgICAgIExheW91dFRlc3QgcmV1
c2VkIGZyb20gaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL2JsaW5r
LysvYzU4ZjYzNmZkMThmYzI3OTQ0YzQyZTI3ZDZhOTJhMzY4NjdjNTdlMQorICAgICAgICB3aXRo
IGxpdHRsZSBtb2RpZmljYXRpb24uCisKIDIwMTMtMDktMjAgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQmFkIGNhc3QgZnJvbSBDU1NJbml0aWFsVmFsdWUgdG8g
Q1NTVmFsdWVMaXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1l
bnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJs
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUxODBiZmJmY2E0NTViNGU2YjY4Mjg0YjQ4M2Q0
NGU2MmY4OTNkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxE
b2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE5IEBACitNYWtpbmcgYSBmb2N1c2VkIGVsZW1lbnQgaW52aXNpYmxlIHNob3VsZCBt
YWtlIGl0IGJsdXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCis9PT0+IFNldHRp
bmcgZGlzcGxheTpub25lCitFdmVudDogYmx1cgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgVGhlIGZvY3VzVGFyZ2V0IGVsZW1lbnQgbG9zdCBmb2N1
cy4KKworPT09PiBTZXR0aW5nIHZpc2liaWxpdHk6aGlkZGVuCitFdmVudDogYmx1cgorUEFTUyBk
b2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgVGhlIGZvY3VzVGFy
Z2V0IGVsZW1lbnQgbG9zdCBmb2N1cy4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxEb2N1bWVudC9hY3RpdmUtZWxlbWVudC1nZXRzLXVuZm9jdXNhYmxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvYWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJs
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhjMTRkZjBmYzc1YzU1MmVlNzUwMDBlYjA1NGQzYTU0ZWJmOTM1
NmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQv
YWN0aXZlLWVsZW1lbnQtZ2V0cy11bmZvY3VzYWJsZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0iZjEiPgorICA8ZGl2IHRhYmluZGV4
PSIxIiBpZD0iZGl2MSI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorZGVzY3JpcHRpb24oJ01ha2luZyBhIGZvY3VzZWQgZWxlbWVudCBpbnZpc2libGUg
c2hvdWxkIG1ha2UgaXQgYmx1ci4nKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIGZvY3Vz
VGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdjEnKTsKK3ZhciB0ZXN0U3RhZ2Ug
PSAwOwordmFyIHRlc3RUaW1lb3V0ID0gMDsKKworZG9jdW1lbnQuYm9keS5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICBmb2N1c1RhcmdldC5mb2N1cygpOworCisgICAgc2hvdWxkQmUoJ2RvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQnLCAnZm9jdXNUYXJnZXQnLCB0cnVlKTsKKyAgICBkZWJ1ZygnPT09
PiBTZXR0aW5nIGRpc3BsYXk6bm9uZScpOworICAgIHNldFRpbWVvdXQoImYxLnN0eWxlLmRpc3Bs
YXkgPSAnbm9uZSciLDApOworCisgICAgdGVzdFRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeworICAgICAgICB0ZXN0RmFpbGVkKCdUaW1lb3V0OiBEaWRuXCd0IGxvb3NlIGZvY3VzLicp
OworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9LCAxMDAwKTsKK307CisKK2ZvY3VzVGFy
Z2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygnRXZl
bnQ6IGJsdXInKTsKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICdkb2N1
bWVudC5ib2R5Jyk7CisgICAgdGVzdFBhc3NlZCgnVGhlIGZvY3VzVGFyZ2V0IGVsZW1lbnQgbG9z
dCBmb2N1cy4nKTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBpZiAodGVzdFN0YWdlKysgPT0gMCkg
eworICAgICAgICBmMS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKKyAgICAgICAgZm9jdXNUYXJn
ZXQuZm9jdXMoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAn
Zm9jdXNUYXJnZXQnLCB0cnVlKTsKKyAgICAgICAgZGVidWcoJz09PT4gU2V0dGluZyB2aXNpYmls
aXR5OmhpZGRlbicpOworICAgICAgICBzZXRUaW1lb3V0KCJmMS5zdHlsZS52aXNpYmlsaXR5ID0g
J2hpZGRlbiciLDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGNsZWFyVGltZW91dCh0ZXN0VGlt
ZW91dCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>