<?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>59136</bug_id>
          
          <creation_ts>2011-04-21 13:47:54 -0700</creation_ts>
          <short_desc>Null deref when no use element exists for SVG element instance</short_desc>
          <delta_ts>2011-11-11 16:35:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>72029</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cris Neckar">cdn</reporter>
          <assigned_to name="Stephen Chenney">schenney</assigned_to>
          <cc>jschuh</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390307</commentid>
    <comment_count>0</comment_count>
    <who name="Cris Neckar">cdn</who>
    <bug_when>2011-04-21 13:47:54 -0700</bug_when>
    <thetext>Within SVGAnimationElement::setTargetAttributeAnimatedValue() the target element&apos;s instances are walked and the cooresponding use elements are set to need style recalc. When there is no cooresponding use element this will crash with a null deref.

I have a patch and will upload in shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390308</commentid>
    <comment_count>1</comment_count>
      <attachid>90592</attachid>
    <who name="Cris Neckar">cdn</who>
    <bug_when>2011-04-21 13:48:12 -0700</bug_when>
    <thetext>Created attachment 90592
repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390397</commentid>
    <comment_count>2</comment_count>
      <attachid>90615</attachid>
    <who name="Cris Neckar">cdn</who>
    <bug_when>2011-04-21 15:28:02 -0700</bug_when>
    <thetext>Created attachment 90615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390410</commentid>
    <comment_count>3</comment_count>
      <attachid>90615</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-04-21 15:50:13 -0700</bug_when>
    <thetext>Comment on attachment 90615
Patch

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

The approach looks good. I just have some style nits and suggested cleanup on the layout test.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:346
&gt; +            (*it)-&gt;correspondingUseElement()-&gt;setNeedsStyleRecalc();

You should assign the corresponding use element to a local variable in the &quot;if&quot; condition and use that when calling setNeedsStyleRecalc.

&gt; LayoutTests/svg/misc/null-corresponding-element-crash.svg:12
&gt; +    &lt;circle transform=&quot;translate(1)&quot; id=&quot;circleID&quot;&gt;

You should make the circle visible here, and generally we use a green fill to denote success. How about this:
&lt;circle transform=&quot;translate(1)&quot; id=&quot;circleID&quot; fill=&quot;green&quot; cy=&quot;25&quot; cx=&quot;25&quot; r=&quot;20&quot; &gt;

&gt; LayoutTests/svg/misc/null-corresponding-element-crash.svg:14
&gt; +        &lt;animateTransform attributeName=&quot;transform&quot; fill=&quot;freeze&quot; /&gt;

The fill attributes are unnecessary on animate and animateTransform.

&gt; LayoutTests/svg/misc/null-corresponding-element-crash.svg:17
&gt; +	PASS - Null corresponding element dereference does not crash.

This text is going to render off-screen when running the test manually. You should move it into view. try this:

&lt;text y=&quot;70&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390437</commentid>
    <comment_count>4</comment_count>
      <attachid>90628</attachid>
    <who name="Cris Neckar">cdn</who>
    <bug_when>2011-04-21 16:22:57 -0700</bug_when>
    <thetext>Created attachment 90628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390596</commentid>
    <comment_count>5</comment_count>
      <attachid>90628</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2011-04-21 21:05:21 -0700</bug_when>
    <thetext>Comment on attachment 90628
Patch

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

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:346
&gt; +        if (SVGUseElement *useElement = (*it)-&gt;correspondingUseElement())

There should not be a space between the SVGUseElement and the * character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390726</commentid>
    <comment_count>6</comment_count>
      <attachid>90628</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-04-22 05:33:22 -0700</bug_when>
    <thetext>Comment on attachment 90628
Patch

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

Sorry Cris, I fear that involves a bit more work:

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:347
&gt; +            useElement-&gt;setNeedsStyleRecalc();

I&apos;m confused a shadowTreeElement w/o correspondingUseElement, what _exactly_ forces us into such a state?
What happens if you completely disable the shadowTreeElement modifications, if correspondingUseElement is 0, does the animation still work?

&gt; LayoutTests/svg/custom/use-null-instanceroot-crash.svg:5
&gt; +        document.getElementById(&quot;use_elem&quot;).instanceRoot.correspondingElement = 0;

Hm, that is needed? Or does it even trigger the bug?? In the code changes, you&apos;re checking whether correspondingUseElement is zero, not correspondingElement?
SVGElementInstance.idl defines: readonly attribute SVGElement correspondingElement;
so this shouldn&apos;t take any affect at all, does it?

&gt; LayoutTests/svg/custom/use-null-instanceroot-crash.svg:17
&gt; +        &lt;animateTransform attributeName=&quot;transform&quot; /&gt;

Why are two animations needed, why the transform attribute?
You definately also need a new testcase using the JS SVG Animation test framework, see the other examples in LayoutTests/svg/animation.
We need to be sure that each of the animation runs properly, so you have to setup a real animation, cy from 0 to 15, for example.

Basically we need to sample the animation at various times, and assure both animations, the one of circleID, and the circleID clone through &lt;use&gt; work as expected.

&gt; LayoutTests/svg/custom/use-null-instanceroot-crash.svg:19
&gt; +    &lt;use id=&quot;use_elem&quot; xlink:href=&quot;#circleID&quot; /&gt;

You should use x=&quot;30&quot;, to translate the second circle, so when running the test in the browser, you&apos;ll actually see two circles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390954</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-04-22 12:10:02 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 90628 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90628&amp;action=review
&gt; 
&gt; Sorry Cris, I fear that involves a bit more work:
&gt; 
&gt; &gt; Source/WebCore/svg/SVGAnimationElement.cpp:347
&gt; &gt; +            useElement-&gt;setNeedsStyleRecalc();
&gt; 
&gt; I&apos;m confused a shadowTreeElement w/o correspondingUseElement, what _exactly_ forces us into such a state?
&gt; What happens if you completely disable the shadowTreeElement modifications, if correspondingUseElement is 0, does the animation still work?

The null correspondingUseElement is the same partially detached state that we check for explicitly in SVGElementInstance::invalidateAllInstancesOfElement. However, animation bypasses that code path and pokes properties directly (I assume to reduce the overhead of constant shadow tree destruction and rebuilding). So, it seems reasonable that animation should have the same null check.

 
&gt; &gt; LayoutTests/svg/custom/use-null-instanceroot-crash.svg:5
&gt; &gt; +        document.getElementById(&quot;use_elem&quot;).instanceRoot.correspondingElement = 0;
&gt; 
&gt; Hm, that is needed? Or does it even trigger the bug?? In the code changes, you&apos;re checking whether correspondingUseElement is zero, not correspondingElement?
&gt; SVGElementInstance.idl defines: readonly attribute SVGElement correspondingElement;
&gt; so this shouldn&apos;t take any affect at all, does it?

Referencing the instanceRoot just gets it created earlier than it would be by startAnimation. That&apos;s how we end up with a partially detached instanceRoot. You&apos;re correct that dereferencing correspondingElement and making an assignment are unnecessary. Sorry, I noticed that and meant to point it out in my earlier informal review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493865</commentid>
    <comment_count>8</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-01 06:04:45 -0700</bug_when>
    <thetext>This is crbug.com/73239, and maybe others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494085</commentid>
    <comment_count>9</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-01 13:06:48 -0700</bug_when>
    <thetext>OK campers. I have the underlying source of the problem.

The SVGElementInstance is a ref counted object, and any reference to it in Javascript increases the ref count. So when the instance is released, due to a rebuild of the &lt;use&gt; shadow DOM, it is not actually deleted and so it is not removed from the &lt;use&gt;&apos;s target element&apos;s instance set.

The fix is to remove the hanging instance from the element&apos;s instance set at the time the &lt;use&gt; element destroys the instance tree. Patch forthcoming tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496455</commentid>
    <comment_count>10</comment_count>
      <attachid>113709</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-04 14:09:00 -0700</bug_when>
    <thetext>Created attachment 113709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498442</commentid>
    <comment_count>11</comment_count>
      <attachid>114157</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-08 14:43:46 -0800</bug_when>
    <thetext>Created attachment 114157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498445</commentid>
    <comment_count>12</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-08 14:48:41 -0800</bug_when>
    <thetext>I have modified the test to only use JS and no animation. However, this will not cause a crash on failure because the crash only occurs via an animation shortcut that accesses the use instance elements directly.

We really want to test that the instanceList for the circle element only contains one instance, but we cannot get at that information from JS and I could not come up with a way to test it outside of the animate tag.

Personally I would rather rather leave in the animation that causes the crash, and hence have a direct test. But I&apos;ll respect the reviewer&apos;s opinion that we avoid animation. Note that we can remove the animateTransform without removing the animate, if that is preferable to the indirect JS null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498697</commentid>
    <comment_count>13</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-09 00:23:59 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I have modified the test to only use JS and no animation. However, this will not cause a crash on failure because the crash only occurs via an animation shortcut that accesses the use instance elements directly.
Okay, that means the animation is unavoidable.
 
&gt; Personally I would rather rather leave in the animation that causes the crash, and hence have a direct test. But I&apos;ll respect the reviewer&apos;s opinion that we avoid animation. Note that we can remove the animateTransform without removing the animate, if that is preferable to the indirect JS null check.
Heh, you got me wrong Stephen. I suggested to try to find a JS only solution, that exposes the problem. If there is none and you&apos;ve gained confidence on that, I&apos;m going to trust you :-)

So the testcase in your last patch is not going to crash at all? Then it would be useless, and we&apos;d need your older anim based test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499008</commentid>
    <comment_count>14</comment_count>
      <attachid>114293</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-09 08:44:55 -0800</bug_when>
    <thetext>Created attachment 114293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499010</commentid>
    <comment_count>15</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-09 08:47:13 -0800</bug_when>
    <thetext>Modified the test so that it crashes in versions prior to this patch. This patch does not crash. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499873</commentid>
    <comment_count>16</comment_count>
      <attachid>114293</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-10 07:02:14 -0800</bug_when>
    <thetext>Comment on attachment 114293
