<?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>54051</bug_id>
          
          <creation_ts>2011-02-08 17:38:51 -0800</creation_ts>
          <short_desc>plugins/invalidate_rect.html fails on linux ports</short_desc>
          <delta_ts>2011-07-13 14:58:08 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>53117</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sailesh Agrawal">sail</reporter>
          <assigned_to name="Sailesh Agrawal">sail</assigned_to>
          <cc>ademar</cc>
    
    <cc>andersca</cc>
    
    <cc>ariya.hidayat</cc>
    
    <cc>buildbot</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>girish</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>robert</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347853</commentid>
    <comment_count>0</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-02-08 17:38:51 -0800</bug_when>
    <thetext>I&apos;m checking in a new layout test that fails for chromium-mac. See:
https://bugs.webkit.org/show_bug.cgi?id=53117</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348148</commentid>
    <comment_count>1</comment_count>
      <attachid>81789</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-02-09 04:10:05 -0800</bug_when>
    <thetext>Created attachment 81789
Looks like linux and win are failing, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348149</commentid>
    <comment_count>2</comment_count>
      <attachid>81789</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-02-09 04:10:56 -0800</bug_when>
    <thetext>Comment on attachment 81789
Looks like linux and win are failing, too.

I&apos;d like to use commit queue to land this unreviewed fix as currently my local repository is broken...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348174</commentid>
    <comment_count>3</comment_count>
      <attachid>81789</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-02-09 05:57:21 -0800</bug_when>
    <thetext>Comment on attachment 81789
Looks like linux and win are failing, too.

Clearing flags as I could land this by myself before cq lands this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348190</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-09 06:43:07 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 81789:

http/tests/websocket/tests/httponly-cookie.pl bug 54097 (author: abarth@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348362</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-09 10:32:38 -0800</bug_when>
    <thetext>It looks like the Linux and Win expectations patch landed in http://trac.webkit.org/changeset/78048 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349438</commentid>
    <comment_count>6</comment_count>
      <attachid>82061</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-02-10 15:31:45 -0800</bug_when>
    <thetext>Created attachment 82061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349442</commentid>
    <comment_count>7</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-02-10 15:34:11 -0800</bug_when>
    <thetext>This patch fixes the layout test on chromium Windows.

It should also fixes the test for Safari Windows. Unfortunately I have no way to tell if it does. I&apos;m using Visual Studio 2008 and I can&apos;t build the Safari port of WebKit. Is there any way to tell for sure?

Thanks,
Sailesh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349454</commentid>
    <comment_count>8</comment_count>
      <attachid>82061</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-10 15:43:41 -0800</bug_when>
    <thetext>Comment on attachment 82061
Patch

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

Could someone with a working Safari/win build test this out?  They are somewhat difficult to set up (and require VS2005).

&gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:1000
&gt; +    rect.left = (int)NPVARIANT_TO_DOUBLE(args[0]);
&gt; +    rect.top = (int)NPVARIANT_TO_DOUBLE(args[1]);
&gt; +    rect.right = (int)NPVARIANT_TO_DOUBLE(args[2]);
&gt; +    rect.bottom = (int)NPVARIANT_TO_DOUBLE(args[3]);

we typically use static_cast&lt;&gt; for this rather than c-style casts

&gt; LayoutTests/platform/chromium/test_expectations.txt:3260
&gt; +BUGWK54051 MAc LINUX : plugins/invalidate_rect.html = FAIL

typo: MAC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349455</commentid>
    <comment_count>9</comment_count>
      <attachid>82061</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-10 15:45:21 -0800</bug_when>
    <thetext>Comment on attachment 82061
Patch

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

Mostly looks good. A few minor issues. Looks like James caught all but one. Regarding passing on Safari Win, you could file a separate bug or submit a separate patch to enable the test there, we could commit it and see whether it passes on the bots.

&gt;&gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:1000
&gt;&gt; +    rect.left = (int)NPVARIANT_TO_DOUBLE(args[0]);
&gt;&gt; +    rect.top = (int)NPVARIANT_TO_DOUBLE(args[1]);
&gt;&gt; +    rect.right = (int)NPVARIANT_TO_DOUBLE(args[2]);
&gt;&gt; +    rect.bottom = (int)NPVARIANT_TO_DOUBLE(args[3]);
&gt; 
&gt; we typically use static_cast&lt;&gt; for this rather than c-style casts

Use static_cast&lt;int&gt;(...).

&gt; Tools/DumpRenderTree/TestNetscapePlugIn/main.cpp:267
&gt; +                windowed = (void*)(1);

Use static_cast&lt;void*&gt;(...).

&gt;&gt; LayoutTests/platform/chromium/test_expectations.txt:3260
&gt;&gt; +BUGWK54051 MAc LINUX : plugins/invalidate_rect.html = FAIL
&gt; 
&gt; typo: MAC

MAC, not MAc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349460</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 15:48:44 -0800</bug_when>
    <thetext>Attachment 82061 did not build on chromium:
Build output: http://queues.webkit.org/results/7886479</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349472</commentid>
    <comment_count>11</comment_count>
      <attachid>82067</attachid>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-02-10 16:00:00 -0800</bug_when>
    <thetext>Created attachment 82067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349477</commentid>
    <comment_count>12</comment_count>
    <who name="Sailesh Agrawal">sail</who>
    <bug_when>2011-02-10 16:02:17 -0800</bug_when>
    <thetext>Addressed review comments.

&gt; Regarding passing on Safari Win, you could file a separate bug or submit a separate patch to enable the test there, we could commit it and see whether it passes on the bots.

Sounds good. I dropped LayoutTests/platform/win/plugins/invalidate_rect-expected.txt from this patch. I&apos;ll send it out separately in bug 54122.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349479</commentid>
    <comment_count>13</comment_count>
      <attachid>82067</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-10 16:05:52 -0800</bug_when>
    <thetext>Comment on attachment 82067
Patch

Looks fine. Let&apos;s wait for it to pass the EWS bots before cq+&apos;ing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349484</commentid>
    <comment_count>14</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-10 16:14:12 -0800</bug_when>
    <thetext>Attachment 82061 did not build on win:
Build output: http://queues.webkit.org/results/7869505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349929</commentid>
    <comment_count>15</comment_count>
      <attachid>82067</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 12:41:43 -0800</bug_when>
    <thetext>Comment on attachment 82067
Patch

Clearing flags on attachment: 82067

Committed r78359: &lt;http://trac.webkit.org/changeset/78359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349930</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 12:41:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396004</commentid>
    <comment_count>17</comment_count>
      <attachid>91834</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-01 12:44:18 -0700</bug_when>
    <thetext>Created attachment 91834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396007</commentid>
    <comment_count>18</comment_count>
      <attachid>91834</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-01 12:51:26 -0700</bug_when>
    <thetext>Comment on attachment 91834
Patch

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

&gt; Source/WebKit/qt/WebCoreSupport/PageClientQt.h:101
&gt;      virtual bool allowsAcceleratedCompositing() const { return false; }

Girish/Ariya,

Can you comment on this part? Am I right in thinking a platformPageClient() that is a PageClientQWidget() will always have a parent QWebView, rather than a QGraphicsWebView, and so will never propagate accelerated compositing events? And that a page client widget created from a QGraphicsWebView will always have a PageClientQGrapicsWidget ?

Testing drt with &apos;QT_DRT_WEBVIEW_MODE=graphics&apos; to toggle the use of QGraphicsWebView and QWebView suggests I am right, but I would be happy if you could make sure you&apos;re happy with the change here and in PluginViewQt.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401026</commentid>
    <comment_count>19</comment_count>
      <attachid>91834</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-09 20:57:27 -0700</bug_when>
    <thetext>Comment on attachment 91834
Patch

Cleared review? from attachment 91834 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401299</commentid>
    <comment_count>20</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-10 10:28:22 -0700</bug_when>
    <thetext>Reopening for qt fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401797</commentid>
    <comment_count>21</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2011-05-10 23:35:55 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 91834 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=91834&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/qt/WebCoreSupport/PageClientQt.h:101
&gt; &gt;      virtual bool allowsAcceleratedCompositing() const { return false; }
&gt; 
&gt; Girish/Ariya,
&gt; 
&gt; Can you comment on this part? Am I right in thinking a platformPageClient() that is a PageClientQWidget() will always have a parent QWebView, rather than a QGraphicsWebView, and so will never propagate accelerated compositing events? And that a page client widget created from a QGraphicsWebView will always have a PageClientQGrapicsWidget ?
&gt; 

That is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401809</commentid>
    <comment_count>22</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2011-05-11 00:03:30 -0700</bug_when>
    <thetext> #if USE(ACCELERATED_COMPOSITING) &amp;&amp; !USE(TEXTURE_MAPPER)
-        if (m_parentFrame-&gt;page()-&gt;chrome()-&gt;client()-&gt;allowsAcceleratedCompositing()
+        if (m_parentFrame-&gt;view()-&gt;hostWindow()-&gt;platformPageClient()-&gt;allowsAcceleratedCompositing()

The above two should really have the same effect, no? Isn&apos;t the actual problem that we have not reimplemented ChromeClientQt::allowsAcceleratedCompositing() to return platformPageClient()-&gt;allowsAcceleratedCompositing()?

-#if USE(ACCELERATED_COMPOSITING) &amp;&amp; USE(TEXTURE_MAPPER)
-    virtual bool allowsAcceleratedCompositing() const { return true; }
-#else
+    // Accelerated compositing is supported by QGraphicsWebView, so any QGraphicsWidgets
+    // implemented under a QWebPageClient will never receive the appropriate paint events
     virtual bool allowsAcceleratedCompositing() const { return false; }
-#endif

I think QWebView actually support AC when compiled with TEXTURE_MAPPER. If that is the case, the above change is not correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403088</commentid>
    <comment_count>23</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-12 12:57:19 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt;  #if USE(ACCELERATED_COMPOSITING) &amp;&amp; !USE(TEXTURE_MAPPER)
&gt; -        if (m_parentFrame-&gt;page()-&gt;chrome()-&gt;client()-&gt;allowsAcceleratedCompositing()
&gt; +        if (m_parentFrame-&gt;view()-&gt;hostWindow()-&gt;platformPageClient()-&gt;allowsAcceleratedCompositing()
&gt; 
&gt; The above two should really have the same effect, no? Isn&apos;t the actual problem that we have not reimplemented ChromeClientQt::allowsAcceleratedCompositing() to return platformPageClient()-&gt;allowsAcceleratedCompositing()?

Sounds right. That would be the right fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403089</commentid>
    <comment_count>24</comment_count>
      <attachid>91834</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-05-12 12:59:00 -0700</bug_when>
    <thetext>Comment on attachment 91834
Patch

This would break texture-mapper. texture-mapper allows accelerated compositing with QWebView, you&apos;re essentially disabling it with no good reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404719</commentid>
    <comment_count>25</comment_count>
      <attachid>93694</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-16 14:34:36 -0700</bug_when>
    <thetext>Created attachment 93694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404722</commentid>
    <comment_count>26</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-16 14:36:19 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 91834 [details])
&gt; This would break texture-mapper. texture-mapper allows accelerated compositing with QWebView, you&apos;re essentially disabling it with no good reason.

Right enough, I was misreading the compile guards. (i.e. mistaking USE(ACCELERATED_COMPOSITING) &amp;&amp; USE(TEXTURE_MAPPER) and USE(ACCELERATED_COMPOSITING) &amp;&amp; !USE(TEXTURE_MAPPER) as the same).

Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404956</commentid>
    <comment_count>27</comment_count>
    <who name="Girish Ramakrishnan">girish</who>
    <bug_when>2011-05-16 23:46:52 -0700</bug_when>
    <thetext>Looks good to me. Can some reviewer r+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404978</commentid>
    <comment_count>28</comment_count>
      <attachid>93694</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-05-17 01:47:30 -0700</bug_when>
    <thetext>Comment on attachment 93694
Patch

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

&gt; Tools/DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:108
&gt; +                    assert(false);

why not the ASSERT macro?

&gt; Tools/DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:298
&gt; +            if (obj-&gt;eventLogging)
&gt; +                pluginLog(instance, &quot;mouseUp at (%d, %d)&quot;, evt-&gt;xbutton.x, evt-&gt;xbutton.y);

What about putting that if inside the pluginLog? is that possible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405174</commentid>
    <comment_count>29</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-17 11:06:06 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (From update of attachment 93694 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93694&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:108
&gt; &gt; +                    assert(false);
&gt; 
&gt; why not the ASSERT macro?

Both of these are stock code from the windows test plugin. assert() seems to be the standard both there and in the unix plugin.
&gt; 
&gt; &gt; Tools/DumpRenderTree/unix/TestNetscapePlugin/TestNetscapePlugin.cpp:298
&gt; &gt; +            if (obj-&gt;eventLogging)
&gt; &gt; +                pluginLog(instance, &quot;mouseUp at (%d, %d)&quot;, evt-&gt;xbutton.x, evt-&gt;xbutton.y);
&gt; 
&gt; What about putting that if inside the pluginLog? is that possible?

Yes, I think so but not without some heavy refactoring - there&apos;s lots of common code that could be removed in both the unix and windows plugins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405278</commentid>
    <comment_count>30</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-05-17 13:58:41 -0700</bug_when>
    <thetext>Committed r86706: &lt;http://trac.webkit.org/changeset/86706&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436690</commentid>
    <comment_count>31</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-07-13 14:58:08 -0700</bug_when>
    <thetext>Revision r86706 cherry-picked into qtwebkit-2.2 with commit 5866e6f &lt;http://gitorious.org/webkit/qtwebkit/commit/5866e6f&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81789</attachid>
            <date>2011-02-09 04:10:05 -0800</date>
            <delta_ts>2011-05-01 12:44:06 -0700</delta_ts>
            <desc>Looks like linux and win are failing, too.</desc>
            <filename>bug-54051-20110209211003.patch</filename>
            <type>text/plain</type>
            <size>1304</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzgwMzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YWQ5ZDBlNDYzYmNmYTUwMDJmZDgx
ZGIzN2I0NTE2NDY1ZTFmOTFjLi5lNzE5MzVlOWE0M2VlMTliMThmYjJmOWJlNDVmNmI1MDkwNjZi
YmNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMDkgIFNoaW5pY2hpcm8gSGFtYWpp
ICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaHJvbWl1bTogdXBkYXRlIGV4cGVj
dGF0aW9ucworCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0IGlzIGZhaWxpbmcgb24g
bGludXggYW5kIHdpbiwgdG9vLgorCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0
bWwgZmFpbHMgb24gY2hyb21pdW0tbWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NDA1MQorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTAyLTA5ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9p
c2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDg1YWM5
Y2NmNmE4YzA1NTU1NmFjMTI1Y2U2MThiMGRlYWQzMTVjNDMuLjg3MjFiZjA5ODAxNGY2YzllMzg0
YjViYWNiNzM5ZTlkYzYzN2I5YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMyNTYsNCArMzI1Niw0IEBAIEJVR19a
TU8gOiBlZGl0aW5nL3VuZG8vdW5kby1wYXN0ZS13aGVuLWNhcmV0LWlzLW5vdC1pbi1yYW5nZS5o
dG1sID0gUEFTUyBNSVNTSU5HCiAvLyB0ZW1wb3JhcnkgZm9yIHJlYmFzZWxpbmUgYWZ0ZXIgcjc3
NzgxCiBCVUdfTE9JU0xPIDogZmFzdC9pbnZhbGlkL3Jlc2lkdWFsLXN0eWxlLmh0bWwgPSBURVhU
CiAKLUJVR1dLNTQwNTEgTUFDIDogcGx1Z2lucy9pbnZhbGlkYXRlX3JlY3QuaHRtbCA9IEZBSUwK
K0JVR1dLNTQwNTEgOiBwbHVnaW5zL2ludmFsaWRhdGVfcmVjdC5odG1sID0gRkFJTAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82061</attachid>
            <date>2011-02-10 15:31:45 -0800</date>
            <delta_ts>2011-02-10 15:59:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54051-20110210153144.patch</filename>
            <type>text/plain</type>
            <size>6933</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc4MjcwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTEtMDItMTAgIFNhaWxlc2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBsdWdp
bnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24gY2hyb21pdW0tbWFjCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA1MQorCisgICAgICAgIFRo
aXMgY2hhbmdlIGZpeGVzIHRoZSBpbnZhbGlkYXRlX3JlY3QuaHRtbCB0ZXN0IGZhaWx1cmUgb24g
V2luZG93cy4KKworICAgICAgICBUaGVyZSB3ZXJlIHR3byBwcm9ibGVtcy4gRmlyc3QsIHRoZSB0
ZXN0IHNwZWNpZmllZCB0aGF0IHRoZSBwbHVnaW4gd2FzIHdpbmRvdyBsZXNzIGJ5IGRvaW5nIDxl
bWJlZCAuLi4gd2luZG93ZWRQbHVnaW49ImZhbHNlIj48L2VtYmVkPi4gVGhlIHdpbmRvd2VkUGx1
Z2luIHBhcmFtZXRlciB3YXMgbmV2ZXIgYmVpbmcgcmVhZCBieSB0aGUgcGx1Z2luLiBGaXggd2Fz
IHRvIHNpbXBseSBzZXQgdGhlIE5QUFZwbHVnaW5XaW5kb3dCb29sIHZhcmlhYmxlIGJhc2VkIG9u
IHRoZSBwYXJhbWV0ZXIuCisKKyAgICAgICAgVGhlIHNlY29uZCBwcm9ibGVtIHdhcyB0aGF0IHRo
ZSBwbHVnaW4gbmV2ZXIgaGFuZGxlZCBwYWludCBldmVudHMgb24gV2luZG93cy4gRml4IHdhcyB0
byBzaW1wbHkgY29weSB0aGUgTWFjIGNvZGUgdG8gaGFuZGxlIHBhaW50IGV2ZW50cy4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBhbHNvIHVwZGF0ZXMgdGhlIGJ1aWxkIHBhdGggaW4gY2hyb21pdW1f
d2luLnB5IHRvIHVzZSB0aGUgbmV3IFNvdXJjZSBkaXJlY3RvcnkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcDoKKyAgICAgICAg
KGludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQ
bHVnSW4vbWFpbi5jcHA6CisgICAgICAgIChOUFBfTmV3KToKKyAgICAgICAgKGhhbmRsZUV2ZW50
V2luKToKKyAgICAgICAgKE5QUF9IYW5kbGVFdmVudCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisKIDIwMTEtMDItMTAgIFJv
YmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExh
c3psbyBHb21ib3MuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4vUGx1Z2luT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAkocmV2aXNpb24gNzgwOTApCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTk0LDExICs5OTQsMTEgQEAgc3RhdGljIGJvb2wgaW52YWxpZGF0
ZVJlY3QoUGx1Z2luT2JqZWN0KgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBOUFJlY3Qg
cmVjdDsKLSAgICByZWN0LmxlZnQgPSBOUFZBUklBTlRfVE9fRE9VQkxFKGFyZ3NbMF0pOwotICAg
IHJlY3QudG9wID0gTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzFdKTsKLSAgICByZWN0LnJpZ2h0
ID0gTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzJdKTsKLSAgICByZWN0LmJvdHRvbSA9IE5QVkFS
SUFOVF9UT19ET1VCTEUoYXJnc1szXSk7Ci0gICAgCisgICAgcmVjdC5sZWZ0ID0gKGludClOUFZB
UklBTlRfVE9fRE9VQkxFKGFyZ3NbMF0pOworICAgIHJlY3QudG9wID0gKGludClOUFZBUklBTlRf
VE9fRE9VQkxFKGFyZ3NbMV0pOworICAgIHJlY3QucmlnaHQgPSAoaW50KU5QVkFSSUFOVF9UT19E
T1VCTEUoYXJnc1syXSk7CisgICAgcmVjdC5ib3R0b20gPSAoaW50KU5QVkFSSUFOVF9UT19ET1VC
TEUoYXJnc1szXSk7CisKICAgICBicm93c2VyLT5pbnZhbGlkYXRlcmVjdChvYmotPm5wcCwgJnJl
Y3QpOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE5ldHNjYXBlUGx1Z0luL21haW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcAkocmV2aXNpb24gNzgwOTApCisrKyBUb29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1OSwxMiArMjU5LDIwIEBAIE5QRXJyb3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdp
blR5cGUsIE4KICAgICAgICAgICAgIC8vIFdoZW4gdGVzdGluZyBldmFsdWF0ZSBzY3JpcHQgb24g
bW91c2UtZG93biBvciBrZXktZG93biwgYWxsb3cgZXZlbnQgbG9nZ2luZyB0byBoYW5kbGUgZXZl
bnRzLgogICAgICAgICAgICAgaWYgKG9iai0+ZXZhbHVhdGVTY3JpcHRPbk1vdXNlRG93bk9yS2V5
RG93bikKICAgICAgICAgICAgICAgICBvYmotPmV2ZW50TG9nZ2luZyA9IHRydWU7CisgICAgICAg
IH0gZWxzZSBpZiAoIXN0cmNhc2VjbXAoYXJnbltpXSwgIndpbmRvd2VkUGx1Z2luIikpIHsKKyAg
ICAgICAgICAgIHZvaWQqIHdpbmRvd2VkID0gMDsKKyAgICAgICAgICAgIGlmICghc3RyY2FzZWNt
cChhcmd2W2ldLCAiZmFsc2UiKSB8fCAhc3RyY2FzZWNtcChhcmd2W2ldLCAiMCIpKQorICAgICAg
ICAgICAgICAgIHdpbmRvd2VkID0gMDsKKyAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjYXNlY21w
KGFyZ3ZbaV0sICJ0cnVlIikgfHwgIXN0cmNhc2VjbXAoYXJndltpXSwgIjEiKSkKKyAgICAgICAg
ICAgICAgICB3aW5kb3dlZCA9ICh2b2lkKikoMSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgYXNzZXJ0KGZhbHNlKTsKKyAgICAgICAgICAgIGJyb3dzZXItPnNldHZhbHVlKGlu
c3RhbmNlLCBOUFBWcGx1Z2luV2luZG93Qm9vbCwgd2luZG93ZWQpOwogICAgICAgICB9CiAgICAg
fQogCiAjaWZkZWYgWFBfTUFDT1NYCiAgICAgYnJvd3Nlci0+c2V0dmFsdWUoaW5zdGFuY2UsIE5Q
UFZwbHVnaW5EcmF3aW5nTW9kZWwsICh2b2lkICopZHJhd2luZ01vZGVsVG9Vc2UpOwotI2lmICFk
ZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKQogICAgIGlmIChkcmF3aW5nTW9kZWxUb1VzZSA9PSBO
UERyYXdpbmdNb2RlbENvcmVBbmltYXRpb24pCiAgICAgICAgIG9iai0+Y29yZUFuaW1hdGlvbkxh
eWVyID0gY3JlYXRlQ29yZUFuaW1hdGlvbkxheWVyKCk7CiAjZW5kaWYKQEAgLTY2Niw2ICs2NzQs
MTkgQEAgc3RhdGljIGludDE2X3QgaGFuZGxlRXZlbnRYMTEoTlBQIGluc3RhbgogfQogI2VuZGlm
IC8vIFhQX1VOSVgKIAorI2lmZGVmIFhQX1dJTgorc3RhdGljIGludDE2X3QgaGFuZGxlRXZlbnRX
aW4oTlBQIGluc3RhbmNlLCBQbHVnaW5PYmplY3QqIG9iaiwgTlBFdmVudCogZXZlbnQpCit7Cisg
ICAgc3dpdGNoIChldmVudC0+ZXZlbnQpIHsKKyAgICBjYXNlIFdNX1BBSU5UOgorICAgICAgICBp
ZiAob2JqLT5vblBhaW50RXZlbnQpCisgICAgICAgICAgICBleGVjdXRlU2NyaXB0KG9iaiwgb2Jq
LT5vblBhaW50RXZlbnQpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgcmV0dXJuIDA7
Cit9CisjZW5kaWYgLy8gWFBfV0lOCisKIGludDE2X3QgTlBQX0hhbmRsZUV2ZW50KE5QUCBpbnN0
YW5jZSwgdm9pZCAqZXZlbnQpCiB7CiAgICAgUGx1Z2luT2JqZWN0KiBvYmogPSBzdGF0aWNfY2Fz
dDxQbHVnaW5PYmplY3QqPihpbnN0YW5jZS0+cGRhdGEpOwpAQCAtNjgwLDYgKzcwMSw4IEBAIGlu
dDE2X3QgTlBQX0hhbmRsZUV2ZW50KE5QUCBpbnN0YW5jZSwgdm8KICAgICByZXR1cm4gaGFuZGxl
RXZlbnRDb2NvYShpbnN0YW5jZSwgb2JqLCBzdGF0aWNfY2FzdDxOUENvY29hRXZlbnQqPihldmVu
dCkpOwogI2VsaWYgZGVmaW5lZChYUF9VTklYKQogICAgIHJldHVybiBoYW5kbGVFdmVudFgxMShp
bnN0YW5jZSwgb2JqLCBzdGF0aWNfY2FzdDxYRXZlbnQqPihldmVudCkpOworI2VsaWYgZGVmaW5l
ZChYUF9XSU4pCisgICAgcmV0dXJuIGhhbmRsZUV2ZW50V2luKGluc3RhbmNlLCBvYmosIHN0YXRp
Y19jYXN0PE5QRXZlbnQqPihldmVudCkpOwogI2Vsc2UKICAgICAvLyBGSVhNRTogSW1wbGVtZW50
IGZvciBvdGhlciBwbGF0Zm9ybXMuCiAgICAgcmV0dXJuIDA7CkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5w
eQkocmV2aXNpb24gNzgwOTApCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX3dpbi5weQkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBA
IGNsYXNzIENocm9taXVtV2luUG9ydChjaHJvbWl1bS5DaHJvbWl1bVAKICAgICAgICAgcCA9IHNl
bGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ2Nocm9tZScsICpjb21wcykKICAgICAgICAgaWYg
c2VsZi5fZmlsZXN5c3RlbS5leGlzdHMocCk6CiAgICAgICAgICAgICByZXR1cm4gcAotICAgICAg
ICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNl
KCksICdXZWJLaXQnLCAnY2hyb21pdW0nLCAqY29tcHMpCisgICAgICAgIHJldHVybiBzZWxmLl9m
aWxlc3lzdGVtLmpvaW4oc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwgJ1NvdXJjZScsICdX
ZWJLaXQnLCAnY2hyb21pdW0nLCAqY29tcHMpCiAKICAgICBkZWYgX2xpZ2h0dHBkX3BhdGgoc2Vs
ZiwgKmNvbXBzKToKICAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2Uo
J3RoaXJkX3BhcnR5JywgJ2xpZ2h0dHBkJywgJ3dpbicsCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3ODI3
MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDExLTAyLTEwICBTYWlsZXNoIEFncmF3YWwgIDxzYWlsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwbHVnaW5zL2lu
dmFsaWRhdGVfcmVjdC5odG1sIGZhaWxzIG9uIGNocm9taXVtLW1hYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwNTEKKworICAgICAgICBpbnZhbGlk
YXRlX3JlY3QuaHRtbCBzaG91bGQgbm93IHBhc3Mgb24gV2luZG93cy4gUmVtb3Zpbmcgc2tpcC4K
KworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vcGx1Z2lucy9pbnZhbGlkYXRlX3JlY3QtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorCiAyMDExLTAyLTEwICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZS4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDc4
MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMjU3LDYgKzMyNTcsNiBAQCBCVUdfWk1PIFJFQkFTRUxJ
TkUgV0lOIExJTlVYIDogZmFzdC9ib3gtCiBCVUdfWk1PIE1BQyA6IGZhc3QvYm94LXNoYWRvdy9p
bnNldC5odG1sID0gSU1BR0UKIEJVR19aTU8gV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2lu
c2V0LWJveC1zaGFkb3dzLmh0bWwgPSBJTUFHRStURVhUCiAKLUJVR1dLNTQwNTEgOiBwbHVnaW5z
L2ludmFsaWRhdGVfcmVjdC5odG1sID0gRkFJTAorQlVHV0s1NDA1MSBNQWMgTElOVVggOiBwbHVn
aW5zL2ludmFsaWRhdGVfcmVjdC5odG1sID0gRkFJTAogCiBCVUdDUjcyNDI4IDogZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLWhhc2guaHRtbCA9IFRFWFQKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9wbHVnaW5zL2ludmFsaWRhdGVfcmVjdC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3BsdWdpbnMv
aW52YWxpZGF0ZV9yZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzgwOTApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vcGx1Z2lucy9pbnZhbGlkYXRlX3JlY3QtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0cyB0aGF0IE5QTl9JbnZhbGlk
YXRlUmVjdCB3b3JrcyBjb3JyZWN0bHkuCi1GQUlMVVJFCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82067</attachid>
            <date>2011-02-10 16:00:00 -0800</date>
            <delta_ts>2011-05-01 12:44:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54051-20110210155959.patch</filename>
            <type>text/plain</type>
            <size>6282</size>
            <attacher name="Sailesh Agrawal">sail</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc4MjcwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTEtMDItMTAgIFNhaWxlc2ggQWdyYXdhbCAgPHNhaWxAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBsdWdp
bnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24gY2hyb21pdW0tbWFjCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA1MQorCisgICAgICAgIFRo
aXMgY2hhbmdlIGZpeGVzIHRoZSBpbnZhbGlkYXRlX3JlY3QuaHRtbCB0ZXN0IGZhaWx1cmUgb24g
V2luZG93cy4KKworICAgICAgICBUaGVyZSB3ZXJlIHR3byBwcm9ibGVtcy4gRmlyc3QsIHRoZSB0
ZXN0IHNwZWNpZmllZCB0aGF0IHRoZSBwbHVnaW4gd2FzIHdpbmRvdyBsZXNzIGJ5IGRvaW5nIDxl
bWJlZCAuLi4gd2luZG93ZWRQbHVnaW49ImZhbHNlIj48L2VtYmVkPi4gVGhlIHdpbmRvd2VkUGx1
Z2luIHBhcmFtZXRlciB3YXMgbmV2ZXIgYmVpbmcgcmVhZCBieSB0aGUgcGx1Z2luLiBGaXggd2Fz
IHRvIHNpbXBseSBzZXQgdGhlIE5QUFZwbHVnaW5XaW5kb3dCb29sIHZhcmlhYmxlIGJhc2VkIG9u
IHRoZSBwYXJhbWV0ZXIuCisKKyAgICAgICAgVGhlIHNlY29uZCBwcm9ibGVtIHdhcyB0aGF0IHRo
ZSBwbHVnaW4gbmV2ZXIgaGFuZGxlZCBwYWludCBldmVudHMgb24gV2luZG93cy4gRml4IHdhcyB0
byBzaW1wbHkgY29weSB0aGUgTWFjIGNvZGUgdG8gaGFuZGxlIHBhaW50IGV2ZW50cy4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBhbHNvIHVwZGF0ZXMgdGhlIGJ1aWxkIHBhdGggaW4gY2hyb21pdW1f
d2luLnB5IHRvIHVzZSB0aGUgbmV3IFNvdXJjZSBkaXJlY3RvcnkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcDoKKyAgICAgICAg
KGludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQ
bHVnSW4vbWFpbi5jcHA6CisgICAgICAgIChOUFBfTmV3KToKKyAgICAgICAgKGhhbmRsZUV2ZW50
V2luKToKKyAgICAgICAgKE5QUF9IYW5kbGVFdmVudCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6CisKIDIwMTEtMDItMTAgIFJv
YmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IExh
c3psbyBHb21ib3MuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4vUGx1Z2luT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAkocmV2aXNpb24gNzgwOTApCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTk0LDExICs5OTQsMTEgQEAgc3RhdGljIGJvb2wgaW52YWxpZGF0
ZVJlY3QoUGx1Z2luT2JqZWN0KgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBOUFJlY3Qg
cmVjdDsKLSAgICByZWN0LmxlZnQgPSBOUFZBUklBTlRfVE9fRE9VQkxFKGFyZ3NbMF0pOwotICAg
IHJlY3QudG9wID0gTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzFdKTsKLSAgICByZWN0LnJpZ2h0
ID0gTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzJdKTsKLSAgICByZWN0LmJvdHRvbSA9IE5QVkFS
SUFOVF9UT19ET1VCTEUoYXJnc1szXSk7Ci0gICAgCisgICAgcmVjdC5sZWZ0ID0gc3RhdGljX2Nh
c3Q8aW50PihOUFZBUklBTlRfVE9fRE9VQkxFKGFyZ3NbMF0pKTsKKyAgICByZWN0LnRvcCA9IHN0
YXRpY19jYXN0PGludD4oTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzFdKSk7CisgICAgcmVjdC5y
aWdodCA9IHN0YXRpY19jYXN0PGludD4oTlBWQVJJQU5UX1RPX0RPVUJMRShhcmdzWzJdKSk7Cisg
ICAgcmVjdC5ib3R0b20gPSBzdGF0aWNfY2FzdDxpbnQ+KE5QVkFSSUFOVF9UT19ET1VCTEUoYXJn
c1szXSkpOworCiAgICAgYnJvd3Nlci0+aW52YWxpZGF0ZXJlY3Qob2JqLT5ucHAsICZyZWN0KTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRz
Y2FwZVBsdWdJbi9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAJKHJldmlzaW9uIDc4MDkwKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTksNiArMjU5LDE1IEBAIE5QRXJyb3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5cGUs
IE4KICAgICAgICAgICAgIC8vIFdoZW4gdGVzdGluZyBldmFsdWF0ZSBzY3JpcHQgb24gbW91c2Ut
ZG93biBvciBrZXktZG93biwgYWxsb3cgZXZlbnQgbG9nZ2luZyB0byBoYW5kbGUgZXZlbnRzLgog
ICAgICAgICAgICAgaWYgKG9iai0+ZXZhbHVhdGVTY3JpcHRPbk1vdXNlRG93bk9yS2V5RG93bikK
ICAgICAgICAgICAgICAgICBvYmotPmV2ZW50TG9nZ2luZyA9IHRydWU7CisgICAgICAgIH0gZWxz
ZSBpZiAoIXN0cmNhc2VjbXAoYXJnbltpXSwgIndpbmRvd2VkUGx1Z2luIikpIHsKKyAgICAgICAg
ICAgIHZvaWQqIHdpbmRvd2VkID0gMDsKKyAgICAgICAgICAgIGlmICghc3RyY2FzZWNtcChhcmd2
W2ldLCAiZmFsc2UiKSB8fCAhc3RyY2FzZWNtcChhcmd2W2ldLCAiMCIpKQorICAgICAgICAgICAg
ICAgIHdpbmRvd2VkID0gMDsKKyAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjYXNlY21wKGFyZ3Zb
aV0sICJ0cnVlIikgfHwgIXN0cmNhc2VjbXAoYXJndltpXSwgIjEiKSkKKyAgICAgICAgICAgICAg
ICB3aW5kb3dlZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KDEpOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSk7CisgICAgICAgICAgICBicm93c2VyLT5z
ZXR2YWx1ZShpbnN0YW5jZSwgTlBQVnBsdWdpbldpbmRvd0Jvb2wsIHdpbmRvd2VkKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtNjY2LDYgKzY3NSwxOSBAQCBzdGF0aWMgaW50MTZfdCBoYW5kbGVF
dmVudFgxMShOUFAgaW5zdGFuCiB9CiAjZW5kaWYgLy8gWFBfVU5JWAogCisjaWZkZWYgWFBfV0lO
CitzdGF0aWMgaW50MTZfdCBoYW5kbGVFdmVudFdpbihOUFAgaW5zdGFuY2UsIFBsdWdpbk9iamVj
dCogb2JqLCBOUEV2ZW50KiBldmVudCkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50LT5ldmVudCkgewor
ICAgIGNhc2UgV01fUEFJTlQ6CisgICAgICAgIGlmIChvYmotPm9uUGFpbnRFdmVudCkKKyAgICAg
ICAgICAgIGV4ZWN1dGVTY3JpcHQob2JqLCBvYmotPm9uUGFpbnRFdmVudCk7CisgICAgICAgIHJl
dHVybiAxOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZiAvLyBYUF9XSU4KKwogaW50
MTZfdCBOUFBfSGFuZGxlRXZlbnQoTlBQIGluc3RhbmNlLCB2b2lkICpldmVudCkKIHsKICAgICBQ
bHVnaW5PYmplY3QqIG9iaiA9IHN0YXRpY19jYXN0PFBsdWdpbk9iamVjdCo+KGluc3RhbmNlLT5w
ZGF0YSk7CkBAIC02ODAsNiArNzAyLDggQEAgaW50MTZfdCBOUFBfSGFuZGxlRXZlbnQoTlBQIGlu
c3RhbmNlLCB2bwogICAgIHJldHVybiBoYW5kbGVFdmVudENvY29hKGluc3RhbmNlLCBvYmosIHN0
YXRpY19jYXN0PE5QQ29jb2FFdmVudCo+KGV2ZW50KSk7CiAjZWxpZiBkZWZpbmVkKFhQX1VOSVgp
CiAgICAgcmV0dXJuIGhhbmRsZUV2ZW50WDExKGluc3RhbmNlLCBvYmosIHN0YXRpY19jYXN0PFhF
dmVudCo+KGV2ZW50KSk7CisjZWxpZiBkZWZpbmVkKFhQX1dJTikKKyAgICByZXR1cm4gaGFuZGxl
RXZlbnRXaW4oaW5zdGFuY2UsIG9iaiwgc3RhdGljX2Nhc3Q8TlBFdmVudCo+KGV2ZW50KSk7CiAj
ZWxzZQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZm9yIG90aGVyIHBsYXRmb3Jtcy4KICAgICBy
ZXR1cm4gMDsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y2hyb21pdW1fd2luLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CShyZXZpc2lvbiA3ODA5MCkKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgY2xhc3MgQ2hyb21pdW1XaW5Qb3J0KGNocm9t
aXVtLkNocm9taXVtUAogICAgICAgICBwID0gc2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgn
Y2hyb21lJywgKmNvbXBzKQogICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmV4aXN0cyhwKToK
ICAgICAgICAgICAgIHJldHVybiBwCi0gICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmpv
aW4oc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSwgJ1dlYktpdCcsICdjaHJvbWl1bScsICpj
b21wcykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLnBhdGhfZnJv
bV93ZWJraXRfYmFzZSgpLCAnU291cmNlJywgJ1dlYktpdCcsICdjaHJvbWl1bScsICpjb21wcykK
IAogICAgIGRlZiBfbGlnaHR0cGRfcGF0aChzZWxmLCAqY29tcHMpOgogICAgICAgICByZXR1cm4g
c2VsZi5wYXRoX2Zyb21fY2hyb21pdW1fYmFzZSgndGhpcmRfcGFydHknLCAnbGlnaHR0cGQnLCAn
d2luJywKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MjcwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMTAgIFNhaWxlc2ggQWdy
YXdhbCAgPHNhaWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24g
Y2hyb21pdW0tbWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NDA1MQorCisgICAgICAgIGludmFsaWRhdGVfcmVjdC5odG1sIHNob3VsZCBub3cgcGFz
cyBvbiBXaW5kb3dzLiBSZW1vdmluZyBza2lwLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTAyLTEwICBaaGVueWFvIE1vICA8em1v
QGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZS4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQJKHJldmlzaW9uIDc4MDkwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMjU3LDYgKzMyNTcsNiBAQCBC
VUdfWk1PIFJFQkFTRUxJTkUgV0lOIExJTlVYIDogZmFzdC9ib3gtCiBCVUdfWk1PIE1BQyA6IGZh
c3QvYm94LXNoYWRvdy9pbnNldC5odG1sID0gSU1BR0UKIEJVR19aTU8gV0lOIExJTlVYIDogZmFz
dC9ib3gtc2hhZG93L2luc2V0LWJveC1zaGFkb3dzLmh0bWwgPSBJTUFHRStURVhUCiAKLUJVR1dL
NTQwNTEgOiBwbHVnaW5zL2ludmFsaWRhdGVfcmVjdC5odG1sID0gRkFJTAorQlVHV0s1NDA1MSBN
QUMgTElOVVggOiBwbHVnaW5zL2ludmFsaWRhdGVfcmVjdC5odG1sID0gRkFJTAogCiBCVUdDUjcy
NDI4IDogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLWhhc2gu
aHRtbCA9IFRFWFQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91834</attachid>
            <date>2011-05-01 12:44:18 -0700</date>
            <delta_ts>2011-05-12 12:59:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54051-20110501204417.patch</filename>
            <type>text/plain</type>
            <size>13564</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzOTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYTQzNjY1NjAzNTcxMTdlNDdhMmMz
OTI2MjAwN2M4OTc5ODBjYWRiLi4xMGY3ZGIwYWM5ZjMyYjU5OGFkMWI1MzY1YTFjYjlhODBiYTdk
NGRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDUtMDEgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24gbGludXggcG9y
dHMKKworICAgICAgICAtIE1ha2UgdGhlIHVuaXggdGVzdCBuZXRzY2FwZSBwbHVnaW4gcmVjb2du
aXplIHRoZSBvblBhaW50RXZlbnQKKyAgICAgICAgICBhbmQgd2luZG93ZWRQbHVnaW4gcGFyYW1l
dGVycy4KKyAgICAgICAgLSBPbiBRdCwgb25seSBpbnN0YW50aWF0ZSB0aGUgcGx1Z2luIGFzIGEg
UUdyYXBoaWNzV2lkZ2V0IGlmIHRoZQorICAgICAgICAgIHBhcmVudCB2aWV3IGlzIGEgUUdyYXBo
aWNzV2ViVmlldywgb3RoZXJ3aXNlIHRoZSBwbHVnaW4gd29uJ3QKKyAgICAgICAgICBnZXQgYW55
IHBhaW50IGV2ZW50cy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTQwNTEKKworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6IFVuc2tpcCBw
bHVnaW5zL2ludmFsaWR0ZV9yZWN0Lmh0bWwKKwogMjAxMS0wNC0zMCAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBkMzQ0OGE2YzkxNjNlNmYzMDA2YzMwMTdjNzA0
NmIxMmQ5ZTE4MGI1Li42MzJiODkwNzA2Y2M3N2QxZGUxMzhhNWNkM2ZmZGE0MjFkZWQwZGM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTM5Niw2ICszOTYsMTAgQEAgaHR0cC90ZXN0cy9w
bHVnaW5zL3BsdWdpbi1kb2N1bWVudC1oYXMtZm9jdXMuaHRtbAogIyBOZWVkIHRvIHNldCB0aGUg
WDExIGtleWNvZGUgaW4gRXZlbnRTZW5kZXIuIEFsc28gbmVlZHMgdG8gd29yayBvbiBhCiAjIGhl
YWRsZXNzIGRpc3BsYXkgKGxpa2UgdGhlIGJ1aWxkYm90KSwgc28gWEtleXN5bVRvS2V5Y29kZSBk
b2Vzbid0IHdvcmsuCiBwbHVnaW5zL2tleWJvYXJkLWV2ZW50cy5odG1sCisKKyMgVGltZXMgb3V0
CitwbHVnaW5zL3dpbmRvd2xlc3NfcGx1Z2luX3BhaW50X3Rlc3QuaHRtbAorCiAjID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PSAjCiAjICAgICAgIEZhaWxpbmcgZXhlY0NvbW1hbmQgdGVzdHMuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PSAjCkBAIC03MDgsMTAgKzcxMiw2IEBAIGphdmEKIGZhc3QvZG9tL1dpbmRvdy90aW1lci1yZXN1
bWUtb24tbmF2aWdhdGlvbi1iYWNrLmh0bWwKIGxvYWRlci9nby1iYWNrLXRvLWRpZmZlcmVudC13
aW5kb3ctc2l6ZS5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNwbGF5
SW52YWxpZGF0ZWRSZWdpb24oKQotcGx1Z2lucy9pbnZhbGlkYXRlX3JlY3QuaHRtbAotcGx1Z2lu
cy93aW5kb3dsZXNzX3BsdWdpbl9wYWludF90ZXN0Lmh0bWwKLQogIyBNaXNzaW5nIGxheW91dFRl
c3RDb250cm9sbGVyLmZpbmRTdHJpbmcoKSBodHRwOi8vd2Via2l0Lm9yZy9iLzUwMjM2CiBlZGl0
aW5nL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy5odG1sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4YmU5Mzdm
NmFjMTE3ODVlZDI3MmQyZWIzMTM5Yzg2YTA0ZjZlZmI2Li5kNDY5N2ZmMmZhMTdmZjYzMDkwMjM4
MDhiMzVkZjFhZjYxZmY5YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUt
MDEgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0
bWwgZmFpbHMgb24gbGludXggcG9ydHMKKworICAgICAgICAtIE1ha2UgdGhlIHVuaXggdGVzdCBu
ZXRzY2FwZSBwbHVnaW4gcmVjb2duaXplIHRoZSBvblBhaW50RXZlbnQKKyAgICAgICAgICBhbmQg
d2luZG93ZWRQbHVnaW4gcGFyYW1ldGVycy4KKyAgICAgICAgLSBPbiBRdCwgb25seSBpbnN0YW50
aWF0ZSB0aGUgcGx1Z2luIGFzIGEgUUdyYXBoaWNzV2lkZ2V0IGlmIHRoZQorICAgICAgICAgIHBh
cmVudCB2aWV3IGlzIGEgUUdyYXBoaWNzV2ViVmlldywgb3RoZXJ3aXNlIHRoZSBwbHVnaW4gd29u
J3QKKyAgICAgICAgICBnZXQgYW55IHBhaW50IGV2ZW50cy4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwNTEKKworICAgICAgICAqIHBsdWdpbnMv
UGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRl
V2luZG93bGVzc1BsdWdpblJlY3QpOgorICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luVmlld1F0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnBsYXRmb3JtU3RhcnQpOgorCiAy
MDExLTA0LTMwICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKaW5kZXggZmQyYjBiMGZjMTMxYzI2ODFiZDg2Y2Q1ZDdmZDY1NTk2MmRkYWI0My4uMmY0
MmE0YzM5NjE5ZmE2MTUzMmE2MjI2ZDFhZjA2ZmNiYWVhZTczYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMjIzLDExICsxMjIzLDExIEBAIHZvaWQgUGx1Z2luVmll
dzo6aW52YWxpZGF0ZVdpbmRvd2xlc3NQbHVnaW5SZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7
CiAgICAgaWYgKCFpc1Zpc2libGUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYg
KCFtX2VsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsKICAgICBSZW5kZXJCb3gq
IHJlbmRlcmVyID0gdG9SZW5kZXJCb3gobV9lbGVtZW50LT5yZW5kZXJlcigpKTsKLSAgICAKKwog
ICAgIEludFJlY3QgZGlydHlSZWN0ID0gcmVjdDsKICAgICBkaXJ0eVJlY3QubW92ZShyZW5kZXJl
ci0+Ym9yZGVyTGVmdCgpICsgcmVuZGVyZXItPnBhZGRpbmdMZWZ0KCksIHJlbmRlcmVyLT5ib3Jk
ZXJUb3AoKSArIHJlbmRlcmVyLT5wYWRkaW5nVG9wKCkpOwogICAgIHJlbmRlcmVyLT5yZXBhaW50
UmVjdGFuZ2xlKGRpcnR5UmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L3F0L1BsdWdpblZpZXdRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblZp
ZXdRdC5jcHAKaW5kZXggY2FkZjkyOGI2MGRhOTk2ZmY1M2Y5NjUyNjYwYWM2N2E3ZWM3MGI0MC4u
YmM1ZGMwNmI4YTY0MmUyMWFiY2IzNWMzODk0NjFmYWRkM2IwMmVlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5WaWV3UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsdWdpbnMvcXQvUGx1Z2luVmlld1F0LmNwcApAQCAtOTQyLDcgKzk0Miw3IEBAIGJvb2wg
UGx1Z2luVmlldzo6cGxhdGZvcm1TdGFydCgpCiAgICAgICAgIG1fcGx1Z2luRGlzcGxheSA9IGdl
dFBsdWdpbkRpc3BsYXkoKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYg
IVVTRShURVhUVVJFX01BUFBFUikKLSAgICAgICAgaWYgKG1fcGFyZW50RnJhbWUtPnBhZ2UoKS0+
Y2hyb21lKCktPmNsaWVudCgpLT5hbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKKyAgICAg
ICAgaWYgKG1fcGFyZW50RnJhbWUtPnZpZXcoKS0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VD
bGllbnQoKS0+YWxsb3dzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpCiAgICAgICAgICAgICAmJiBt
X3BhcmVudEZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCkgCiAgICAgICAgICAgICAmJiBtX3BhcmVu
dEZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
KCkpIHsKICAgICAgICAgICAgIG1fcGxhdGZvcm1MYXllciA9IG5ldyBQbHVnaW5HcmFwaGljc0xh
eWVyUXQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDkzYzI0ZTVjMmMyNjM4ZmFlMzE2NzUxNjMw
MDdmMjFiMDZkMjVlMjguLjFhYzc3ZmFjNTFhYzA1MmE3ZGU4MjQ1ODZiNGYxNjRjNDk4MTRmZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMDEgIFJvYmVydCBIb2dh
biAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24gbGlu
dXggcG9ydHMKKworICAgICAgICAtIE1ha2UgdGhlIHVuaXggdGVzdCBuZXRzY2FwZSBwbHVnaW4g
cmVjb2duaXplIHRoZSBvblBhaW50RXZlbnQKKyAgICAgICAgICBhbmQgd2luZG93ZWRQbHVnaW4g
cGFyYW1ldGVycy4KKyAgICAgICAgLSBPbiBRdCwgb25seSBpbnN0YW50aWF0ZSB0aGUgcGx1Z2lu
IGFzIGEgUUdyYXBoaWNzV2lkZ2V0IGlmIHRoZQorICAgICAgICAgIHBhcmVudCB2aWV3IGlzIGEg
UUdyYXBoaWNzV2ViVmlldywgb3RoZXJ3aXNlIHRoZSBwbHVnaW4gd29uJ3QKKyAgICAgICAgICBn
ZXQgYW55IHBhaW50IGV2ZW50cy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQwNTEKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BhZ2VDbGll
bnRRdC5oOiBBIFBhZ2VDbGllbnRRV2lkZ2V0IHNob3VsZG4ndCBzdXBwb3J0CisgICAgICAgICAg
YWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcsIGFzIGEgUUdyYXBoaWNzV2lkZ2V0IGNyZWF0ZWQgZnJv
bSBpdCB3aWxsCisgICAgICAgICAgbmV2ZXIgcmVjZWl2ZSB0aGUgcGFpbnQgZXZlbnRzIGl0IGV4
cGVjdHMgZnJvbSBRV2ViVmlldy4KKwogMjAxMS0wNC0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaAppbmRleCAxNmJi
NTBjYmJkYjU2YTBjMGU5MmFiZDlmNTMwMzE1MmEyNzRhZTdjLi42NDhmNWNmZmFhYmE0NjE1YjE2
NDhhYmYxYzRkZjM0OWZhOTFiMWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGFnZUNsaWVudFF0LmgKQEAgLTk2LDExICs5Niw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHN5bmNMYXllcnMoVGltZXI8UGFnZUNsaWVudFFXaWRnZXQ+Kik7CiAjZW5kaWYKIAotI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSKQotICAgIHZp
cnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQotI2Vsc2UKKyAgICAvLyBBY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBzdXBwb3J0
ZWQgYnkgUUdyYXBoaWNzV2ViVmlldywgc28gYW55IFFHcmFwaGljc1dpZGdldHMKKyAgICAvLyBp
bXBsZW1lbnRlZCB1bmRlciBhIFFXZWJQYWdlQ2xpZW50IHdpbGwgbmV2ZXIgcmVjZWl2ZSB0aGUg
YXBwcm9wcmlhdGUgcGFpbnQgZXZlbnRzCiAgICAgdmlydHVhbCBib29sIGFsbG93c0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotI2VuZGlmCiAKICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVTRShURVhUVVJFX01BUFBFUikKICAgICBU
aW1lcjxQYWdlQ2xpZW50UVdpZGdldD4gc3luY1RpbWVyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE4YmRhNTczMDE1NWM2MzU2NGJkNDcyMTli
NzIzOGNhODQyYWQ1NGYuLjY1YTM1ODdjYjRiMjM3NzIwYmYwZWY4NzBiMDRiM2NlZjE4ZWQyMzEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxMS0wNS0wMSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcGx1Z2lu
cy9pbnZhbGlkYXRlX3JlY3QuaHRtbCBmYWlscyBvbiBsaW51eCBwb3J0cworCisgICAgICAgIC0g
TWFrZSB0aGUgdW5peCB0ZXN0IG5ldHNjYXBlIHBsdWdpbiByZWNvZ25pemUgdGhlIG9uUGFpbnRF
dmVudAorICAgICAgICAgIGFuZCB3aW5kb3dlZFBsdWdpbiBwYXJhbWV0ZXJzLgorICAgICAgICAt
IE9uIFF0LCBvbmx5IGluc3RhbnRpYXRlIHRoZSBwbHVnaW4gYXMgYSBRR3JhcGhpY3NXaWRnZXQg
aWYgdGhlCisgICAgICAgICAgcGFyZW50IHZpZXcgaXMgYSBRR3JhcGhpY3NXZWJWaWV3LCBvdGhl
cndpc2UgdGhlIHBsdWdpbiB3b24ndAorICAgICAgICAgIGdldCBhbnkgcGFpbnQgZXZlbnRzLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA1MQor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwOgor
ICAgICAgICAoaGFuZGxlRXZlbnRYMTEpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmRpc3BsYXlJbnZhbGlkYXRlZFJlZ2lvbik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3VuaXgv
VGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgICh3ZWJr
aXRfdGVzdF9wbHVnaW5fbmV3X2luc3RhbmNlKToKKyAgICAgICAgKHdlYmtpdF90ZXN0X3BsdWdp
bl9oYW5kbGVfZXZlbnQpOgorCiAyMDExLTA0LTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcAppbmRleCAxMTUw
YTU0OWI1ZTUzNGVlNGNlODE3ZjkxYTg0ZWI1Njk1NmU3YzNlLi5lZTQ5YmJhZGQ1ZjY4MDg4YmQw
NGEwMjBjMjU3NTY2NjQzNjQzNDEyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE5ldHNjYXBlUGx1Z0luL21haW4uY3BwCkBAIC02NTEsNiArNjUxLDggQEAgc3RhdGljIGludDE2
X3QgaGFuZGxlRXZlbnRYMTEoTlBQIGluc3RhbmNlLCBQbHVnaW5PYmplY3QqIG9iaiwgWEV2ZW50
KiBldmVudCkKICAgICBjYXNlIEdyYXBoaWNzRXhwb3NlOgogICAgICAgICBpZiAob2JqLT5ldmVu
dExvZ2dpbmcpCiAgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJ1cGRhdGVFdnQiKTsK
KyAgICAgICAgaWYgKG9iai0+b25QYWludEV2ZW50KQorICAgICAgICAgICAgZXhlY3V0ZVNjcmlw
dChvYmosIG9iai0+b25QYWludEV2ZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgLy8gTlBBUEkg
ZXZlbnRzCiAgICAgY2FzZSBGb2N1c0luOgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAppbmRleCA4M2NiZjM2OTYwYzc1Nzg1NmI2ZDRi
NDcwYzA4MmE0OTM4ZmQ5NjZmLi4zYjY5ZThjOTEwMjA0OWEzZWYyZjdiMTM4Zjk2OGQ2OGY4OWI1
Y2ZlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcApAQCAtMjI1LDYgKzIyNSwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpkaXNwbGF5KCkKICAgICBlbWl0IHNob3dQYWdlKCk7CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmRpc3BsYXlJbnZhbGlkYXRlZFJlZ2lvbigpCit7CisgICAgZGlzcGxheSgpOwor
fQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbGVhckJhY2tGb3J3YXJkTGlzdCgpCiB7
CiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+aGlzdG9yeSgpLT5jbGVhcigpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IGU0NDA0OGY5
ZTM5MWZjMmE2MGM5ZjlkOGM3Mzc3ZGMzNzM2OTZhMzEuLmIwNjBlNDZmZjk2ZThiZDUzZDg4M2U2
YWE5N2JmYjI2OTQ5MjViMDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTEzMyw2ICsxMzMsNyBAQCBwdWJsaWMgc2xvdHM6CiAg
ICAgYm9vbCBjaGVja0Rlc2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0IFFTdHJpbmcm
IG9yaWdpbik7CiAgICAgdm9pZCBzaW11bGF0ZURlc2t0b3BOb3RpZmljYXRpb25DbGljayhjb25z
dCBRU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9pZCBkaXNwbGF5KCk7CisgICAgdm9pZCBkaXNwbGF5
SW52YWxpZGF0ZWRSZWdpb24oKTsKICAgICB2b2lkIGNsZWFyQmFja0ZvcndhcmRMaXN0KCk7CiAg
ICAgUVN0cmluZyBwYXRoVG9Mb2NhbFJlc291cmNlKGNvbnN0IFFTdHJpbmcmIHVybCk7CiAgICAg
dm9pZCBkdW1wVGl0bGVDaGFuZ2VzKCkgeyBtX2R1bXBUaXRsZUNoYW5nZXMgPSB0cnVlOyB9CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS91bml4L1Rlc3ROZXRzY2FwZVBsdWdpbi9U
ZXN0TmV0c2NhcGVQbHVnaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvdW5peC9UZXN0TmV0
c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA4NDE1MzE4NjZhY2U1MzI2
OTc2ZjlmMmQxMDc4OTM2MTk4OWI0MjEyLi45ZjYwMmYxYTFjMDA2OWQ5MTFmNmMwNDg5MWZhYTE2
Y2ExNDhkM2ZjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS91bml4L1Rlc3ROZXRz
Y2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3VuaXgvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTY2
LDcgKzY2LDYgQEAgd2Via2l0X3Rlc3RfcGx1Z2luX25ld19pbnN0YW5jZShOUE1JTUVUeXBlIG1p
bWV0eXBlLAogICAgICAgICBpbnN0YW5jZS0+cGRhdGEgPSBvYmo7CiAKICAgICAgICAgc3RyaW5n
IHRlc3RJZGVudGlmaWVyOwotCiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsr
KSB7CiAgICAgICAgICAgICBpZiAoc3RyY2FzZWNtcChhcmduW2ldLCAidGVzdCIpID09IDApCiAg
ICAgICAgICAgICAgICAgdGVzdElkZW50aWZpZXIgPSBhcmd2W2ldOwpAQCAtOTgsNiArOTcsMTcg
QEAgd2Via2l0X3Rlc3RfcGx1Z2luX25ld19pbnN0YW5jZShOUE1JTUVUeXBlIG1pbWV0eXBlLAog
ICAgICAgICAgICAgICAgIG9iai0+dGVzdFdpbmRvd09wZW4gPSBUUlVFOwogICAgICAgICAgICAg
ZWxzZSBpZiAoc3RyY2FzZWNtcChhcmduW2ldLCAib25TZXRXaW5kb3ciKSA9PSAwICYmICFvYmot
Pm9uU2V0V2luZG93KQogICAgICAgICAgICAgICAgIG9iai0+b25TZXRXaW5kb3cgPSBzdHJkdXAo
YXJndltpXSk7CisgICAgICAgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcChhcmduW2ldLCAid2lu
ZG93ZWRQbHVnaW4iKSkgeworICAgICAgICAgICAgICAgIHZvaWQqIHdpbmRvd2VkID0gMDsKKyAg
ICAgICAgICAgICAgICBpZiAoIXN0cmNhc2VjbXAoYXJndltpXSwgImZhbHNlIikgfHwgIXN0cmNh
c2VjbXAoYXJndltpXSwgIjAiKSkKKyAgICAgICAgICAgICAgICAgICAgd2luZG93ZWQgPSAwOwor
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjYXNlY21wKGFyZ3ZbaV0sICJ0cnVlIikgfHwg
IXN0cmNhc2VjbXAoYXJndltpXSwgIjEiKSkKKyAgICAgICAgICAgICAgICAgICAgd2luZG93ZWQg
PSByZWludGVycHJldF9jYXN0PHZvaWQqPigxKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSk7CisgICAgICAgICAgICAgICAgYnJvd3Nlci0+
c2V0dmFsdWUoaW5zdGFuY2UsIE5QUFZwbHVnaW5XaW5kb3dCb29sLCB3aW5kb3dlZCk7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKCFzdHJjYXNlY21wKGFyZ25baV0sICJvblBhaW50RXZlbnQiKSAm
JiAhb2JqLT5vblBhaW50RXZlbnQpCisgICAgICAgICAgICAgICAgb2JqLT5vblBhaW50RXZlbnQg
PSBzdHJkdXAoYXJndltpXSk7CiAgICAgICAgIH0KIAogICAgICAgICBicm93c2VyLT5nZXR2YWx1
ZShpbnN0YW5jZSwgTlBOVnByaXZhdGVNb2RlQm9vbCwgKHZvaWQgKikmb2JqLT5jYWNoZWRQcml2
YXRlQnJvd3NpbmdNb2RlKTsKQEAgLTI3OCwzMyArMjg4LDQzIEBAIHN0YXRpYyBpbnQxNl90CiB3
ZWJraXRfdGVzdF9wbHVnaW5faGFuZGxlX2V2ZW50KE5QUCBpbnN0YW5jZSwgdm9pZCogZXZlbnQp
CiB7CiAgICAgUGx1Z2luT2JqZWN0KiBvYmogPSBzdGF0aWNfY2FzdDxQbHVnaW5PYmplY3QqPihp
bnN0YW5jZS0+cGRhdGEpOwotICAgIGlmICghb2JqLT5ldmVudExvZ2dpbmcpCi0gICAgICAgIHJl
dHVybiAwOwogCiAgICAgWEV2ZW50KiBldnQgPSBzdGF0aWNfY2FzdDxYRXZlbnQqPihldmVudCk7
CiAKICAgICBzd2l0Y2ggKGV2dC0+dHlwZSkgewogICAgICAgICBjYXNlIEJ1dHRvblJlbGVhc2U6
Ci0gICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJtb3VzZVVwIGF0ICglZCwgJWQpIiwg
ZXZ0LT54YnV0dG9uLngsIGV2dC0+eGJ1dHRvbi55KTsKKyAgICAgICAgICAgIGlmIChvYmotPmV2
ZW50TG9nZ2luZykKKyAgICAgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJtb3VzZVVw
IGF0ICglZCwgJWQpIiwgZXZ0LT54YnV0dG9uLngsIGV2dC0+eGJ1dHRvbi55KTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIEJ1dHRvblByZXNzOgotICAgICAgICAgICAgcGx1Z2lu
TG9nKGluc3RhbmNlLCAibW91c2VEb3duIGF0ICglZCwgJWQpIiwgZXZ0LT54YnV0dG9uLngsIGV2
dC0+eGJ1dHRvbi55KTsKKyAgICAgICAgICAgIGlmIChvYmotPmV2ZW50TG9nZ2luZykKKyAgICAg
ICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJtb3VzZURvd24gYXQgKCVkLCAlZCkiLCBl
dnQtPnhidXR0b24ueCwgZXZ0LT54YnV0dG9uLnkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgS2V5UmVsZWFzZToKLSAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImtl
eVVwICclYyciLCBrZXlFdmVudFRvQ2hhcigmZXZ0LT54a2V5KSk7CisgICAgICAgICAgICBpZiAo
b2JqLT5ldmVudExvZ2dpbmcpCisgICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAi
a2V5VXAgJyVjJyIsIGtleUV2ZW50VG9DaGFyKCZldnQtPnhrZXkpKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIEtleVByZXNzOgotICAgICAgICAgICAgcGx1Z2luTG9nKGluc3Rh
bmNlLCAia2V5RG93biAnJWMnIiwga2V5RXZlbnRUb0NoYXIoJmV2dC0+eGtleSkpOworICAgICAg
ICAgICAgaWYgKG9iai0+ZXZlbnRMb2dnaW5nKQorICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhp
bnN0YW5jZSwgImtleURvd24gJyVjJyIsIGtleUV2ZW50VG9DaGFyKCZldnQtPnhrZXkpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE1vdGlvbk5vdGlmeToKICAgICAgICAgY2Fz
ZSBFbnRlck5vdGlmeToKICAgICAgICAgY2FzZSBMZWF2ZU5vdGlmeToKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIEZvY3VzSW46Ci0gICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFu
Y2UsICJnZXRGb2N1c0V2ZW50Iik7CisgICAgICAgICAgICBpZiAob2JqLT5ldmVudExvZ2dpbmcp
CisgICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiZ2V0Rm9jdXNFdmVudCIpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRm9jdXNPdXQ6Ci0gICAgICAgICAgICBw
bHVnaW5Mb2coaW5zdGFuY2UsICJsb3NlRm9jdXNFdmVudCIpOworICAgICAgICAgICAgaWYgKG9i
ai0+ZXZlbnRMb2dnaW5nKQorICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImxv
c2VGb2N1c0V2ZW50Iik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHcmFwaGlj
c0V4cG9zZToKKyAgICAgICAgICAgIGlmIChvYmotPmV2ZW50TG9nZ2luZykKKyAgICAgICAgICAg
ICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJ1cGRhdGVFdnQiKTsKKyAgICAgICAgICAgIGlmIChv
YmotPm9uUGFpbnRFdmVudCkKKyAgICAgICAgICAgICAgICBleGVjdXRlU2NyaXB0KG9iaiwgb2Jq
LT5vblBhaW50RXZlbnQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJldmVudCAlZCIsIGV2dC0+dHlwZSk7Cg==
</data>
<flag name="review"
          id="86032"
          type_id="1"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93694</attachid>
            <date>2011-05-16 14:34:36 -0700</date>
            <delta_ts>2011-05-17 01:48:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54051-20110516223435.patch</filename>
            <type>text/plain</type>
            <size>10341</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1OTgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNzZiMDY4MzgxMWQwODg0ZDhmYmI3
ZmEzNDRjYzNiMTk2ZGVlMTA5Li44ZTY1MTY5ZTE1MDdkZjgwY2UwMzI2ZjVlYjliZmRkMjZhZDcz
NmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMTYgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwgZmFpbHMgb24gbGludXggcG9y
dHMKKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQw
NTEKKworICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogVW5za2lwIHBsdWdpbnMvaW52YWxp
ZGF0ZV9yZWN0Lmh0bWwKKwogMjAxMS0wNS0xNiAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODY1ODkuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBmMjYwMWJjZDNmOWNkOTIxYjRkNzRmZjA1NmU3MWU2
YTE4YmJhNWMyLi40YmVjY2YxMmQyYjA2ZWQwZjk1NDAzNjY3NDAzODZhZjUwMWUwZmI5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTM2OSw2ICszNjksOSBAQCBwbHVnaW5zL2dldC11cmwt
bm90aWZ5LXdpdGgtdXJsLXRoYXQtZmFpbHMtdG8tbG9hZC5odG1sCiAjIGhlYWRsZXNzIGRpc3Bs
YXkgKGxpa2UgdGhlIGJ1aWxkYm90KSwgc28gWEtleXN5bVRvS2V5Y29kZSBkb2Vzbid0IHdvcmsu
CiBwbHVnaW5zL2tleWJvYXJkLWV2ZW50cy5odG1sCiAKKyMgVGltZXMgb3V0CitwbHVnaW5zL3dp
bmRvd2xlc3NfcGx1Z2luX3BhaW50X3Rlc3QuaHRtbAorIAogIyA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g
IwogIyBGYWlsaW5nIFNwdXRuaWsgdGVzdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwpAQCAtNjEw
LDEwICs2MTMsNiBAQCBqYXZhCiBmYXN0L2RvbS9XaW5kb3cvdGltZXItcmVzdW1lLW9uLW5hdmln
YXRpb24tYmFjay5odG1sCiBsb2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUu
aHRtbAogCi0jIE1pc3NpbmcgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheUludmFsaWRhdGVk
UmVnaW9uKCkKLXBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwKLXBsdWdpbnMvd2luZG93bGVz
c19wbHVnaW5fcGFpbnRfdGVzdC5odG1sCi0KICMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxl
ci5maW5kU3RyaW5nKCkgaHR0cDovL3dlYmtpdC5vcmcvYi81MDIzNgogZWRpdGluZy90ZXh0LWl0
ZXJhdG9yL2ZpbmRTdHJpbmcuaHRtbAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDc1YzhiY2NlZWFjNTJk
ZTQ2ZDYwMTA1YWUwNzY2ZmNiZGE1NjI1YzMuLjRiNWVhZDBiZTMzNDc0YTVjNGMxYTYwNzJjNWM3
YzM0ZTEwNTk0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMTYg
IFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBsdWdpbnMvaW52YWxpZGF0ZV9yZWN0Lmh0bWwg
ZmFpbHMgb24gbGludXggcG9ydHMKKworICAgICAgICBBZGQgQ2hyb21lQ2xpZW50UXQ6OmFsbG93
c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwNTEKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjphbGxv
d3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oOgorCiAyMDExLTA1LTE2ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IDg1OWZlMjgzZDkx
ZGEwZTAxNTVkM2JlYWFkODAzZTM5YWI0MTA1YTEuLmJkZmE3ODFjMmE3ZGY4Zjg0MWQyMjUwYTFi
NzVmNGIwOGNlM2M0OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuY3BwCkBAIC0xMzAsNiArMTMwLDEzIEBAIEZsb2F0UmVjdCBDaHJv
bWVDbGllbnRRdDo6d2luZG93UmVjdCgpCiAgICAgcmV0dXJuIHBsYXRmb3JtUGFnZUNsaWVudCgp
LT53aW5kb3dSZWN0KCk7CiB9CiAKK2Jvb2wgQ2hyb21lQ2xpZW50UXQ6OmFsbG93c0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmcoKSBjb25zdAoreworICAgIGlmICghcGxhdGZvcm1QYWdlQ2xpZW50KCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gcGxhdGZvcm1QYWdlQ2xpZW50KCkt
PmFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKK30KKwogRmxvYXRSZWN0IENocm9tZUNs
aWVudFF0OjpwYWdlUmVjdCgpCiB7CiAgICAgaWYgKCFtX3dlYlBhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggYzg2MWJhNjFi
ZWEzM2ZiNDdiMDY5Njk2NjkxMzVhM2Y3NjY1NDU4Yi4uODhlNjQyYzg4MGU0OTQzNWJmYThjMTE2
MThjZTczNWZiMGYxOTk0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTU2LDYgKzE1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyU3luYygpOwogICAgIHZpcnR1YWwgQ29t
cG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdDsK
ICNlbmRpZgorICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkg
Y29uc3Q7CiAKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICB2aXJ0dWFsIElu
dFJlY3QgdmlzaWJsZVJlY3RGb3JUaWxlZEJhY2tpbmdTdG9yZSgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4ODA1MDA4ZGFkNTA4
OTk2NWRiY2I1ZTc1NDkzNDlhNjM1Mzc1MTQuLjZmZjY2YmM5NTVmZmFhOWQ4MTUzMDUwNzkzMDU3
ZDdkODVlZDc1MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wNS0xNiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgcGx1Z2lucy9pbnZhbGlkYXRlX3JlY3QuaHRtbCBmYWlscyBvbiBsaW51eCBwb3J0cwor
CisgICAgICAgIC0gTWFrZSB0aGUgdW5peCB0ZXN0IG5ldHNjYXBlIHBsdWdpbiByZWNvZ25pemUg
dGhlIG9uUGFpbnRFdmVudAorICAgICAgICAgIGFuZCB3aW5kb3dlZFBsdWdpbiBwYXJhbWV0ZXJz
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA1
MQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3Bw
OgorICAgICAgICAoaGFuZGxlRXZlbnRYMTEpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmRpc3BsYXlJbnZhbGlkYXRlZFJlZ2lvbik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3Vu
aXgvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgICh3
ZWJraXRfdGVzdF9wbHVnaW5fbmV3X2luc3RhbmNlKToKKyAgICAgICAgKHdlYmtpdF90ZXN0X3Bs
dWdpbl9oYW5kbGVfZXZlbnQpOgorCiAyMDExLTA1LTE2ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHpl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNjA5MTM+IEMrKyBl
eGNlcHRpb25zIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGVuIGJ1aWxkaW5nIHdpdGggbGx2bS1n
Y2MtNC4yCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4vbWFpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFp
bi5jcHAKaW5kZXggYjc1MzA3YzcyZjZkODdjMmViN2IwZjgxZTQxZWU3ZjY1ZGJjZGU0OS4uYzRm
OGY5Y2Q1ODMzODFlMDI2NzJhZDQ0ZGZiMTgxNzRkZGVhZDY3YyAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcApAQCAtNjUyLDYgKzY1Miw4
IEBAIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50WDExKE5QUCBpbnN0YW5jZSwgUGx1Z2luT2Jq
ZWN0KiBvYmosIFhFdmVudCogZXZlbnQpCiAgICAgY2FzZSBHcmFwaGljc0V4cG9zZToKICAgICAg
ICAgaWYgKG9iai0+ZXZlbnRMb2dnaW5nKQogICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNl
LCAidXBkYXRlRXZ0Iik7CisgICAgICAgIGlmIChvYmotPm9uUGFpbnRFdmVudCkKKyAgICAgICAg
ICAgIGV4ZWN1dGVTY3JpcHQob2JqLCBvYmotPm9uUGFpbnRFdmVudCk7CiAgICAgICAgIGJyZWFr
OwogICAgIC8vIE5QQVBJIGV2ZW50cwogICAgIGNhc2UgRm9jdXNJbjoKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZDQ3ZjYy
Y2FhMTYxMjlmZjhkMzdhNTg5ZTUyMWZmYjkzOTE5NjQwOS4uNDEyNTZkYTBlMTQyOTg5MDgxOTI4
ZjY4N2RkODNhNjQ3ZGRhOGY3YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTIyNCw2ICsyMjQsMTEgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6ZGlzcGxheSgpCiAgICAgZW1pdCBzaG93UGFnZSgpOwogfQogCit2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkaXNwbGF5SW52YWxpZGF0ZWRSZWdpb24oKQorewor
ICAgIGRpc3BsYXkoKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xlYXJCYWNr
Rm9yd2FyZExpc3QoKQogewogICAgIG1fZHJ0LT53ZWJQYWdlKCktPmhpc3RvcnkoKS0+Y2xlYXIo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aAppbmRleCA2OTdjMDllMTk2ODQzMTBkOTAxYjU4MDVmNWI4MGViYTBiZmIyZTQ1Li45OTk5M2E1
NDNiZGJjYzY2ODYyOTk5NDViYWQzY2FhMjM0ZGU5NDFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCkBAIC0xMzMsNiArMTMzLDcgQEAg
cHVibGljIHNsb3RzOgogICAgIGJvb2wgY2hlY2tEZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lv
bihjb25zdCBRU3RyaW5nJiBvcmlnaW4pOwogICAgIHZvaWQgc2ltdWxhdGVEZXNrdG9wTm90aWZp
Y2F0aW9uQ2xpY2soY29uc3QgUVN0cmluZyYgdGl0bGUpOwogICAgIHZvaWQgZGlzcGxheSgpOwor
ICAgIHZvaWQgZGlzcGxheUludmFsaWRhdGVkUmVnaW9uKCk7CiAgICAgdm9pZCBjbGVhckJhY2tG
b3J3YXJkTGlzdCgpOwogICAgIFFTdHJpbmcgcGF0aFRvTG9jYWxSZXNvdXJjZShjb25zdCBRU3Ry
aW5nJiB1cmwpOwogICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdlcygpIHsgbV9kdW1wVGl0bGVDaGFu
Z2VzID0gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvdW5peC9UZXN0
TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3VuaXgvVGVzdE5ldHNjYXBlUGx1Z2luL1Rlc3ROZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXgg
ODQxNTMxODY2YWNlNTMyNjk3NmY5ZjJkMTA3ODkzNjE5ODliNDIxMi4uYzRjYzA3MmY5ZjBmNzQ5
ZGVhZTI3ZmYzZjBiNDE0MGM4MTllNzU2MyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvdW5peC9UZXN0TmV0c2NhcGVQbHVnaW4vVGVzdE5ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS91bml4L1Rlc3ROZXRzY2FwZVBsdWdpbi9UZXN0TmV0c2NhcGVQ
bHVnaW4uY3BwCkBAIC05OCw2ICs5OCwxNyBAQCB3ZWJraXRfdGVzdF9wbHVnaW5fbmV3X2luc3Rh
bmNlKE5QTUlNRVR5cGUgbWltZXR5cGUsCiAgICAgICAgICAgICAgICAgb2JqLT50ZXN0V2luZG93
T3BlbiA9IFRSVUU7CiAgICAgICAgICAgICBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25baV0sICJv
blNldFdpbmRvdyIpID09IDAgJiYgIW9iai0+b25TZXRXaW5kb3cpCiAgICAgICAgICAgICAgICAg
b2JqLT5vblNldFdpbmRvdyA9IHN0cmR1cChhcmd2W2ldKTsKKyAgICAgICAgICAgIGVsc2UgaWYg
KCFzdHJjYXNlY21wKGFyZ25baV0sICJ3aW5kb3dlZFBsdWdpbiIpKSB7CisgICAgICAgICAgICAg
ICAgdm9pZCogd2luZG93ZWQgPSAwOworICAgICAgICAgICAgICAgIGlmICghc3RyY2FzZWNtcChh
cmd2W2ldLCAiZmFsc2UiKSB8fCAhc3RyY2FzZWNtcChhcmd2W2ldLCAiMCIpKQorICAgICAgICAg
ICAgICAgICAgICB3aW5kb3dlZCA9IDA7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNh
c2VjbXAoYXJndltpXSwgInRydWUiKSB8fCAhc3RyY2FzZWNtcChhcmd2W2ldLCAiMSIpKQorICAg
ICAgICAgICAgICAgICAgICB3aW5kb3dlZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KDEpOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KGZhbHNlKTsK
KyAgICAgICAgICAgICAgICBicm93c2VyLT5zZXR2YWx1ZShpbnN0YW5jZSwgTlBQVnBsdWdpbldp
bmRvd0Jvb2wsIHdpbmRvd2VkKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNhc2VjbXAo
YXJnbltpXSwgIm9uUGFpbnRFdmVudCIpICYmICFvYmotPm9uUGFpbnRFdmVudCkKKyAgICAgICAg
ICAgICAgICBvYmotPm9uUGFpbnRFdmVudCA9IHN0cmR1cChhcmd2W2ldKTsKICAgICAgICAgfQog
CiAgICAgICAgIGJyb3dzZXItPmdldHZhbHVlKGluc3RhbmNlLCBOUE5WcHJpdmF0ZU1vZGVCb29s
LCAodm9pZCAqKSZvYmotPmNhY2hlZFByaXZhdGVCcm93c2luZ01vZGUpOwpAQCAtMjc4LDMzICsy
ODksNDMgQEAgc3RhdGljIGludDE2X3QKIHdlYmtpdF90ZXN0X3BsdWdpbl9oYW5kbGVfZXZlbnQo
TlBQIGluc3RhbmNlLCB2b2lkKiBldmVudCkKIHsKICAgICBQbHVnaW5PYmplY3QqIG9iaiA9IHN0
YXRpY19jYXN0PFBsdWdpbk9iamVjdCo+KGluc3RhbmNlLT5wZGF0YSk7Ci0gICAgaWYgKCFvYmot
PmV2ZW50TG9nZ2luZykKLSAgICAgICAgcmV0dXJuIDA7CiAKICAgICBYRXZlbnQqIGV2dCA9IHN0
YXRpY19jYXN0PFhFdmVudCo+KGV2ZW50KTsKIAogICAgIHN3aXRjaCAoZXZ0LT50eXBlKSB7CiAg
ICAgICAgIGNhc2UgQnV0dG9uUmVsZWFzZToKLSAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5j
ZSwgIm1vdXNlVXAgYXQgKCVkLCAlZCkiLCBldnQtPnhidXR0b24ueCwgZXZ0LT54YnV0dG9uLnkp
OworICAgICAgICAgICAgaWYgKG9iai0+ZXZlbnRMb2dnaW5nKQorICAgICAgICAgICAgICAgIHBs
dWdpbkxvZyhpbnN0YW5jZSwgIm1vdXNlVXAgYXQgKCVkLCAlZCkiLCBldnQtPnhidXR0b24ueCwg
ZXZ0LT54YnV0dG9uLnkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQnV0dG9u
UHJlc3M6Ci0gICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJtb3VzZURvd24gYXQgKCVk
LCAlZCkiLCBldnQtPnhidXR0b24ueCwgZXZ0LT54YnV0dG9uLnkpOworICAgICAgICAgICAgaWYg
KG9iai0+ZXZlbnRMb2dnaW5nKQorICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
Im1vdXNlRG93biBhdCAoJWQsICVkKSIsIGV2dC0+eGJ1dHRvbi54LCBldnQtPnhidXR0b24ueSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBLZXlSZWxlYXNlOgotICAgICAgICAg
ICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia2V5VXAgJyVjJyIsIGtleUV2ZW50VG9DaGFyKCZldnQt
PnhrZXkpKTsKKyAgICAgICAgICAgIGlmIChvYmotPmV2ZW50TG9nZ2luZykKKyAgICAgICAgICAg
ICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJrZXlVcCAnJWMnIiwga2V5RXZlbnRUb0NoYXIoJmV2
dC0+eGtleSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgS2V5UHJlc3M6Ci0g
ICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2UsICJrZXlEb3duICclYyciLCBrZXlFdmVudFRv
Q2hhcigmZXZ0LT54a2V5KSk7CisgICAgICAgICAgICBpZiAob2JqLT5ldmVudExvZ2dpbmcpCisg
ICAgICAgICAgICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAia2V5RG93biAnJWMnIiwga2V5RXZl
bnRUb0NoYXIoJmV2dC0+eGtleSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
TW90aW9uTm90aWZ5OgogICAgICAgICBjYXNlIEVudGVyTm90aWZ5OgogICAgICAgICBjYXNlIExl
YXZlTm90aWZ5OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRm9jdXNJbjoKLSAg
ICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImdldEZvY3VzRXZlbnQiKTsKKyAgICAgICAg
ICAgIGlmIChvYmotPmV2ZW50TG9nZ2luZykKKyAgICAgICAgICAgICAgICBwbHVnaW5Mb2coaW5z
dGFuY2UsICJnZXRGb2N1c0V2ZW50Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBGb2N1c091dDoKLSAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgImxvc2VGb2N1c0V2
ZW50Iik7CisgICAgICAgICAgICBpZiAob2JqLT5ldmVudExvZ2dpbmcpCisgICAgICAgICAgICAg
ICAgcGx1Z2luTG9nKGluc3RhbmNlLCAibG9zZUZvY3VzRXZlbnQiKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIEdyYXBoaWNzRXhwb3NlOgorICAgICAgICAgICAgaWYgKG9iai0+
ZXZlbnRMb2dnaW5nKQorICAgICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwgInVwZGF0
ZUV2dCIpOworICAgICAgICAgICAgaWYgKG9iai0+b25QYWludEV2ZW50KQorICAgICAgICAgICAg
ICAgIGV4ZWN1dGVTY3JpcHQob2JqLCBvYmotPm9uUGFpbnRFdmVudCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHBsdWdpbkxvZyhpbnN0YW5jZSwg
ImV2ZW50ICVkIiwgZXZ0LT50eXBlKTsK
</data>
<flag name="review"
          id="86907"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>