Patch

LGTM. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499891</commentid>
    <comment_count>17</comment_count>
      <attachid>114293</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-10 07:23:55 -0800</bug_when>
    <thetext>Comment on attachment 114293
Patch

Clearing flags on attachment: 114293

Committed r99851: &lt;http://trac.webkit.org/changeset/99851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499892</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-10 07:24:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499944</commentid>
    <comment_count>19</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-10 08:38:49 -0800</bug_when>
    <thetext>The patch causes the following tests to fail with a crash on Qt:
svg/custom/use-instanceRoot-with-use-removed.svg
svg/custom/empty-clip-path.svg
svg/custom/use-crash-when-href-change.svg

And changed expectations for Qt on:
svg/batik/text/textEffect.svg
svg/batik/text/textEffect3.svg
svg/custom/text-filter.svg
svg/filters/feMerge-wrong-input.svg
svg/filters/filter-on-filter-for-text.svg
svg/filters/filter-on-tspan.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500350</commentid>
    <comment_count>20</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-10 15:38:42 -0800</bug_when>
    <thetext>The only new crashes are:

Regressions: Unexpected DumpRenderTree crashes : (3)
  svg/custom/embedded-svg-disallowed-in-dashboard.xml = CRASH
  svg/custom/use-crash-when-href-change.svg = CRASH
  svg/custom/use-instanceRoot-with-use-removed.svg = CRASH

These occur on mac and Qt, so this is probably something to do with the JS implementation on those platforms and its handling of the detached and heavily nulled SVGElementInstance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500396</commentid>
    <comment_count>21</comment_count>
      <attachid>114596</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-10 16:15:25 -0800</bug_when>
    <thetext>Created attachment 114596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500399</commentid>
    <comment_count>22</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-10 16:17:22 -0800</bug_when>
    <thetext>This addresses the crash problems on mac and Qt (ports using the default webkit JS engine). Turns out the garbage collection code in JS needed to use the correspondingElement object, which the previous patch was clearing. The ultimate effect of this new patch is the same as the one that was rolled back earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500401</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-10 16:18:59 -0800</bug_when>
    <thetext>Attachment 114596 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/svg/...&quot; exit_code: 1

LayoutTests/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500404</commentid>
    <comment_count>24</comment_count>
      <attachid>114599</attachid>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2011-11-10 16:25:40 -0800</bug_when>
    <thetext>Created attachment 114599
Patch

Fixes S style checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500760</commentid>
    <comment_count>25</comment_count>
      <attachid>114599</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-11-11 07:30:20 -0800</bug_when>
    <thetext>Comment on attachment 114599
Patch

r=me, let&apos;s test it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501217</commentid>
    <comment_count>26</comment_count>
      <attachid>114599</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-11 16:35:12 -0800</bug_when>
    <thetext>Comment on attachment 114599
Patch

Clearing flags on attachment: 114599

Committed r100046: &lt;http://trac.webkit.org/changeset/100046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501218</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-11 16:35:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>90592</attachid>
            <date>2011-04-21 13:48:12 -0700</date>
            <delta_ts>2011-04-21 13:48:12 -0700</delta_ts>
            <desc>repro</desc>
            <filename>1.svg</filename>
            <type>image/svg+xml</type>
            <size>607</size>
            <attacher name="Cris Neckar">cdn</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCjxzY3JpcHQ+DQo8IVtDREFUQVsNCndpbmRvdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsNCnRyeSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJXelp4
ZyIpLmluc3RhbmNlUm9vdC5jb3JyZXNwb25kaW5nRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcu
b2Zmc2V0V2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR056WVciKS5uZWFyZXN0Vmll
d3BvcnRFbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuaW5uZXJIZWlnaHQ7IH0gY2F0
Y2goZXgpIHt9DQp9DQovL11dPg0KPC9zY3JpcHQ+DQo8Y2lyY2xlIHRyYW5zZm9ybT0idHJhbnNs
YXRlKC0yNTM3ODAwMzgpIHNjYWxlKDE5NDEzNzk2MTEpICIgaWQ9ImNpcmNsZUlEIj4NCjxhbmlt
YXRlIGF0dHJpYnV0ZU5hbWU9ImN5IiBmaWxsPSJmcmVlemUiLz4NCjxhbmltYXRlVHJhbnNmb3Jt
IGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgZmlsbD0iZnJlZXplIi8+DQo8L2NpcmNsZT4NCjx1
c2UgaWQ9Ild6WnhnIiB4bGluazpocmVmPSIjY2lyY2xlSUQiPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90615</attachid>
            <date>2011-04-21 15:28:02 -0700</date>
            <delta_ts>2011-04-21 16:22:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20110421152801.patch</filename>
            <type>text/plain</type>
            <size>3588</size>
            <attacher name="Cris Neckar">cdn</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjEgIENyaXMgTmVj
a2FyICA8Y2RuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggbnVsbCBkZXJlZiB3aGVuIG5vIHVzZSBlbGVtZW50IGV4aXN0
cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU5MTM2CisKKyAgICAgICAgVGVzdDogc3ZnL21pc2MvbnVsbC1j
b3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2guc3ZnCisKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50Ojpz
ZXRUYXJnZXRBdHRyaWJ1dGVBbmltYXRlZFZhbHVlKToKKwogMjAxMS0wNC0yMSAgTmF0IER1Y2Eg
IDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5z
b24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA4NDQyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQyLDEwICszNDIsMTEgQEAgdm9pZCBTVkdBbmltYXRp
b25FbGVtZW50OjpzZXRUYXJnZXRBdHRyaQogICAgICAgICAgICAgc2hhZG93VHJlZUVsZW1lbnQt
PnN0eWxlKCktPnNldFByb3BlcnR5KGF0dHJpYnV0ZU5hbWUubG9jYWxOYW1lKCksIHZhbHVlLCAi
IiwgZWMpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzaGFkb3dUcmVlRWxlbWVudC0+c2V0
QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIHZhbHVlLCBlYyk7Ci0gICAgICAgICgqaXQpLT5jb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CisgICAgICAgIGlm
ICgoKml0KS0+Y29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSkKKyAgICAgICAgICAgICgqaXQpLT5j
b3JyZXNwb25kaW5nVXNlRWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgfQog
fQotICAgIAorCiB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZUtleVRpbWVzRm9y
Q2FsY01vZGVQYWNlZCgpCiB7CiAgICAgQVNTRVJUKGNhbGNNb2RlKCkgPT0gQ2FsY01vZGVQYWNl
ZCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NDU1MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA0LTIxICBDcmlzIE5lY2thciAg
PGNkbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHMgZm9yIG51bGwgZGVyZWYgd2hlbiBubyB1c2UgZWxlbWVudCBleGlz
dHMgZm9yIFNWRyBlbGVtZW50IGluc3RhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAgICAqIHN2Zy9taXNjL251bGwtY29y
cmVzcG9uZGluZy1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
c3ZnL21pc2MvbnVsbC1jb3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2guc3ZnOiBBZGRlZC4KKwog
MjAxMS0wNC0yMSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIGVtYmVkZGluZyBjaGVja3N1bXMgaW4gcG5nIGZpbGVzIG5vdCBpbiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9taXNjL251bGwtY29ycmVzcG9u
ZGluZy1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvbWlzYy9udWxsLWNvcnJlc3BvbmRpbmctZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvbWlzYy9udWxsLWNvcnJlc3BvbmRpbmct
ZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAor
UEFTUyAtIE51bGwgY29ycmVzcG9uZGluZyBlbGVtZW50IGRlcmVmZXJlbmNlIGRvZXMgbm90IGNy
YXNoLgorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvbWlzYy9udWxsLWNvcnJlc3BvbmRpbmctZWxl
bWVudC1jcmFzaC5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL21pc2MvbnVsbC1j
b3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2guc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL21pc2MvbnVsbC1jb3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2guc3ZnCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIwIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KKyAgICA8
c2NyaXB0Pg0KKyAgICA8IVtDREFUQVsNCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
ew0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZV9lbGVtIikuaW5zdGFuY2VS
b290LmNvcnJlc3BvbmRpbmdFbGVtZW50ID0gMDsNCisNCisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpDQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOw0KKyAgICB9DQorICAgIC8vXV0+DQorICAgIDwvc2NyaXB0Pg0KKyAgICA8Y2ly
Y2xlIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEpIiBpZD0iY2lyY2xlSUQiPg0KKyAgICAgICAgPGFu
aW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIGZpbGw9ImZyZWV6ZSIgLz4NCisgICAgICAgIDxhbmlt
YXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgZmlsbD0iZnJlZXplIiAvPg0K
KyAgICA8L2NpcmNsZT4NCisgICAgPHRleHQ+DQorCVBBU1MgLSBOdWxsIGNvcnJlc3BvbmRpbmcg
ZWxlbWVudCBkZXJlZmVyZW5jZSBkb2VzIG5vdCBjcmFzaC4NCisgICAgPC90ZXh0Pg0KKyAgICA8
dXNlIGlkPSJ1c2VfZWxlbSIgeGxpbms6aHJlZj0iI2NpcmNsZUlEIiAvPg0KKzwvc3ZnPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90628</attachid>
            <date>2011-04-21 16:22:57 -0700</date>
            <delta_ts>2011-11-04 14:08:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20110421162256.patch</filename>
            <type>text/plain</type>
            <size>3609</size>
            <attacher name="Cris Neckar">cdn</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMjEgIENyaXMgTmVj
a2FyICA8Y2RuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggbnVsbCBkZXJlZiB3aGVuIG5vIHVzZSBlbGVtZW50IGV4aXN0
cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU5MTM2CisKKyAgICAgICAgVGVzdDogc3ZnL21pc2MvbnVsbC1j
b3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2guc3ZnCisKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50Ojpz
ZXRUYXJnZXRBdHRyaWJ1dGVBbmltYXRlZFZhbHVlKToKKwogMjAxMS0wNC0yMSAgTmF0IER1Y2Eg
IDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5z
b24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA4NDQyMCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQyLDEwICszNDIsMTIgQEAgdm9pZCBTVkdBbmltYXRp
b25FbGVtZW50OjpzZXRUYXJnZXRBdHRyaQogICAgICAgICAgICAgc2hhZG93VHJlZUVsZW1lbnQt
PnN0eWxlKCktPnNldFByb3BlcnR5KGF0dHJpYnV0ZU5hbWUubG9jYWxOYW1lKCksIHZhbHVlLCAi
IiwgZWMpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzaGFkb3dUcmVlRWxlbWVudC0+c2V0
QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIHZhbHVlLCBlYyk7Ci0gICAgICAgICgqaXQpLT5jb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCgpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7CisKKyAgICAgICAg
aWYgKFNWR1VzZUVsZW1lbnQgKnVzZUVsZW1lbnQgPSAoKml0KS0+Y29ycmVzcG9uZGluZ1VzZUVs
ZW1lbnQoKSkKKyAgICAgICAgICAgIHVzZUVsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsK
ICAgICB9CiB9Ci0gICAgCisKIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5
VGltZXNGb3JDYWxjTW9kZVBhY2VkKCkKIHsKICAgICBBU1NFUlQoY2FsY01vZGUoKSA9PSBDYWxj
TW9kZVBhY2VkKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTUwKQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMjEgIENyaXMg
TmVja2FyICA8Y2RuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmb3IgbnVsbCBkZXJlZiB3aGVuIG5vIHVzZSBlbGVt
ZW50IGV4aXN0cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTEzNgorCisgICAgICAgICogc3ZnL21pc2Mv
bnVsbC1jb3JyZXNwb25kaW5nLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBzdmcvbWlzYy9udWxsLWNvcnJlc3BvbmRpbmctZWxlbWVudC1jcmFzaC5zdmc6IEFk
ZGVkLgorCiAyMDExLTA0LTIxICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgZW1iZWRkaW5nIGNoZWNrc3VtcyBpbiBwbmcgZmlsZXMgbm90IGlu
IExheW91dFRlc3RzL3BsYXRmb3JtLgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS91c2Ut
bnVsbC1pbnN0YW5jZXJvb3QtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW51bGwtaW5zdGFuY2Vyb290LWNyYXNoLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW51bGwtaW5zdGFu
Y2Vyb290LWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitQ
QVNTIC0gTnVsbCBjb3JyZXNwb25kaW5nIGVsZW1lbnQgZGVyZWZlcmVuY2UgZG9lcyBub3QgY3Jh
c2guCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLW51bGwtaW5zdGFuY2Vyb290
LWNyYXNoLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1udWxs
LWluc3RhbmNlcm9vdC1jcmFzaC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3VzZS1udWxsLWluc3RhbmNlcm9vdC1jcmFzaC5zdmcJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjAgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxu
czp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQorICAgIDxzY3JpcHQ+DQor
ICAgIDwhW0NEQVRBWw0KKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7DQorICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNlX2VsZW0iKS5pbnN0YW5jZVJvb3QuY29ycmVz
cG9uZGluZ0VsZW1lbnQgPSAwOw0KKw0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikNCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
DQorICAgIH0NCisgICAgLy9dXT4NCisgICAgPC9zY3JpcHQ+DQorICAgIDx0ZXh0IHk9IjIwIiB4
PSIzMCIgPg0KKyAgICAgICAgUEFTUyAtIE51bGwgY29ycmVzcG9uZGluZyBlbGVtZW50IGRlcmVm
ZXJlbmNlIGRvZXMgbm90IGNyYXNoLg0KKyAgICA8L3RleHQ+DQorICAgIDxjaXJjbGUgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMSkiIGlkPSJjaXJjbGVJRCIgZmlsbD0iZ3JlZW4iIGN5PSIxNSIgY3g9
IjE1IiByPSIxMCIgPg0KKyAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIC8+DQor
ICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIC8+DQor
ICAgIDwvY2lyY2xlPg0KKyAgICA8dXNlIGlkPSJ1c2VfZWxlbSIgeGxpbms6aHJlZj0iI2NpcmNs
ZUlEIiAvPg0KKzwvc3ZnPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113709</attachid>
            <date>2011-11-04 14:09:00 -0700</date>
            <delta_ts>2011-11-08 14:43:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20111104170859.patch</filename>
            <type>text/plain</type>
            <size>6590</size>
            <attacher name="Stephen Chenney">schenney</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMDQgIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdo
ZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAg
ICBDbGVhbnMgdXAgdGhlIG9iamVjdCB3aGVuIGl0IGlzIGRldGFjaGVkIGZyb20gdGhlIHNoYWRv
dyBET00gdHJlZSwKKyAgICAgICAgcmF0aGVyIHRoYW4gbGVhdmluZyBpdCBpbiBhIGhhbGYtY2xl
YW4gc3RhdGUgd2l0aCBzb21lIG51bGxlZAorICAgICAgICByZWZlcmVuY2VzIGJ1dCBub3Qgb3Ro
ZXJzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZworCisg
ICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6On5TVkdFbGVtZW50SW5zdGFuY2UpOiBBZGRlZCBhIGNhbGwgdG8K
KyAgICAgICAgZGV0YWNoIHRvIGNsZWFuIHVwIGlmIGRlbGV0aW9uIGhhcHBlbnMgd2l0aG91dCBh
IHByaW9yIGRldGFjaCBjYWxsIChhcworICAgICAgICB3aGVuIGFuIGVudGlyZSB0cmVlIGlzIHJl
bW92ZWQpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2gpOiBO
ZXcgbWV0aG9kIHRoYXQgcmVwbGFjZXMgb3RoZXIKKyAgICAgICAgY2xlYW4tdXAgbWV0aG9kcyB3
aGVuIHRoZSBpbnN0YW5jZSBpcyByZW1vdmVkIGZyb20gdGhlIHNoYWRvdyBET00uCisgICAgICAg
ICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOiBBZGRlZCBuZXcgZGV0YWNoIG1ldGhvZCBhbmQg
cmVtb3ZlZAorICAgICAgICB1bm5lY2Vzc2FyeSBjbGVhciBtZXRob2RzLgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRl
dGFjaEluc3RhbmNlKTogQ2hhbmdlZCBjYWxscyB0byBjbGVhciB0bworICAgICAgICBpbnN0ZWFk
IGRldGFjaC4KKwogMjAxMS0xMS0wNCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBbUXRdIFJlbW92ZSBFTkFCTEVfU1FMSVRFIGZyb20gcW1ha2UgZmls
ZXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwCShyZXZp
c2lvbiA5OTMwOSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02MSwxOCArNjEsMzAgQEAgU1ZHRWxlbWVudEluc3RhbmNlOjpT
VkdFbGVtZW50SW5zdGFuY2UoUwogCiBTVkdFbGVtZW50SW5zdGFuY2U6On5TVkdFbGVtZW50SW5z
dGFuY2UoKQogeworICAgIC8vIENhbGwgZGV0YWNoIGJlY2F1c2Ugd2UgbWF5IGJlIGRlbGV0ZWQg
ZGlyZWN0bHkgaWYgd2UgYXJlIGEgY2hpbGQgb2YgYSBkZXRhY2hlZCBpbnN0YW5jZS4KKyAgICBk
ZXRhY2goKTsKKwogI2lmbmRlZiBOREVCVUcKICAgICBpbnN0YW5jZUNvdW50ZXIuZGVjcmVtZW50
KCk7CiAjZW5kaWYKIAotICAgIC8vIERlcmVnaXN0ZXIgYXMgaW5zdGFuY2UgZm9yIHBhc3NlZCBl
bGVtZW50LgotICAgIG1fZWxlbWVudC0+cmVtb3ZlSW5zdGFuY2VNYXBwaW5nKHRoaXMpOwotCi0g
ICAgY2xlYXJDaGlsZHJlbigpOwogfQogCi12b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6Y2xlYXJD
aGlsZHJlbigpCit2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6ZGV0YWNoKCkKIHsKKyAgICAvLyBD
bGVhciBhbGwgcG9pbnRlcnMuIFdoZW4gdGhlIG5vZGUgaXMgZGV0YWNoZWQgZnJvbSB0aGUgc2hh
ZG93IERPTSBpdCBzaG91bGQgYmUgcmVtb3ZlZCBidXQsCisgICAgLy8gZHVlIHRvIHJlZiBjb3Vu
dGluZywgaXQgbWF5IG5vdCBiZS4gU28gY2xlYXIgZXZlcnl0aGluZyB0byBhdm9pZCBkYW5nbGlu
ZyBwb2ludGVycy4KKworICAgIC8vIERlcmVnaXN0ZXIgYXMgaW5zdGFuY2UgZm9yIHBhc3NlZCBl
bGVtZW50LgorICAgIGlmIChtX2VsZW1lbnQpCisgICAgICAgIG1fZWxlbWVudC0+cmVtb3ZlSW5z
dGFuY2VNYXBwaW5nKHRoaXMpOworICAgIG1fZWxlbWVudCA9IDA7CisKKyAgICBtX3NoYWRvd1Ry
ZWVFbGVtZW50ID0gMDsKKworICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7CisgICAgbV9jb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCA9IDA7CisKICAgICByZW1vdmVBbGxDaGlsZHJlbkluQ29udGFp
bmVyPFNWR0VsZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPih0aGlzKTsKIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAkocmV2aXNpb24gOTkz
MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDEyICs2MCw4IEBAIHB1YmxpYzoKICAgICBTVkdVc2VFbGVtZW50KiBjb3Jy
ZXNwb25kaW5nVXNlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29ycmVzcG9uZGluZ1VzZUVs
ZW1lbnQ7IH0KICAgICBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9kaXJlY3RVc2VFbGVtZW50OyB9CiAgICAgU1ZHRWxlbWVudCogc2hhZG93VHJlZUVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd1RyZWVFbGVtZW50LmdldCgpOyB9Ci0gICAg
dm9pZCBjbGVhckNoaWxkcmVuKCk7Ci0gICAgdm9pZCBjbGVhclVzZUVsZW1lbnRzKCkKLSAgICB7
Ci0gICAgICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7Ci0gICAgICAgIG1fY29ycmVzcG9uZGlu
Z1VzZUVsZW1lbnQgPSAwOwotICAgIH0KKworICAgIHZvaWQgZGV0YWNoKCk7CiAKICAgICBTVkdF
bGVtZW50SW5zdGFuY2UqIHBhcmVudE5vZGUoKSBjb25zdCB7IHJldHVybiBwYXJlbnQoKTsgfQog
ICAgIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlTGlzdD4gY2hpbGROb2RlcygpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAkocmV2aXNpb24gOTkzMDkpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYy
NCw4ICs2MjQsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKCkKIHsKICAg
ICBpZiAoIW1fdGFyZ2V0RWxlbWVudEluc3RhbmNlKQogICAgICAgICByZXR1cm47Ci0gICAgbV90
YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyVXNlRWxlbWVudHMoKTsKLSAgICBtX3RhcmdldEVs
ZW1lbnRJbnN0YW5jZS0+Y2xlYXJDaGlsZHJlbigpOworICAgIG1fdGFyZ2V0RWxlbWVudEluc3Rh
bmNlLT5kZXRhY2goKTsKICAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSA9IDA7CiB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDk5MzE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTEtMDQgIFN0ZXBoZW4gQ2hlbm5leSAgPHNj
aGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdoZW4gbm8gdXNlIGVs
ZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5j
ZS1oZWxkLWJ5LWpzLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnOiBBZGRlZC4KKwogMjAx
MS0xMS0wNCAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIExh
eW91dCBUZXN0IHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRt
bCBpcyBmYWlsaW5nCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFu
Y2UtaGVsZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3Rh
bmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIgQEAKK1BBU1MgLSBOdWxsIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBkZXJlZmVyZW5jZSBkb2Vz
IG5vdCBjcmFzaC4KKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0Cl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9j
dXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2Zwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFz
aC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5z
dGFuY2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAK
KzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPHNjcmlwdD4KKyAgICA8IVtDREFUQVsK
KyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIC8vIEdyYWIgYSByZWZl
cmVuY2UgdG8gYW4gU1ZHRWxlbWVudEluc3RhbmNlIG5hdGl2ZSBvYmplY3QuIFRoaXMgcmVmZXJl
bmNlIHdpbGwgcHJldmVudCB0aGUKKyAgICAgICAgLy8gb2JqZWN0IGZyb20gZGVsZXRpb24gd2hl
biB0aGUgc2hhZG93IERPTSBpcyByZW1vdmVkIGR1ZSB0byBhIHN0eWxlIGNoYW5nZS4gU3VjaCBh
IHN0eWxlCisgICAgICAgIC8vIGNoYW5nZSBvY2N1cnMgd2hlbiB0aGUgYW5pbWF0aW9uIGZpcmVz
LgorICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVzZV9lbGVtIiku
aW5zdGFuY2VSb290LmNvcnJlc3BvbmRpbmdFbGVtZW50OworCisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgfQorICAgIC8vXV0+CisgICAgPC9zY3JpcHQ+CisgICAgPHRleHQg
eT0iMjAiIHg9IjMwIiA+CisgICAgICAgIFBBU1MgLSBOdWxsIGNvcnJlc3BvbmRpbmcgZWxlbWVu
dCBkZXJlZmVyZW5jZSBkb2VzIG5vdCBjcmFzaC4KKyAgICA8L3RleHQ+CisgICAgPGNpcmNsZSB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgxKSIgaWQ9ImNpcmNsZUlEIiBmaWxsPSJncmVlbiIgY3k9IjE1
IiBjeD0iMTUiIHI9IjEwIiA+CisgICAgICAgIDxhbmltYXRlIGlkPSJhbmltYXRlQ29sb3IiIGF0
dHJpYnV0ZU5hbWU9ImN5IiAvPgorICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVO
YW1lPSJ0cmFuc2Zvcm0iIC8+CisgICAgPC9jaXJjbGU+CisgICAgPHVzZSBpZD0idXNlX2VsZW0i
IHhsaW5rOmhyZWY9IiNjaXJjbGVJRCIgLz4KKzwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114157</attachid>
            <date>2011-11-08 14:43:46 -0800</date>
            <delta_ts>2011-11-09 08:44:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20111108174345.patch</filename>
            <type>text/plain</type>
            <size>7025</size>
            <attacher name="Stephen Chenney">schenney</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5NTc0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMDggIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdo
ZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAg
ICBDbGVhbnMgdXAgdGhlIG9iamVjdCB3aGVuIGl0IGlzIGRldGFjaGVkIGZyb20gdGhlIHNoYWRv
dyBET00gdHJlZSwKKyAgICAgICAgcmF0aGVyIHRoYW4gbGVhdmluZyBpdCBpbiBhIGhhbGYtY2xl
YW4gc3RhdGUgd2l0aCBzb21lIG51bGxlZAorICAgICAgICByZWZlcmVuY2VzIGJ1dCBub3Qgb3Ro
ZXJzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZworCisg
ICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6On5TVkdFbGVtZW50SW5zdGFuY2UpOiBBZGRlZCBhIGNhbGwgdG8K
KyAgICAgICAgZGV0YWNoIHRvIGNsZWFuIHVwIGlmIGRlbGV0aW9uIGhhcHBlbnMgd2l0aG91dCBh
IHByaW9yIGRldGFjaCBjYWxsIChhcworICAgICAgICB3aGVuIGFuIGVudGlyZSB0cmVlIGlzIHJl
bW92ZWQpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2gpOiBO
ZXcgbWV0aG9kIHRoYXQgcmVwbGFjZXMgb3RoZXIKKyAgICAgICAgY2xlYW4tdXAgbWV0aG9kcyB3
aGVuIHRoZSBpbnN0YW5jZSBpcyByZW1vdmVkIGZyb20gdGhlIHNoYWRvdyBET00uCisgICAgICAg
ICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOiBBZGRlZCBuZXcgZGV0YWNoIG1ldGhvZCBhbmQg
cmVtb3ZlZAorICAgICAgICB1bm5lY2Vzc2FyeSBjbGVhciBtZXRob2RzLgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRl
dGFjaEluc3RhbmNlKTogQ2hhbmdlZCBjYWxscyB0byBjbGVhciB0bworICAgICAgICBpbnN0ZWFk
IGRldGFjaC4KKwogMjAxMS0xMS0wOCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQ1NTSW1hZ2VWYWx1ZTogRGV2aXJ0dWFsaXplIGNhY2hlZEltYWdlKENhY2hl
ZFJlc291cmNlTG9hZGVyKikuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmNwcAkocmV2aXNpb24gOTk2MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudEluc3RhbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTggKzYxLDMwIEBAIFNWR0Vs
ZW1lbnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKFMKIAogU1ZHRWxlbWVudEluc3RhbmNl
Ojp+U1ZHRWxlbWVudEluc3RhbmNlKCkKIHsKKyAgICAvLyBDYWxsIGRldGFjaCBiZWNhdXNlIHdl
IG1heSBiZSBkZWxldGVkIGRpcmVjdGx5IGlmIHdlIGFyZSBhIGNoaWxkIG9mIGEgZGV0YWNoZWQg
aW5zdGFuY2UuCisgICAgZGV0YWNoKCk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgaW5zdGFuY2VD
b3VudGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCiAKLSAgICAvLyBEZXJlZ2lzdGVyIGFzIGluc3Rh
bmNlIGZvciBwYXNzZWQgZWxlbWVudC4KLSAgICBtX2VsZW1lbnQtPnJlbW92ZUluc3RhbmNlTWFw
cGluZyh0aGlzKTsKLQotICAgIGNsZWFyQ2hpbGRyZW4oKTsKIH0KIAotdm9pZCBTVkdFbGVtZW50
SW5zdGFuY2U6OmNsZWFyQ2hpbGRyZW4oKQordm9pZCBTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFj
aCgpCiB7CisgICAgLy8gQ2xlYXIgYWxsIHBvaW50ZXJzLiBXaGVuIHRoZSBub2RlIGlzIGRldGFj
aGVkIGZyb20gdGhlIHNoYWRvdyBET00gaXQgc2hvdWxkIGJlIHJlbW92ZWQgYnV0LAorICAgIC8v
IGR1ZSB0byByZWYgY291bnRpbmcsIGl0IG1heSBub3QgYmUuIFNvIGNsZWFyIGV2ZXJ5dGhpbmcg
dG8gYXZvaWQgZGFuZ2xpbmcgcG9pbnRlcnMuCisKKyAgICAvLyBEZXJlZ2lzdGVyIGFzIGluc3Rh
bmNlIGZvciBwYXNzZWQgZWxlbWVudC4KKyAgICBpZiAobV9lbGVtZW50KQorICAgICAgICBtX2Vs
ZW1lbnQtPnJlbW92ZUluc3RhbmNlTWFwcGluZyh0aGlzKTsKKyAgICBtX2VsZW1lbnQgPSAwOwor
CisgICAgbV9zaGFkb3dUcmVlRWxlbWVudCA9IDA7CisKKyAgICBtX2RpcmVjdFVzZUVsZW1lbnQg
PSAwOworICAgIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQgPSAwOworCiAgICAgcmVtb3ZlQWxs
Q2hpbGRyZW5JbkNvbnRhaW5lcjxTVkdFbGVtZW50SW5zdGFuY2UsIFNWR0VsZW1lbnRJbnN0YW5j
ZT4odGhpcyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFu
Y2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNl
LmgJKHJldmlzaW9uIDk5NjE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0
YW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMiArNjAsOCBAQCBwdWJsaWM6CiAgICAgU1ZH
VXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2Nv
cnJlc3BvbmRpbmdVc2VFbGVtZW50OyB9CiAgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0VXNlRWxlbWVudDsgfQogICAgIFNWR0VsZW1l
bnQqIHNoYWRvd1RyZWVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dUcmVlRWxlbWVu
dC5nZXQoKTsgfQotICAgIHZvaWQgY2xlYXJDaGlsZHJlbigpOwotICAgIHZvaWQgY2xlYXJVc2VF
bGVtZW50cygpCi0gICAgewotICAgICAgICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAwOwotICAgICAg
ICBtX2NvcnJlc3BvbmRpbmdVc2VFbGVtZW50ID0gMDsKLSAgICB9CisKKyAgICB2b2lkIGRldGFj
aCgpOwogCiAgICAgU1ZHRWxlbWVudEluc3RhbmNlKiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1
cm4gcGFyZW50KCk7IH0KICAgICBQYXNzUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IGNo
aWxkTm9kZXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDk5NjE2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MjQsOCArNjI0LDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpkZXRhY2hJ
bnN0YW5jZSgpCiB7CiAgICAgaWYgKCFtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSkKICAgICAgICAg
cmV0dXJuOwotICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jbGVhclVzZUVsZW1lbnRzKCk7
Ci0gICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyQ2hpbGRyZW4oKTsKKyAgICBtX3Rh
cmdldEVsZW1lbnRJbnN0YW5jZS0+ZGV0YWNoKCk7CiAgICAgbV90YXJnZXRFbGVtZW50SW5zdGFu
Y2UgPSAwOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTU3NCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTA4ICBTdGVw
aGVuIENoZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTnVsbCBkZXJl
ZiB3aGVuIG5vIHVzZSBlbGVtZW50IGV4aXN0cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTM2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdmcvY3VzdG9t
L2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2
ZzogQWRkZWQuCisKIDIwMTEtMTEtMDggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5u
QHJpbS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBSZWJhc2VsaW5lIHF0IHJlc3VsdHMg
YWZ0ZXIgdGhlIHJlY2VudCBTVkdJbWFnZSBjaGFuZ2VzLgpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxk
LWJ5LWpzLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2
Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitQQVNTIC0gTnVsbCBjb3JyZXNwb25kaW5nIGVs
ZW1lbnQgZGVyZWZlcmVuY2UgZG9lcyBub3QgY3Jhc2guCisKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNo
LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1j
cmFzaC5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWlu
c3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDMyIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgIDxz
Y3JpcHQ+CisgICAgPCFbQ0RBVEFbCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAvLyBHcmFiIGEgcmVmZXJlbmNlIHRvIGFuIFNWR0VsZW1lbnRJbnN0YW5jZSBuYXRp
dmUgb2JqZWN0LiBUaGlzIHJlZmVyZW5jZSB3aWxsIHByZXZlbnQgdGhlCisgICAgICAgIC8vIG9i
amVjdCBmcm9tIGRlbGV0aW9uIHdoZW4gdGhlIHNoYWRvdyBET00gaXMgcmVtb3ZlZCBkdWUgdG8g
YSBzdHlsZSBjaGFuZ2UuCisgICAgICAgIGluc3RhbmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInVzZV9lbGVtIikuaW5zdGFuY2VSb290OworCisgICAgICAgIC8vIFNldHRpbmcgYW4gYXR0
cmlidXRlIGZvcmNlcyByZS1jcmVhdGlvbiBvZiB0aGUgc2hhZG93IERPTQorICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2lyY2xlSUQiKS5zZXRBdHRyaWJ1dGUoImN4IiwgMzApOwor
CisgICAgICAgIC8vIE5vdyB0aGF0IHRoZSBzaGFkb3cgRE9NIGhhcyBiZWVuIHJlY3JlYXRlZCwg
dGhlIG9iamVjdCBmcm9tIHRoZSBvcmlnaW5hbCBET00KKyAgICAgICAgLy8gc2hvdWxkIGhhdmUg
YWxsIG51bGwgYXR0cmlidXRlcy4KKyAgICAgICAgaWYgKGluc3RhbmNlLmNvcnJlc3BvbmRpbmdF
bGVtZW50ICE9IG51bGwpCisgICAgICAgIHsKKyAgICAgICAgICBmYWlsVGV4dCA9IGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJGQUlMIC0gTnVsbCBjb3JyZXNwb25kaW5nIGVsZW1lbnQgZGVyZWZl
cmVuY2UgaXMgbm9uLW51bGwuIik7CisgICAgICAgICAgZXhpc3RpbmdUZXh0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdFRleHQiKTsKKyAgICAgICAgICBleGlzdGluZ1RleHQucmVw
bGFjZUNoaWxkKGZhaWxUZXh0LCBleGlzdGluZ1RleHQuZmlyc3RDaGlsZCk7CisgICAgICAgIH0K
KworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKyAgICAvL11dPgorICAg
IDwvc2NyaXB0PgorICAgIDxjaXJjbGUgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSkiIGlkPSJjaXJj
bGVJRCIgZmlsbD0iZ3JlZW4iIGN5PSIxNSIgY3g9IjE1IiByPSIxMCIgPgorICAgIDwvY2lyY2xl
PgorICAgIDx0ZXh0IGlkPSJyZXN1bHRUZXh0IiB5PSIyMCIgeD0iNTAiID4KKyAgICAgIFBBU1Mg
LSBOdWxsIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBkZXJlZmVyZW5jZSBkb2VzIG5vdCBjcmFzaC4K
KyAgICA8L3RleHQ+CisgICAgPHVzZSBpZD0idXNlX2VsZW0iIHhsaW5rOmhyZWY9IiNjaXJjbGVJ
RCIgLz4KKzwvc3ZnPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114293</attachid>
            <date>2011-11-09 08:44:55 -0800</date>
            <delta_ts>2011-11-10 16:15:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20111109114454.patch</filename>
            <type>text/plain</type>
            <size>6745</size>
            <attacher name="Stephen Chenney">schenney</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5NzIxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTEtMDkgIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdo
ZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAg
ICBDbGVhbnMgdXAgdGhlIG9iamVjdCB3aGVuIGl0IGlzIGRldGFjaGVkIGZyb20gdGhlIHNoYWRv
dyBET00gdHJlZSwKKyAgICAgICAgcmF0aGVyIHRoYW4gbGVhdmluZyBpdCBpbiBhIGhhbGYtY2xl
YW4gc3RhdGUgd2l0aCBzb21lIG51bGxlZAorICAgICAgICByZWZlcmVuY2VzIGJ1dCBub3Qgb3Ro
ZXJzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZworCisg
ICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6On5TVkdFbGVtZW50SW5zdGFuY2UpOiBBZGRlZCBhIGNhbGwgdG8K
KyAgICAgICAgZGV0YWNoIHRvIGNsZWFuIHVwIGlmIGRlbGV0aW9uIGhhcHBlbnMgd2l0aG91dCBh
IHByaW9yIGRldGFjaCBjYWxsIChhcworICAgICAgICB3aGVuIGFuIGVudGlyZSB0cmVlIGlzIHJl
bW92ZWQpLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2gpOiBO
ZXcgbWV0aG9kIHRoYXQgcmVwbGFjZXMgb3RoZXIKKyAgICAgICAgY2xlYW4tdXAgbWV0aG9kcyB3
aGVuIHRoZSBpbnN0YW5jZSBpcyByZW1vdmVkIGZyb20gdGhlIHNoYWRvdyBET00uCisgICAgICAg
ICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOiBBZGRlZCBuZXcgZGV0YWNoIG1ldGhvZCBhbmQg
cmVtb3ZlZAorICAgICAgICB1bm5lY2Vzc2FyeSBjbGVhciBtZXRob2RzLgorICAgICAgICAqIHN2
Zy9TVkdVc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRl
dGFjaEluc3RhbmNlKTogQ2hhbmdlZCBjYWxscyB0byBjbGVhciB0bworICAgICAgICBpbnN0ZWFk
IGRldGFjaC4KKwogMjAxMS0xMS0wOSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBu
b2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkLCBhZGRpbmcgbWlzc2luZyBmaWxl
cyB0byB0aGUgYnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3Rh
bmNlLmNwcAkocmV2aXNpb24gOTk3MjEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dEluc3RhbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTggKzYxLDMwIEBAIFNWR0VsZW1l
bnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKFMKIAogU1ZHRWxlbWVudEluc3RhbmNlOjp+
U1ZHRWxlbWVudEluc3RhbmNlKCkKIHsKKyAgICAvLyBDYWxsIGRldGFjaCBiZWNhdXNlIHdlIG1h
eSBiZSBkZWxldGVkIGRpcmVjdGx5IGlmIHdlIGFyZSBhIGNoaWxkIG9mIGEgZGV0YWNoZWQgaW5z
dGFuY2UuCisgICAgZGV0YWNoKCk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgaW5zdGFuY2VDb3Vu
dGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCiAKLSAgICAvLyBEZXJlZ2lzdGVyIGFzIGluc3RhbmNl
IGZvciBwYXNzZWQgZWxlbWVudC4KLSAgICBtX2VsZW1lbnQtPnJlbW92ZUluc3RhbmNlTWFwcGlu
Zyh0aGlzKTsKLQotICAgIGNsZWFyQ2hpbGRyZW4oKTsKIH0KIAotdm9pZCBTVkdFbGVtZW50SW5z
dGFuY2U6OmNsZWFyQ2hpbGRyZW4oKQordm9pZCBTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFjaCgp
CiB7CisgICAgLy8gQ2xlYXIgYWxsIHBvaW50ZXJzLiBXaGVuIHRoZSBub2RlIGlzIGRldGFjaGVk
IGZyb20gdGhlIHNoYWRvdyBET00gaXQgc2hvdWxkIGJlIHJlbW92ZWQgYnV0LAorICAgIC8vIGR1
ZSB0byByZWYgY291bnRpbmcsIGl0IG1heSBub3QgYmUuIFNvIGNsZWFyIGV2ZXJ5dGhpbmcgdG8g
YXZvaWQgZGFuZ2xpbmcgcG9pbnRlcnMuCisKKyAgICAvLyBEZXJlZ2lzdGVyIGFzIGluc3RhbmNl
IGZvciBwYXNzZWQgZWxlbWVudC4KKyAgICBpZiAobV9lbGVtZW50KQorICAgICAgICBtX2VsZW1l
bnQtPnJlbW92ZUluc3RhbmNlTWFwcGluZyh0aGlzKTsKKyAgICBtX2VsZW1lbnQgPSAwOworCisg
ICAgbV9zaGFkb3dUcmVlRWxlbWVudCA9IDA7CisKKyAgICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAw
OworICAgIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQgPSAwOworCiAgICAgcmVtb3ZlQWxsQ2hp
bGRyZW5JbkNvbnRhaW5lcjxTVkdFbGVtZW50SW5zdGFuY2UsIFNWR0VsZW1lbnRJbnN0YW5jZT4o
dGhpcyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgJ
KHJldmlzaW9uIDk5NzIxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5j
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMiArNjAsOCBAQCBwdWJsaWM6CiAgICAgU1ZHVXNl
RWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2NvcnJl
c3BvbmRpbmdVc2VFbGVtZW50OyB9CiAgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0VXNlRWxlbWVudDsgfQogICAgIFNWR0VsZW1lbnQq
IHNoYWRvd1RyZWVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dUcmVlRWxlbWVudC5n
ZXQoKTsgfQotICAgIHZvaWQgY2xlYXJDaGlsZHJlbigpOwotICAgIHZvaWQgY2xlYXJVc2VFbGVt
ZW50cygpCi0gICAgewotICAgICAgICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAwOwotICAgICAgICBt
X2NvcnJlc3BvbmRpbmdVc2VFbGVtZW50ID0gMDsKLSAgICB9CisKKyAgICB2b2lkIGRldGFjaCgp
OwogCiAgICAgU1ZHRWxlbWVudEluc3RhbmNlKiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1cm4g
cGFyZW50KCk7IH0KICAgICBQYXNzUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IGNoaWxk
Tm9kZXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9u
IDk5NzIxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MjQsOCArNjI0LDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpkZXRhY2hJbnN0
YW5jZSgpCiB7CiAgICAgaWYgKCFtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSkKICAgICAgICAgcmV0
dXJuOwotICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jbGVhclVzZUVsZW1lbnRzKCk7Ci0g
ICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyQ2hpbGRyZW4oKTsKKyAgICBtX3Rhcmdl
dEVsZW1lbnRJbnN0YW5jZS0+ZGV0YWNoKCk7CiAgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2Ug
PSAwOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTcyMSkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTA5ICBTdGVwaGVu
IENoZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTnVsbCBkZXJlZiB3
aGVuIG5vIHVzZSBlbGVtZW50IGV4aXN0cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTM2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2Vs
ZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2Zzog
QWRkZWQuCisKIDIwMTEtMTEtMDkgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNl
LWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK1BBU1MgLSBOdWxsIGNvcnJlc3BvbmRp
bmcgZWxlbWVudCBkZXJlZmVyZW5jZSBkb2VzIG5vdCBjcmFzaC4KKwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMt
Y3Jhc2gtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBM
RgoKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5
LWpzLWNyYXNoLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1l
bnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+Cisg
ICAgPHNjcmlwdD4KKyAgICA8IVtDREFUQVsKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgICAgIC8vIEdyYWIgYSByZWZlcmVuY2UgdG8gYW4gU1ZHRWxlbWVudEluc3RhbmNl
IG5hdGl2ZSBvYmplY3QuIFRoaXMgcmVmZXJlbmNlIHdpbGwgcHJldmVudCB0aGUKKyAgICAgICAg
Ly8gb2JqZWN0IGZyb20gZGVsZXRpb24gd2hlbiB0aGUgc2hhZG93IERPTSBpcyByZW1vdmVkIGR1
ZSB0byBhIHN0eWxlIGNoYW5nZS4KKyAgICAgICAgaW5zdGFuY2UgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidXNlX2VsZW0iKS5pbnN0YW5jZVJvb3Q7CisKKyAgICAgICAgLy8gU2V0dGluZyBh
biBhdHRyaWJ1dGUgZm9yY2VzIHJlLWNyZWF0aW9uIG9mIHRoZSBzaGFkb3cgRE9NCisgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaXJjbGVJRCIpLnNldEF0dHJpYnV0ZSgiY3giLCAz
MCk7CisKKyAgICAgICAgLy8gVGhlIGFuaW1hdGUgZWxlbWVudCB0cmllcyB0byBtb2RpZnkgdGhl
IGVsZW1lbnQsIHdoaWNoIHRyaWVzIHRvIHVwZGF0ZSB0aGUKKyAgICAgICAgLy8gaW5zdGFuY2Vz
IGluIHRoZSBjaXJjbGUsIHdoaWNoIGNyYXNoZXMgaWYgaXQgaG9sZHMgYSBwb2ludGVyIHRvIGEg
bm9uLWV4aXN0ZW50IGVsZW1lbnQuCisKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICB9CisgICAgLy9dXT4KKyAgICA8L3NjcmlwdD4KKyAgICA8Y2lyY2xlIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDEpIiBpZD0iY2lyY2xlSUQiIGZpbGw9ImdyZWVuIiBjeT0iMTUiIGN4PSIxNSIg
cj0iMTAiID4KKyAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIC8+CisgICAgPC9j
aXJjbGU+CisgICAgPHRleHQgaWQ9InJlc3VsdFRleHQiIHk9IjIwIiB4PSI1MCIgPgorICAgICAg
UEFTUyAtIE51bGwgY29ycmVzcG9uZGluZyBlbGVtZW50IGRlcmVmZXJlbmNlIGRvZXMgbm90IGNy
YXNoLgorICAgIDwvdGV4dD4KKyAgICA8dXNlIGlkPSJ1c2VfZWxlbSIgeGxpbms6aHJlZj0iI2Np
cmNsZUlEIiAvPgorPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114596</attachid>
            <date>2011-11-10 16:15:25 -0800</date>
            <delta_ts>2011-11-10 16:25:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20111110191523.patch</filename>
            <type>text/plain</type>
            <size>6622</size>
            <attacher name="Stephen Chenney">schenney</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5OTExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMTAgIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdo
ZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworCVNlY29u
ZCBhdHRlbXB0LCB3aXRoIGEgZml4IHRvIGhhbmRsZSBKUyBnYXJiYWdlIGNvbGxlY3Rpb24uCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogc3Zn
L2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2guc3ZnCisKKyAgICAgICAg
KiBzdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1l
bnRJbnN0YW5jZTo6flNWR0VsZW1lbnRJbnN0YW5jZSk6IEFkZGVkIGNhbGwgdG8gZGV0YWNoKCkg
dG8gY2xlYXIKKyAgICAgICAgICBhbnl0aGluZyBub3QgeWV0IGNsZWFyZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdFbGVtZW50SW5zdGFuY2U6OmRldGFjaCk6IE5ldyBtZXRob2QgdG8gcmVwbGFj
ZSBvbGQgY2xlYXIgbWV0aG9kcy4gVGhpcyBvbmUKKyAgICAgICAgICBjbGVhcnMgYWxsIHRoZSBw
b2ludGVycyBpdCBjYW4sIGFuZCByZW1vdmVzIHRoZSBpbnN0YW5jZSBmcm9tIHRoZSBjb3JyZXNw
b25kaW5nIGVsZW1lbnRzCisgICAgICAgICAgaW5zdGFuY2UgbGlzdC4KKyAgICAgICAgKiBzdmcv
U1ZHRWxlbWVudEluc3RhbmNlLmg6IFJlbW92ZWQgY2xlYXIgbWV0aG9kcyBhbmQgcmVwbGFjZWQg
d2l0aCBkZXRhY2guCisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOiAKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKTogTW9kaWZpZWQgY2FsbHMg
dG8gY2xlYW4gdXAgYW4gU1ZHRWxlbWVudEluc3RhbmNlLgorCiAyMDExLTExLTEwICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZWZmZWN0Qm91bmRpbmdC
b3hNb2RlIGZyb20gQ1NTIEZpbHRlcnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuY3BwCShyZXZpc2lvbiA5OTg5NikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50SW5zdGFuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwxOCArNjEsMzEgQEAg
U1ZHRWxlbWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFuY2UoUwogCiBTVkdFbGVtZW50SW5z
dGFuY2U6On5TVkdFbGVtZW50SW5zdGFuY2UoKQogeworICAgIC8vIENhbGwgZGV0YWNoIGJlY2F1
c2Ugd2UgbWF5IGJlIGRlbGV0ZWQgZGlyZWN0bHkgaWYgd2UgYXJlIGEgY2hpbGQgb2YgYSBkZXRh
Y2hlZCBpbnN0YW5jZS4KKyAgICBkZXRhY2goKTsKKwogI2lmbmRlZiBOREVCVUcKICAgICBpbnN0
YW5jZUNvdW50ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYKIAotICAgIC8vIERlcmVnaXN0ZXIgYXMg
aW5zdGFuY2UgZm9yIHBhc3NlZCBlbGVtZW50LgotICAgIG1fZWxlbWVudC0+cmVtb3ZlSW5zdGFu
Y2VNYXBwaW5nKHRoaXMpOwotCi0gICAgY2xlYXJDaGlsZHJlbigpOworICAgIG1fZWxlbWVudCA9
IDA7CiB9CiAKLXZvaWQgU1ZHRWxlbWVudEluc3RhbmNlOjpjbGVhckNoaWxkcmVuKCkKK3ZvaWQg
U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2goKQogeworICAgIC8vIENsZWFyIGFsbCBwb2ludGVy
cy4gV2hlbiB0aGUgbm9kZSBpcyBkZXRhY2hlZCBmcm9tIHRoZSBzaGFkb3cgRE9NIGl0IHNob3Vs
ZCBiZSByZW1vdmVkIGJ1dCwKKyAgICAvLyBkdWUgdG8gcmVmIGNvdW50aW5nLCBpdCBtYXkgbm90
IGJlLiBTbyBjbGVhciBldmVyeXRoaW5nIHRvIGF2b2lkIGRhbmdsaW5nIHBvaW50ZXJzLgorCisg
ICAgLy8gRGVyZWdpc3RlciBhcyBpbnN0YW5jZSBmb3IgcGFzc2VkIGVsZW1lbnQsIGlmIHdlIGhh
dmVuJ3QgYWxyZWFkeS4KKyAgICBpZiAobV9lbGVtZW50LT5pbnN0YW5jZXNGb3JFbGVtZW50KCku
Y29udGFpbnModGhpcykpCisgICAgICAgIG1fZWxlbWVudC0+cmVtb3ZlSW5zdGFuY2VNYXBwaW5n
KHRoaXMpOworICAgIC8vIERPIE5PVCBjbGVhciByZWYgdG8gbV9lbGVtZW50IGJlY2F1c2UgSmF2
YVNjcmlwdENvcmUgdXNlcyBpdCBmb3IgZ2FyYmFnZSBjb2xsZWN0aW9uCisKKyAgICBtX3NoYWRv
d1RyZWVFbGVtZW50ID0gMDsKKworICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7CisgICAgbV9j
b3JyZXNwb25kaW5nVXNlRWxlbWVudCA9IDA7CisKICAgICByZW1vdmVBbGxDaGlsZHJlbkluQ29u
dGFpbmVyPFNWR0VsZW1lbnRJbnN0YW5jZSwgU1ZHRWxlbWVudEluc3RhbmNlPih0aGlzKTsKIH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAkocmV2aXNpb24g
OTk4OTYpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTYwLDEyICs2MCw4IEBAIHB1YmxpYzoKICAgICBTVkdVc2VFbGVtZW50KiBj
b3JyZXNwb25kaW5nVXNlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29ycmVzcG9uZGluZ1Vz
ZUVsZW1lbnQ7IH0KICAgICBTVkdVc2VFbGVtZW50KiBkaXJlY3RVc2VFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9kaXJlY3RVc2VFbGVtZW50OyB9CiAgICAgU1ZHRWxlbWVudCogc2hhZG93VHJl
ZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd1RyZWVFbGVtZW50LmdldCgpOyB9Ci0g
ICAgdm9pZCBjbGVhckNoaWxkcmVuKCk7Ci0gICAgdm9pZCBjbGVhclVzZUVsZW1lbnRzKCkKLSAg
ICB7Ci0gICAgICAgIG1fZGlyZWN0VXNlRWxlbWVudCA9IDA7Ci0gICAgICAgIG1fY29ycmVzcG9u
ZGluZ1VzZUVsZW1lbnQgPSAwOwotICAgIH0KKworICAgIHZvaWQgZGV0YWNoKCk7CiAKICAgICBT
VkdFbGVtZW50SW5zdGFuY2UqIHBhcmVudE5vZGUoKSBjb25zdCB7IHJldHVybiBwYXJlbnQoKTsg
fQogICAgIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlTGlzdD4gY2hpbGROb2RlcygpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAkocmV2aXNpb24gOTk4OTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTYyNCw4ICs2MjQsNyBAQCB2b2lkIFNWR1VzZUVsZW1lbnQ6OmRldGFjaEluc3RhbmNlKCkKIHsK
ICAgICBpZiAoIW1fdGFyZ2V0RWxlbWVudEluc3RhbmNlKQogICAgICAgICByZXR1cm47Ci0gICAg
bV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyVXNlRWxlbWVudHMoKTsKLSAgICBtX3Rhcmdl
dEVsZW1lbnRJbnN0YW5jZS0+Y2xlYXJDaGlsZHJlbigpOworICAgIG1fdGFyZ2V0RWxlbWVudElu
c3RhbmNlLT5kZXRhY2goKTsKICAgICBtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSA9IDA7CiB9CiAK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDk5OTExKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMTAgIFN0ZXBoZW4gQ2hlbm5leSAg
PHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdoZW4gbm8gdXNl
IGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworCVNlY29uZCBhdHRlbXB0
LCB3aXRoIGEgZml4IHRvIGhhbmRsZSBKUyBnYXJiYWdlIGNvbGxlY3Rpb24uCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2VsZW1l
bnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZzogQWRk
ZWQuCisKIDIwMTEtMTEtMTAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2MApJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVu
dC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNo
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitQQVNTIC0gTnVsbCBj
b3JyZXNwb25kaW5nIGVsZW1lbnQgZGVyZWZlcmVuY2UgZG9lcyBub3QgY3Jhc2guCisKSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNo
LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFu
Y2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVsZC1ieS1qcy1jcmFzaC5zdmcJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjcgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgPHNjcmlw
dD4KKyAgICA8IVtDREFUQVsKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ICAgIC8vIEdyYWIgYSByZWZlcmVuY2UgdG8gYW4gU1ZHRWxlbWVudEluc3RhbmNlIG5hdGl2ZSBv
YmplY3QuIFRoaXMgcmVmZXJlbmNlIHdpbGwgcHJldmVudCB0aGUKKyAgICAgICAgLy8gb2JqZWN0
IGZyb20gZGVsZXRpb24gd2hlbiB0aGUgc2hhZG93IERPTSBpcyByZW1vdmVkIGR1ZSB0byBhIHN0
eWxlIGNoYW5nZS4KKyAgICAgICAgaW5zdGFuY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dXNlX2VsZW0iKS5pbnN0YW5jZVJvb3Q7CisKKyAgICAgICAgLy8gU2V0dGluZyBhbiBhdHRyaWJ1
dGUgZm9yY2VzIHJlLWNyZWF0aW9uIG9mIHRoZSBzaGFkb3cgRE9NCisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjaXJjbGVJRCIpLnNldEF0dHJpYnV0ZSgiY3giLCAzMCk7CisKKyAg
ICAgICAgLy8gVGhlIGFuaW1hdGUgZWxlbWVudCB0cmllcyB0byBtb2RpZnkgdGhlIGVsZW1lbnQs
IHdoaWNoIHRyaWVzIHRvIHVwZGF0ZSB0aGUKKyAgICAgICAgLy8gaW5zdGFuY2VzIGluIHRoZSBj
aXJjbGUsIHdoaWNoIGNyYXNoZXMgaWYgaXQgaG9sZHMgYSBwb2ludGVyIHRvIGEgbm9uLWV4aXN0
ZW50IGVsZW1lbnQuCisKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9Cisg
ICAgLy9dXT4KKyAgICA8L3NjcmlwdD4KKyAgICA8Y2lyY2xlIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDEpIiBpZD0iY2lyY2xlSUQiIGZpbGw9ImdyZWVuIiBjeT0iMTUiIGN4PSIxNSIgcj0iMTAiID4K
KyAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3kiIC8+CisgICAgPC9jaXJjbGU+Cisg
ICAgPHRleHQgaWQ9InJlc3VsdFRleHQiIHk9IjIwIiB4PSI1MCIgPgorICAgICAgUEFTUyAtIE51
bGwgY29ycmVzcG9uZGluZyBlbGVtZW50IGRlcmVmZXJlbmNlIGRvZXMgbm90IGNyYXNoLgorICAg
IDwvdGV4dD4KKyAgICA8dXNlIGlkPSJ1c2VfZWxlbSIgeGxpbms6aHJlZj0iI2NpcmNsZUlEIiAv
PgorPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114599</attachid>
            <date>2011-11-10 16:25:40 -0800</date>
            <delta_ts>2011-11-11 16:35:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59136-20111110192539.patch</filename>
            <type>text/plain</type>
            <size>6636</size>
            <attacher name="Stephen Chenney">schenney</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5OTExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMTAgIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKworICAgICAgICBOdWxsIGRlcmVmIHdo
ZW4gbm8gdXNlIGVsZW1lbnQgZXhpc3RzIGZvciBTVkcgZWxlbWVudCBpbnN0YW5jZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxMzYKKworICAgICAg
ICBTZWNvbmQgYXR0ZW1wdCwgd2l0aCBhIGZpeCB0byBoYW5kbGUgSlMgZ2FyYmFnZSBjb2xsZWN0
aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IHN2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZworCisg
ICAgICAgICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdFbGVtZW50SW5zdGFuY2U6On5TVkdFbGVtZW50SW5zdGFuY2UpOiBBZGRlZCBjYWxsIHRvIGRl
dGFjaCgpIHRvIGNsZWFyCisgICAgICAgICAgYW55dGhpbmcgbm90IHlldCBjbGVhcmVkLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpkZXRhY2gpOiBOZXcgbWV0aG9kIHRv
IHJlcGxhY2Ugb2xkIGNsZWFyIG1ldGhvZHMuIFRoaXMgb25lCisgICAgICAgICAgY2xlYXJzIGFs
bCB0aGUgcG9pbnRlcnMgaXQgY2FuLCBhbmQgcmVtb3ZlcyB0aGUgaW5zdGFuY2UgZnJvbSB0aGUg
Y29ycmVzcG9uZGluZyBlbGVtZW50cworICAgICAgICAgIGluc3RhbmNlIGxpc3QuCisgICAgICAg
ICogc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5oOiBSZW1vdmVkIGNsZWFyIG1ldGhvZHMgYW5kIHJl
cGxhY2VkIHdpdGggZGV0YWNoLgorICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50LmNwcDogCisg
ICAgICAgIChXZWJDb3JlOjpTVkdVc2VFbGVtZW50OjpkZXRhY2hJbnN0YW5jZSk6IE1vZGlmaWVk
IGNhbGxzIHRvIGNsZWFuIHVwIGFuIFNWR0VsZW1lbnRJbnN0YW5jZS4KKwogMjAxMS0xMS0xMCAg
RGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGVmZmVjdEJv
dW5kaW5nQm94TW9kZSBmcm9tIENTUyBGaWx0ZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudEluc3RhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudEluc3RhbmNlLmNwcAkocmV2aXNpb24gOTk4OTYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTggKzYx
LDMxIEBAIFNWR0VsZW1lbnRJbnN0YW5jZTo6U1ZHRWxlbWVudEluc3RhbmNlKFMKIAogU1ZHRWxl
bWVudEluc3RhbmNlOjp+U1ZHRWxlbWVudEluc3RhbmNlKCkKIHsKKyAgICAvLyBDYWxsIGRldGFj
aCBiZWNhdXNlIHdlIG1heSBiZSBkZWxldGVkIGRpcmVjdGx5IGlmIHdlIGFyZSBhIGNoaWxkIG9m
IGEgZGV0YWNoZWQgaW5zdGFuY2UuCisgICAgZGV0YWNoKCk7CisKICNpZm5kZWYgTkRFQlVHCiAg
ICAgaW5zdGFuY2VDb3VudGVyLmRlY3JlbWVudCgpOwogI2VuZGlmCiAKLSAgICAvLyBEZXJlZ2lz
dGVyIGFzIGluc3RhbmNlIGZvciBwYXNzZWQgZWxlbWVudC4KLSAgICBtX2VsZW1lbnQtPnJlbW92
ZUluc3RhbmNlTWFwcGluZyh0aGlzKTsKLQotICAgIGNsZWFyQ2hpbGRyZW4oKTsKKyAgICBtX2Vs
ZW1lbnQgPSAwOwogfQogCi12b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6Y2xlYXJDaGlsZHJlbigp
Cit2b2lkIFNWR0VsZW1lbnRJbnN0YW5jZTo6ZGV0YWNoKCkKIHsKKyAgICAvLyBDbGVhciBhbGwg
cG9pbnRlcnMuIFdoZW4gdGhlIG5vZGUgaXMgZGV0YWNoZWQgZnJvbSB0aGUgc2hhZG93IERPTSBp
dCBzaG91bGQgYmUgcmVtb3ZlZCBidXQsCisgICAgLy8gZHVlIHRvIHJlZiBjb3VudGluZywgaXQg
bWF5IG5vdCBiZS4gU28gY2xlYXIgZXZlcnl0aGluZyB0byBhdm9pZCBkYW5nbGluZyBwb2ludGVy
cy4KKworICAgIC8vIERlcmVnaXN0ZXIgYXMgaW5zdGFuY2UgZm9yIHBhc3NlZCBlbGVtZW50LCBp
ZiB3ZSBoYXZlbid0IGFscmVhZHkuCisgICAgaWYgKG1fZWxlbWVudC0+aW5zdGFuY2VzRm9yRWxl
bWVudCgpLmNvbnRhaW5zKHRoaXMpKQorICAgICAgICBtX2VsZW1lbnQtPnJlbW92ZUluc3RhbmNl
TWFwcGluZyh0aGlzKTsKKyAgICAvLyBETyBOT1QgY2xlYXIgcmVmIHRvIG1fZWxlbWVudCBiZWNh
dXNlIEphdmFTY3JpcHRDb3JlIHVzZXMgaXQgZm9yIGdhcmJhZ2UgY29sbGVjdGlvbgorCisgICAg
bV9zaGFkb3dUcmVlRWxlbWVudCA9IDA7CisKKyAgICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAwOwor
ICAgIG1fY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQgPSAwOworCiAgICAgcmVtb3ZlQWxsQ2hpbGRy
ZW5JbkNvbnRhaW5lcjxTVkdFbGVtZW50SW5zdGFuY2UsIFNWR0VsZW1lbnRJbnN0YW5jZT4odGhp
cyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50SW5zdGFuY2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmgJKHJl
dmlzaW9uIDk5ODk2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC02MCwxMiArNjAsOCBAQCBwdWJsaWM6CiAgICAgU1ZHVXNlRWxl
bWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2NvcnJlc3Bv
bmRpbmdVc2VFbGVtZW50OyB9CiAgICAgU1ZHVXNlRWxlbWVudCogZGlyZWN0VXNlRWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0VXNlRWxlbWVudDsgfQogICAgIFNWR0VsZW1lbnQqIHNo
YWRvd1RyZWVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dUcmVlRWxlbWVudC5nZXQo
KTsgfQotICAgIHZvaWQgY2xlYXJDaGlsZHJlbigpOwotICAgIHZvaWQgY2xlYXJVc2VFbGVtZW50
cygpCi0gICAgewotICAgICAgICBtX2RpcmVjdFVzZUVsZW1lbnQgPSAwOwotICAgICAgICBtX2Nv
cnJlc3BvbmRpbmdVc2VFbGVtZW50ID0gMDsKLSAgICB9CisKKyAgICB2b2lkIGRldGFjaCgpOwog
CiAgICAgU1ZHRWxlbWVudEluc3RhbmNlKiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1cm4gcGFy
ZW50KCk7IH0KICAgICBQYXNzUmVmUHRyPFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q+IGNoaWxkTm9k
ZXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDk5
ODk2KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MjQsOCArNjI0LDcgQEAgdm9pZCBTVkdVc2VFbGVtZW50OjpkZXRhY2hJbnN0YW5j
ZSgpCiB7CiAgICAgaWYgKCFtX3RhcmdldEVsZW1lbnRJbnN0YW5jZSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fdGFyZ2V0RWxlbWVudEluc3RhbmNlLT5jbGVhclVzZUVsZW1lbnRzKCk7Ci0gICAg
bV90YXJnZXRFbGVtZW50SW5zdGFuY2UtPmNsZWFyQ2hpbGRyZW4oKTsKKyAgICBtX3RhcmdldEVs
ZW1lbnRJbnN0YW5jZS0+ZGV0YWNoKCk7CiAgICAgbV90YXJnZXRFbGVtZW50SW5zdGFuY2UgPSAw
OwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5OTkxMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTEwICBTdGVwaGVuIENo
ZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTnVsbCBkZXJlZiB3aGVu
IG5vIHVzZSBlbGVtZW50IGV4aXN0cyBmb3IgU1ZHIGVsZW1lbnQgaW5zdGFuY2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTM2CisKKyAgICAgICAg
U2Vjb25kIGF0dGVtcHQsIHdpdGggYSBmaXggdG8gaGFuZGxlIEpTIGdhcmJhZ2UgY29sbGVjdGlv
bi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN2
Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMt
Y3Jhc2guc3ZnOiBBZGRlZC4KKwogMjAxMS0xMS0xMCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBs
ZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcyMDYwCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VsZW1lbnQtaW5zdGFuY2UtaGVs
ZC1ieS1qcy1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhlbGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhl
bGQtYnktanMtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAK
K1BBU1MgLSBOdWxsIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBkZXJlZmVyZW5jZSBkb2VzIG5vdCBj
cmFzaC4KKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbGVtZW50LWluc3RhbmNlLWhl
bGQtYnktanMtY3Jhc2guc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20v
ZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2ZwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZWxlbWVudC1pbnN0YW5jZS1oZWxkLWJ5LWpzLWNyYXNoLnN2
ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5r
Ij4KKyAgICA8c2NyaXB0PgorICAgIDwhW0NEQVRBWworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICAgICAgLy8gR3JhYiBhIHJlZmVyZW5jZSB0byBhbiBTVkdFbGVtZW50SW5z
dGFuY2UgbmF0aXZlIG9iamVjdC4gVGhpcyByZWZlcmVuY2Ugd2lsbCBwcmV2ZW50IHRoZQorICAg
ICAgICAvLyBvYmplY3QgZnJvbSBkZWxldGlvbiB3aGVuIHRoZSBzaGFkb3cgRE9NIGlzIHJlbW92
ZWQgZHVlIHRvIGEgc3R5bGUgY2hhbmdlLgorICAgICAgICBpbnN0YW5jZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ1c2VfZWxlbSIpLmluc3RhbmNlUm9vdDsKKworICAgICAgICAvLyBTZXR0
aW5nIGFuIGF0dHJpYnV0ZSBmb3JjZXMgcmUtY3JlYXRpb24gb2YgdGhlIHNoYWRvdyBET00KKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNpcmNsZUlEIikuc2V0QXR0cmlidXRlKCJj
eCIsIDMwKTsKKworICAgICAgICAvLyBUaGUgYW5pbWF0ZSBlbGVtZW50IHRyaWVzIHRvIG1vZGlm
eSB0aGUgZWxlbWVudCwgd2hpY2ggdHJpZXMgdG8gdXBkYXRlIHRoZQorICAgICAgICAvLyBpbnN0
YW5jZXMgaW4gdGhlIGNpcmNsZSwgd2hpY2ggY3Jhc2hlcyBpZiBpdCBob2xkcyBhIHBvaW50ZXIg
dG8gYSBub24tZXhpc3RlbnQgZWxlbWVudC4KKworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgIH0KKyAgICAvL11dPgorICAgIDwvc2NyaXB0PgorICAgIDxjaXJjbGUgdHJhbnNm
b3JtPSJ0cmFuc2xhdGUoMSkiIGlkPSJjaXJjbGVJRCIgZmlsbD0iZ3JlZW4iIGN5PSIxNSIgY3g9
IjE1IiByPSIxMCIgPgorICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJjeSIgLz4KKyAg
ICA8L2NpcmNsZT4KKyAgICA8dGV4dCBpZD0icmVzdWx0VGV4dCIgeT0iMjAiIHg9IjUwIiA+Cisg
ICAgICBQQVNTIC0gTnVsbCBjb3JyZXNwb25kaW5nIGVsZW1lbnQgZGVyZWZlcmVuY2UgZG9lcyBu
b3QgY3Jhc2guCisgICAgPC90ZXh0PgorICAgIDx1c2UgaWQ9InVzZV9lbGVtIiB4bGluazpocmVm
PSIjY2lyY2xlSUQiIC8+Cis8L3N2Zz4K
</data>

          </attachment>
      

    </bug>

</bugzilla>