<?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>46529</bug_id>
          
          <creation_ts>2010-09-24 15:27:36 -0700</creation_ts>
          <short_desc>Output X-Purpose header for prefetch requests</short_desc>
          <delta_ts>2010-10-08 14:18:07 -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>Page Loading</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Peters">gavinp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284765</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 15:27:36 -0700</bug_when>
    <thetext>When we landed Bug 3652, we didn&apos;t put the &quot;X-Moz: prefetch&quot; request header in.  It&apos;s probably a good idea to emit something so sites can, e.g. 404 on prefetch requests, or not do server-log analytics., and so I propose we emit &quot;X-Purpose: prefetch&quot;.  This is very similar to what Safari generates now for its preview pages (&quot;X-Purpose: preview&quot;), and isn&apos;t strangely browser specific like X-Moz was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284768</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-24 15:29:05 -0700</bug_when>
    <thetext>We should also mention that we floated this idea in the HTTPbis working group and folks seemed think it was a reasonable idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284773</commentid>
    <comment_count>2</comment_count>
      <attachid>68773</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 15:33:22 -0700</bug_when>
    <thetext>Created attachment 68773
patch to do this, with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284785</commentid>
    <comment_count>3</comment_count>
      <attachid>68773</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-24 15:45:44 -0700</bug_when>
    <thetext>Comment on attachment 68773
patch to do this, with test

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

&gt; LayoutTests/http/tests/misc/prefetch-purpose.html:11
&gt; +    setTimeout(&quot;finishUp()&quot;,50);

This is racy, no?

Also, we should do this unconditionally in the load event handler.

&gt; LayoutTests/http/tests/misc/resources/prefetch-purpose.php:6
&gt; +    echo $_COOKIE[&apos;X-Purpose&apos;];

Do we need to clear the cookie in this response?  Otherwise, this state will leak into other tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284793</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 15:54:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 68773 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68773&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/misc/prefetch-purpose.html:11
&gt; &gt; +    setTimeout(&quot;finishUp()&quot;,50);
&gt; 
&gt; This is racy, no?
&gt; 

Yes, but there&apos;s no good way around this.  The finishUp() call must occur after prefetches have loaded, and there&apos;s no programmatic way to know about this.  I think this came up before when we tested prefetching, and I used the same timeout here: http://trac.webkit.org/browser/trunk/LayoutTests/fast/dom/HTMLLinkElement/prefetch.html


&gt; Also, we should do this unconditionally in the load event handler.
&gt; 
&gt; &gt; LayoutTests/http/tests/misc/resources/prefetch-purpose.php:6
&gt; &gt; +    echo $_COOKIE[&apos;X-Purpose&apos;];
&gt; 
&gt; Do we need to clear the cookie in this response?  Otherwise, this state will leak into other tests.

Yes.  Fixed, new upload coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284794</commentid>
    <comment_count>5</comment_count>
      <attachid>68778</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 15:55:20 -0700</bug_when>
    <thetext>Created attachment 68778
now clear the cookie</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284801</commentid>
    <comment_count>6</comment_count>
      <attachid>68778</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-24 16:03:51 -0700</bug_when>
    <thetext>Comment on attachment 68778
now clear the cookie

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

&gt; LayoutTests/http/tests/misc/prefetch-purpose.html:11
&gt; +    setTimeout(&quot;finishUp()&quot;,50);

Please move this to the load event and move it outside of the conditional.  Moving to the load event won&apos;t stop the race, but it will be better.  Moving it outside of the conditional is important so folks can run the test outside of the test harness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284811</commentid>
    <comment_count>7</comment_count>
      <attachid>68781</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 16:12:07 -0700</bug_when>
    <thetext>Created attachment 68781
and move the timer into onload, making this test work better outside of harness</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284821</commentid>
    <comment_count>8</comment_count>
      <attachid>68781</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-24 16:16:38 -0700</bug_when>
    <thetext>Comment on attachment 68781
and move the timer into onload, making this test work better outside of harness

okiedokes.  Hopefully this won&apos;t be flaky!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284840</commentid>
    <comment_count>9</comment_count>
      <attachid>68781</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-24 16:30:01 -0700</bug_when>
    <thetext>Comment on attachment 68781
and move the timer into onload, making this test work better outside of harness

Wait, how is it a good idea to make requests larger?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284841</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-24 16:32:14 -0700</bug_when>
    <thetext>&gt; Wait, how is it a good idea to make requests larger?

Prefetch requests?  Because servers might want to treat them differently, for example for statistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284849</commentid>
    <comment_count>11</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 16:41:01 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 68781 [details])
&gt; Wait, how is it a good idea to make requests larger?

Alexey, thanks for helping review!

This patch does nothing to most requests.  To some requests, derived from &lt;link rel=&quot;prefetch&quot; href=&quot;...&quot;&gt; this patch will add a header marking this request as a prefetch &quot;X-Purpose: prefetch&quot;.  Everything else is left completely untouched; take a look at the unit test and you&apos;ll see it has to be fairly careful about how it arranges things to even generate the header (and trickier still to check it).

Right now, there&apos;s three implementations of prefetching and prefetching like behaviour.  Mozilla, when following Link prefetches, adds an &quot;X-Moz: prefetch&quot; header, which is admittedly four bytes shorter.  Safari, when generating its bitmap previews, attaches a header &quot;X-Purpose: preview&quot; (which is one byte shorter).

Lots of website operators care about prefetch requests, and want to distinguish them.  For instance, IMDB and Wikipedia block incoming requests based on the X-Moz header; they 404 these requests, and then a later user initiated navigation will load the page.  We didn&apos;t implement X-Moz, since the name is so ugly, but I wanted something that gave web site operators a chance to see this.  As well, I have started discussions in the HTTPbis working group to standardize this header name, so it may change to just &quot;Purpose&quot; sometime soon.

Google searching on X-Purpose finds lots of folks who mutate their site a bit for the (heavier weight) Safari preview loads.  Analytics are typically removed.

Another use case of this header is log analysis; website operators may want to distinguish link prefetches from user initiated navigation.

If you&apos;re trying to make the case that link prefetches shouldn&apos;t be signalled to server operators at all, I think you&apos;ll find that&apos;s not going to be a very popular idea with server operators.  I think if browsers are going to do prefetching (right now, I&apos;m aware that Chrome &amp; the Android browser do, I do not believe any others have it enabled), then they should signal to the server that they use it.

Does the above address your concerns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284850</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-24 16:41:59 -0700</bug_when>
    <thetext>The use cases seem questionable to me.
- If servers return something different for prefetch, that will confuse intermediate proxies. Servers will need to at least send &quot;Vary: X-Purpose&quot; with the response, and I&apos;m not confident whether it would suffice in practice. I&apos;m particularly suspicious of changing between 404 and 200 based on the Vary header.
- If a site doesn&apos;t count prefetched requests, it won&apos;t see any requests (because the browser will already have the data, and won&apos;t make the &quot;real&quot; request).
- Why is it good to let servers return 404 for prefetch? We want prefetch to succeed. If there is a need to opt out, let&apos;s find a way that doesn&apos;t involve wasting time on sending the request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284852</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-24 16:45:47 -0700</bug_when>
    <thetext>Generally speaking, it&apos;s very common that browsers never do something for what there is a huge demand from authors. Security and privacy reasons are most common, but other considerations may also make a feature undesirable.

It may be best to take this discussion to webkit-dev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284861</commentid>
    <comment_count>14</comment_count>
      <attachid>68781</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-24 17:18:35 -0700</bug_when>
    <thetext>Comment on attachment 68781
and move the timer into onload, making this test work better outside of harness

Per contention above, r-.

Why would we want to let servers know it&apos;s a prefetch request?  We don&apos;t let them know other things about how we&apos;re going to display or not-display their content.

For example, we don&apos;t tell servers that we&apos;re about to display their content in a display:none iframe.  Or on what screen size, etc.  Proxies also don&apos;t necessarily tell servers that they&apos;re a proxy and thus not displaying the content...  This seems like an invalid bug to me.

A request is a request.  If servers feel they need to filter out requests based on what was done with that request, it seems they should be gathering that information differently (like via JavaScript?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284862</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-24 17:19:37 -0700</bug_when>
    <thetext>A better use case mentioned by Gavin on IRC: servers may return a 500 response to prefetch requests if they are close to being overloaded.

Another use case I can imagine is corporate network monitoring systems, which may want to know whether you actually navigated to a site, or just had it in search results.

Mozilla FAQ &lt;https://developer.mozilla.org/en/Link_prefetching_FAQ&gt; has an answer to how you&apos;re supposed to count &quot;real&quot; requests (just send Cache-control: must-revalidate). Personally, I don&apos;t find that completely convincing, heavier pages may not support conditional requests at all.

I&apos;m still not convinced that this is a good feature to add. Folks on webkit-dev will certainly have more and better ideas for and against it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284863</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-24 17:20:44 -0700</bug_when>
    <thetext>I think we should follow whatever the relevant working group decides.  So my comments may be invalid.  I can only assume that more knowledgeable folks than I have thought about this issue.  But on the surface, exposing this in a header seems at best a very slippery slope and likely just plain wrong. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284868</commentid>
    <comment_count>17</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-24 17:31:14 -0700</bug_when>
    <thetext>I&apos;ve started a thread in webkit-dev for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286147</commentid>
    <comment_count>18</comment_count>
      <attachid>68773</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-28 03:20:05 -0700</bug_when>
    <thetext>Comment on attachment 68773
patch to do this, with test

Cleared Adam Barth&apos;s review+ from obsolete attachment 68773 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286148</commentid>
    <comment_count>19</comment_count>
      <attachid>68778</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-28 03:20:09 -0700</bug_when>
    <thetext>Comment on attachment 68778
now clear the cookie

Cleared Adam Barth&apos;s review+ from obsolete attachment 68778 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286228</commentid>
    <comment_count>20</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-09-28 07:52:34 -0700</bug_when>
    <thetext>Noone is commenting in the thread in webkit dev; has this become less controversial?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291608</commentid>
    <comment_count>21</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2010-10-08 06:26:31 -0700</bug_when>
    <thetext>I have started the dicussion in webkit-dev on this bug again subject &quot;X-Purpose, again!&quot;.  I hope we can land this change soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291843</commentid>
    <comment_count>22</comment_count>
      <attachid>68781</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-08 13:53:05 -0700</bug_when>
    <thetext>Comment on attachment 68781
and move the timer into onload, making this test work better outside of harness

Looks like the current thinking from webkit-dev is to go with this for the time being.  We might want to reconsider after discussing the topic in the HTTPbis WG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291854</commentid>
    <comment_count>23</comment_count>
      <attachid>68781</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-08 14:17:58 -0700</bug_when>
    <thetext>Comment on attachment 68781
and move the timer into onload, making this test work better outside of harness

Clearing flags on attachment: 68781

Committed r69420: &lt;http://trac.webkit.org/changeset/69420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291855</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-08 14:18:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68773</attachid>
            <date>2010-09-24 15:33:22 -0700</date>
            <delta_ts>2010-09-28 03:20:05 -0700</delta_ts>
            <desc>patch to do this, with test</desc>
            <filename>polished-gem.diff</filename>
            <type>text/plain</type>
            <size>6938</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODMwMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMjQgIEdhdmluIFBldGVycyAgPGdhdmlucEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T3V0cHV0IFgtUHVycG9zZSBoZWFkZXIgZm9yIHByZWZldGNoIHJlcXVlc3RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjUyOQorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKKworICAgICAgICAqIGxv
YWRlci9sb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGVyOjpIb3N0OjpzZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTAtMDktMjQgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0
aW5pQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2xvYWRlci9sb2FkZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAJKHJldmlzaW9uIDY4MjczKQorKysgV2ViQ29y
ZS9sb2FkZXIvbG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY0LDYgKzM2NCwxMSBAQCB2
b2lkIExvYWRlcjo6SG9zdDo6c2VydmVQZW5kaW5nUmVxdWVzdHMoCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAorI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQorICAgICAgICBpZiAocmVxdWVz
dC0+Y2FjaGVkUmVzb3VyY2UoKS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0
Y2gpCisgICAgICAgICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKCJYLVB1
cnBvc2UiLCAicHJlZmV0Y2giKTsKKyNlbmRpZgorCiAgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJj
ZUxvYWRlcj4gbG9hZGVyID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+ZG9jKCktPmZyYW1lKCksCiAgICAgICAgICAgICB0aGlzLCByZXNvdXJjZVJlcXVl
c3QsIHJlcXVlc3QtPnNob3VsZERvU2VjdXJpdHlDaGVjaygpLCByZXF1ZXN0LT5zZW5kUmVzb3Vy
Y2VMb2FkQ2FsbGJhY2tzKCkpOwogICAgICAgICBpZiAobG9hZGVyKSB7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2ODMwMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE4IEBACisyMDEwLTA5LTI0ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91
dHB1dCBYLVB1cnBvc2UgaGVhZGVyIGZvciBwcmVmZXRjaCByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1MjkKKworICAgICAgICAqIGh0
dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wOS0yNCAgTHVpeiBBZ29zdGluaSAgPGx1aXou
YWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVm
ZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorcHJlZmV0Y2gtcHVycG9zZS5waHAgaGFz
IE1JTUUgdHlwZSB0ZXh0L2h0bWwKK3ByZWZldGNoLXB1cnBvc2UucGhwIGhhcyBNSU1FIHR5cGUg
dGV4dC9odG1sCitUaGUgY29va2llIHdhcyBzZXQhCisKK1gtUHVycG9zZTogcHJlZmV0Y2gKKwor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJlZmV0Y2hlcyBhcmUgc2VudCB3aXRoIHRoZSBIVFRQ
IHJlcXVlc3QgaGVhZGVyIFgtUHVycG9zZTogcHJlZmV0Y2guIFRvIGRvIHRoaXMsIHRoZSByb290
IHBhZ2UgaGFzIGEgcHJlZmV0Y2ggbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hp
Y2ggY29udGFpbnMgYSBQSFAgc2NyaXB0IChyZXNvdXJjZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAp
LiBUaGF0IGluaXRpYWwgcHJlZmV0Y2ggb2YgdGhpcyByZXNvdXJjZSBzZXRzIGEgY29va2llLiBM
YXRlciwgdGhlIHJvb3QgcGFnZSBzZXRzIHdpbmRvdy5sb2NhdGlvbiB0byB0YXJnZXQgdGhpcyBz
Y3JpcHQsIHdoaWNoIHZlcmlmaWVzIHRoZSBwcmVzZW5jZSBvZiB0aGUgY29va2llLCBhbmQgZ2Vu
ZXJhdGVzIHRoZSBoYXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJpZ2h0
IG5vdy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3Nl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3ByZWZldGNo
LXB1cnBvc2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIGZpbmlzaFVwKCkgeworICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdy
ZXNvdXJjZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAnOworfQorCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOworICAgIHNldFRpbWVv
dXQoImZpbmlzaFVwKCkiLDUwKTsKK30KKzwvc2NyaXB0PgorCis8bGluayBocmVmPSJyZXNvdXJj
ZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAiIHJlbD0icHJlZmV0Y2giPgpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3ByZWZldGNoLXB1
cnBvc2UucGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jl
c291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBA
QAorPD9waHAgc2V0Y29va2llKCJYLVB1cnBvc2UiLCAkX1NFUlZFUlsiSFRUUF9YX1BVUlBPU0Ui
XSk7CisKK2lmIChpc3NldCgkX0NPT0tJRVsnWC1QdXJwb3NlJ10pKSB7CisgICAgZWNobyAiPGgx
PlRoZSBjb29raWUgd2FzIHNldCE8L2gxPiI7CisgICAgZWNobyAiPHA+WC1QdXJwb3NlOiAiOwor
ICAgIGVjaG8gJF9DT09LSUVbJ1gtUHVycG9zZSddOworfSBlbHNlIHsKKyAgICBlY2hvICI8aDE+
QkFEIEJST1dTRVIgTk8gQ09PS0lFPC9oMT4iOworfQorPz4KKworPHNjcmlwdD4KK2xheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhhdCBwcmVmZXRjaGVzIGFyZSBzZW50IHdpdGggdGhlIEhUVFAgcmVxdWVzdCBoZWFk
ZXIKKzxiPlgtUHVycG9zZTogcHJlZmV0Y2g8L2I+LiAgVG8gZG8gdGhpcywgdGhlIHJvb3QgcGFn
ZSBoYXMgYSBwcmVmZXRjaAorbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hpY2gg
Y29udGFpbnMgYSBQSFAgc2NyaXB0CisocmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2UucGhwKS4g
IFRoYXQgaW5pdGlhbCBwcmVmZXRjaCBvZiB0aGlzCityZXNvdXJjZSBzZXRzIGEgY29va2llLiAg
TGF0ZXIsIHRoZSByb290IHBhZ2Ugc2V0cyB3aW5kb3cubG9jYXRpb24gdG8KK3RhcmdldCB0aGlz
IHNjcmlwdCwgd2hpY2ggdmVyaWZpZXMgdGhlIHByZXNlbmNlIG9mIHRoZSBjb29raWUsIGFuZAor
Z2VuZXJhdGVzIHRoZSBoYXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJp
Z2h0IG5vdy4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9uIDY4Mjcz
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAg
LTMwNTcsNiArMzA1Nyw3IEBAIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWxvYWRzLXN0
eWwKIGh0dHAvdGVzdHMvbWlzYy9hY2lkMy5odG1sCiBodHRwL3Rlc3RzL21pc2MvaXNpbmRleC1m
b3JtZGF0YS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcG9saWN5LWRlbGVnYXRlLWNhbGxlZC10d2lj
ZS5odG1sCitodHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCiBodHRwL3Rlc3Rz
L21pc2MvcmVkaXJlY3QtdG8tZXh0ZXJuYWwtdXJsLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9zbG93
LXByZWxvYWQtY2FuY2VsLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy93aW5kb3ctZG90LXN0b3AuaHRt
bApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDY4MjczKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTI0OSw2ICsy
NDksNyBAQCBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlCiAKICMgTGlu
ayBwcmVmZXRjaCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0CiBmYXN0L2RvbS9IVE1MTGlua0VsZW1l
bnQvcHJlZmV0Y2guaHRtbAoraHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbAog
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTkwOAogZmFzdC9k
b20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkCShyZXZpc2lvbiA2ODI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJ
KHdvcmtpbmcgY29weSkKQEAgLTUzMjksNiArNTMyOSw3IEBAIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L2NhbGxiYWNrLXRvLXJlbW90ZS0KIAogIyBMaW5rIHByZWZldGNoIGlzIGRpc2FibGVkIGJ5IGRl
ZmF1bHQKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCitodHRwL3Rlc3Rz
L21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCiAKICMgW1F0XSBSZWdyZXNzaW9uKHI2MTc0OSk6
IGluc3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRtbCBmYWls
cwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNDcKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA2ODI3MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC04OTEsNiArODkxLDcgQEAg
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZQogCiAjIExpbmsgcHJlZmV0
Y2ggaXMgZGlzYWJsZWQgYnkgZGVmYXVsdAogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZl
dGNoLmh0bWwKK2h0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKIAogIyBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6cGFnZVByb3BlcnR5IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV0lO
IHlldC4KIHByaW50aW5nL3BhZ2UtcnVsZS1zZWxlY3Rpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68778</attachid>
            <date>2010-09-24 15:55:20 -0700</date>
            <delta_ts>2010-09-28 03:20:09 -0700</delta_ts>
            <desc>now clear the cookie</desc>
            <filename>polished-gem.diff</filename>
            <type>text/plain</type>
            <size>6986</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODMwMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMjQgIEdhdmluIFBldGVycyAgPGdhdmlucEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T3V0cHV0IFgtUHVycG9zZSBoZWFkZXIgZm9yIHByZWZldGNoIHJlcXVlc3RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjUyOQorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKKworICAgICAgICAqIGxv
YWRlci9sb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGVyOjpIb3N0OjpzZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTAtMDktMjQgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0
aW5pQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2xvYWRlci9sb2FkZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAJKHJldmlzaW9uIDY4MjczKQorKysgV2ViQ29y
ZS9sb2FkZXIvbG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY0LDYgKzM2NCwxMSBAQCB2
b2lkIExvYWRlcjo6SG9zdDo6c2VydmVQZW5kaW5nUmVxdWVzdHMoCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAorI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQorICAgICAgICBpZiAocmVxdWVz
dC0+Y2FjaGVkUmVzb3VyY2UoKS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0
Y2gpCisgICAgICAgICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKCJYLVB1
cnBvc2UiLCAicHJlZmV0Y2giKTsKKyNlbmRpZgorCiAgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJj
ZUxvYWRlcj4gbG9hZGVyID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+ZG9jKCktPmZyYW1lKCksCiAgICAgICAgICAgICB0aGlzLCByZXNvdXJjZVJlcXVl
c3QsIHJlcXVlc3QtPnNob3VsZERvU2VjdXJpdHlDaGVjaygpLCByZXF1ZXN0LT5zZW5kUmVzb3Vy
Y2VMb2FkQ2FsbGJhY2tzKCkpOwogICAgICAgICBpZiAobG9hZGVyKSB7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2ODMwMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE4IEBACisyMDEwLTA5LTI0ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91
dHB1dCBYLVB1cnBvc2UgaGVhZGVyIGZvciBwcmVmZXRjaCByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1MjkKKworICAgICAgICAqIGh0
dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wOS0yNCAgTHVpeiBBZ29zdGluaSAgPGx1aXou
YWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVm
ZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorcHJlZmV0Y2gtcHVycG9zZS5waHAgaGFz
IE1JTUUgdHlwZSB0ZXh0L2h0bWwKK3ByZWZldGNoLXB1cnBvc2UucGhwIGhhcyBNSU1FIHR5cGUg
dGV4dC9odG1sCitUaGUgY29va2llIHdhcyBzZXQhCisKK1gtUHVycG9zZTogcHJlZmV0Y2gKKwor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJlZmV0Y2hlcyBhcmUgc2VudCB3aXRoIHRoZSBIVFRQ
IHJlcXVlc3QgaGVhZGVyIFgtUHVycG9zZTogcHJlZmV0Y2guIFRvIGRvIHRoaXMsIHRoZSByb290
IHBhZ2UgaGFzIGEgcHJlZmV0Y2ggbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hp
Y2ggY29udGFpbnMgYSBQSFAgc2NyaXB0IChyZXNvdXJjZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAp
LiBUaGF0IGluaXRpYWwgcHJlZmV0Y2ggb2YgdGhpcyByZXNvdXJjZSBzZXRzIGEgY29va2llLiBM
YXRlciwgdGhlIHJvb3QgcGFnZSBzZXRzIHdpbmRvdy5sb2NhdGlvbiB0byB0YXJnZXQgdGhpcyBz
Y3JpcHQsIHdoaWNoIHZlcmlmaWVzIHRoZSBwcmVzZW5jZSBvZiB0aGUgY29va2llLCBhbmQgZ2Vu
ZXJhdGVzIHRoZSBoYXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJpZ2h0
IG5vdy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3Nl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3ByZWZldGNo
LXB1cnBvc2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzxz
Y3JpcHQ+CisKK2Z1bmN0aW9uIGZpbmlzaFVwKCkgeworICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdy
ZXNvdXJjZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAnOworfQorCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOworICAgIHNldFRpbWVv
dXQoImZpbmlzaFVwKCkiLDUwKTsKK30KKzwvc2NyaXB0PgorCis8bGluayBocmVmPSJyZXNvdXJj
ZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAiIHJlbD0icHJlZmV0Y2giPgpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3ByZWZldGNoLXB1
cnBvc2UucGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jl
c291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBA
QAorPD9waHAgc2V0Y29va2llKCJYLVB1cnBvc2UiLCAkX1NFUlZFUlsiSFRUUF9YX1BVUlBPU0Ui
XSk7CisKK2lmIChpc3NldCgkX0NPT0tJRVsnWC1QdXJwb3NlJ10pKSB7CisgICAgc2V0Y29va2ll
KCJYLVB1cnBvc2UiLCAiIiwgdGltZSgpIC0gMzYwMCk7CisgICAgZWNobyAiPGgxPlRoZSBjb29r
aWUgd2FzIHNldCE8L2gxPiI7CisgICAgZWNobyAiPHA+WC1QdXJwb3NlOiAiOworICAgIGVjaG8g
JF9DT09LSUVbJ1gtUHVycG9zZSddOworfSBlbHNlIHsKKyAgICBlY2hvICI8aDE+QkFEIEJST1dT
RVIgTk8gQ09PS0lFPC9oMT4iOworfQorPz4KKworPHNjcmlwdD4KK2xheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3QgdmVyaWZpZXMgdGhh
dCBwcmVmZXRjaGVzIGFyZSBzZW50IHdpdGggdGhlIEhUVFAgcmVxdWVzdCBoZWFkZXIKKzxiPlgt
UHVycG9zZTogcHJlZmV0Y2g8L2I+LiAgVG8gZG8gdGhpcywgdGhlIHJvb3QgcGFnZSBoYXMgYSBw
cmVmZXRjaAorbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hpY2ggY29udGFpbnMg
YSBQSFAgc2NyaXB0CisocmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2UucGhwKS4gIFRoYXQgaW5p
dGlhbCBwcmVmZXRjaCBvZiB0aGlzCityZXNvdXJjZSBzZXRzIGEgY29va2llLiAgTGF0ZXIsIHRo
ZSByb290IHBhZ2Ugc2V0cyB3aW5kb3cubG9jYXRpb24gdG8KK3RhcmdldCB0aGlzIHNjcmlwdCwg
d2hpY2ggdmVyaWZpZXMgdGhlIHByZXNlbmNlIG9mIHRoZSBjb29raWUsIGFuZAorZ2VuZXJhdGVz
IHRoZSBoYXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJpZ2h0IG5vdy4K
KwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9uIDY4MjczKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTMwNTcsNiAr
MzA1Nyw3IEBAIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWxvYWRzLXN0eWwKIGh0dHAv
dGVzdHMvbWlzYy9hY2lkMy5odG1sCiBodHRwL3Rlc3RzL21pc2MvaXNpbmRleC1mb3JtZGF0YS5o
dG1sCiBodHRwL3Rlc3RzL21pc2MvcG9saWN5LWRlbGVnYXRlLWNhbGxlZC10d2ljZS5odG1sCito
dHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcmVk
aXJlY3QtdG8tZXh0ZXJuYWwtdXJsLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9zbG93LXByZWxvYWQt
Y2FuY2VsLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy93aW5kb3ctZG90LXN0b3AuaHRtbApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDY4MjczKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTI0OSw2ICsyNDksNyBAQCBm
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlCiAKICMgTGluayBwcmVmZXRj
aCBpcyBkaXNhYmxlZCBieSBkZWZhdWx0CiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0
Y2guaHRtbAoraHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbAogCiAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTkwOAogZmFzdC9kb20vR2VvbG9j
YXRpb24vbWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZp
c2lvbiA2ODI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTUzMjksNiArNTMyOSw3IEBAIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNr
LXRvLXJlbW90ZS0KIAogIyBMaW5rIHByZWZldGNoIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQKIGZh
c3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCitodHRwL3Rlc3RzL21pc2MvcHJl
ZmV0Y2gtcHVycG9zZS5odG1sCiAKICMgW1F0XSBSZWdyZXNzaW9uKHI2MTc0OSk6IGluc3BlY3Rv
ci9kZWJ1Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRtbCBmYWlscwogIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNDcKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA2ODI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC04OTEsNiArODkxLDcgQEAgZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZQogCiAjIExpbmsgcHJlZmV0Y2ggaXMgZGlz
YWJsZWQgYnkgZGVmYXVsdAogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwK
K2h0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKIAogIyBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6cGFnZVByb3BlcnR5IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV0lOIHlldC4KIHBy
aW50aW5nL3BhZ2UtcnVsZS1zZWxlY3Rpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68781</attachid>
            <date>2010-09-24 16:12:07 -0700</date>
            <delta_ts>2010-10-08 14:17:58 -0700</delta_ts>
            <desc>and move the timer into onload, making this test work better outside of harness</desc>
            <filename>polished-gem.diff</filename>
            <type>text/plain</type>
            <size>7151</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODMwMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMjQgIEdhdmluIFBldGVycyAgPGdhdmlucEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T3V0cHV0IFgtUHVycG9zZSBoZWFkZXIgZm9yIHByZWZldGNoIHJlcXVlc3RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjUyOQorCisgICAgICAgIFRl
c3Q6IGh0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKKworICAgICAgICAqIGxv
YWRlci9sb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGVyOjpIb3N0OjpzZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTAtMDktMjQgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0
aW5pQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4uCkluZGV4OiBXZWJDb3JlL2xvYWRlci9sb2FkZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbG9hZGVyL2xvYWRlci5jcHAJKHJldmlzaW9uIDY4MjczKQorKysgV2ViQ29y
ZS9sb2FkZXIvbG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY0LDYgKzM2NCwxMSBAQCB2
b2lkIExvYWRlcjo6SG9zdDo6c2VydmVQZW5kaW5nUmVxdWVzdHMoCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAorI2lmIEVOQUJMRShMSU5LX1BSRUZFVENIKQorICAgICAgICBpZiAocmVxdWVz
dC0+Y2FjaGVkUmVzb3VyY2UoKS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpMaW5rUHJlZmV0
Y2gpCisgICAgICAgICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKCJYLVB1
cnBvc2UiLCAicHJlZmV0Y2giKTsKKyNlbmRpZgorCiAgICAgICAgIFJlZlB0cjxTdWJyZXNvdXJj
ZUxvYWRlcj4gbG9hZGVyID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShjYWNoZWRSZXNvdXJj
ZUxvYWRlci0+ZG9jKCktPmZyYW1lKCksCiAgICAgICAgICAgICB0aGlzLCByZXNvdXJjZVJlcXVl
c3QsIHJlcXVlc3QtPnNob3VsZERvU2VjdXJpdHlDaGVjaygpLCByZXF1ZXN0LT5zZW5kUmVzb3Vy
Y2VMb2FkQ2FsbGJhY2tzKCkpOwogICAgICAgICBpZiAobG9hZGVyKSB7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2ODMwMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE4IEBACisyMDEwLTA5LTI0ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE91
dHB1dCBYLVB1cnBvc2UgaGVhZGVyIGZvciBwcmVmZXRjaCByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1MjkKKworICAgICAgICAqIGh0
dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wOS0yNCAgTHVpeiBBZ29zdGluaSAgPGx1aXou
YWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVm
ZXRjaC1wdXJwb3NlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorcHJlZmV0Y2gtcHVycG9zZS5waHAgaGFz
IE1JTUUgdHlwZSB0ZXh0L2h0bWwKK3ByZWZldGNoLXB1cnBvc2UucGhwIGhhcyBNSU1FIHR5cGUg
dGV4dC9odG1sCitUaGUgY29va2llIHdhcyBzZXQhCisKK1gtUHVycG9zZTogcHJlZmV0Y2gKKwor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJlZmV0Y2hlcyBhcmUgc2VudCB3aXRoIHRoZSBIVFRQ
IHJlcXVlc3QgaGVhZGVyIFgtUHVycG9zZTogcHJlZmV0Y2guIFRvIGRvIHRoaXMsIHRoZSByb290
IHBhZ2UgaGFzIGEgcHJlZmV0Y2ggbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hp
Y2ggY29udGFpbnMgYSBQSFAgc2NyaXB0IChyZXNvdXJjZXMvcHJlZmV0Y2gtcHVycG9zZS5waHAp
LiBUaGF0IGluaXRpYWwgcHJlZmV0Y2ggb2YgdGhpcyByZXNvdXJjZSBzZXRzIGEgY29va2llLiBM
YXRlciwgdGhlIHJvb3QgcGFnZSBzZXRzIHdpbmRvdy5sb2NhdGlvbiB0byB0YXJnZXQgdGhpcyBz
Y3JpcHQsIHdoaWNoIHZlcmlmaWVzIHRoZSBwcmVzZW5jZSBvZiB0aGUgY29va2llLCBhbmQgZ2Vu
ZXJhdGVzIHRoZSBoYXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJpZ2h0
IG5vdy4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3Nl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3ByZWZldGNo
LXB1cnBvc2UuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBmaW5pc2hVcCgpIHsKKyAgICB3aW5k
b3cubG9jYXRpb24gPSAncmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2UucGhwJzsKK30KKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMo
KTsKK30KKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0icmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2Uu
cGhwIiByZWw9InByZWZldGNoIj4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dCgn
ZmluaXNoVXAoKScsIDUwKTsiPgorPHA+Tm90aGluZyB0byBzZWUgaGVyZSwgdGhpcyBwYWdlIHNo
b3VsZCByZXBsYWNlIGl0c2VsZiB3aXRoIHJlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocCBh
bG1vc3QgaW5zdGFudGx5LgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9taXNjL3Jlc291cmNlcy9wcmVmZXRjaC1wdXJwb3NlLnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2Uu
cGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNl
cy9wcmVmZXRjaC1wdXJwb3NlLnBocAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorPD9w
aHAgc2V0Y29va2llKCJYLVB1cnBvc2UiLCAkX1NFUlZFUlsiSFRUUF9YX1BVUlBPU0UiXSk7CisK
K2lmIChpc3NldCgkX0NPT0tJRVsnWC1QdXJwb3NlJ10pKSB7CisgICAgc2V0Y29va2llKCJYLVB1
cnBvc2UiLCAiIiwgdGltZSgpIC0gMzYwMCk7CisgICAgZWNobyAiPGgxPlRoZSBjb29raWUgd2Fz
IHNldCE8L2gxPiI7CisgICAgZWNobyAiPHA+WC1QdXJwb3NlOiAiOworICAgIGVjaG8gJF9DT09L
SUVbJ1gtUHVycG9zZSddOworfSBlbHNlIHsKKyAgICBlY2hvICI8aDE+QkFEIEJST1dTRVIgTk8g
Q09PS0lFPC9oMT4iOworfQorPz4KKworPHNjcmlwdD4KK2xheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBwcmVm
ZXRjaGVzIGFyZSBzZW50IHdpdGggdGhlIEhUVFAgcmVxdWVzdCBoZWFkZXIKKzxiPlgtUHVycG9z
ZTogcHJlZmV0Y2g8L2I+LiAgVG8gZG8gdGhpcywgdGhlIHJvb3QgcGFnZSBoYXMgYSBwcmVmZXRj
aAorbGluayB0YXJnZXR0aW5nIHRoaXMgc3VicmVzb3VyY2Ugd2hpY2ggY29udGFpbnMgYSBQSFAg
c2NyaXB0CisocmVzb3VyY2VzL3ByZWZldGNoLXB1cnBvc2UucGhwKS4gIFRoYXQgaW5pdGlhbCBw
cmVmZXRjaCBvZiB0aGlzCityZXNvdXJjZSBzZXRzIGEgY29va2llLiAgTGF0ZXIsIHRoZSByb290
IHBhZ2Ugc2V0cyB3aW5kb3cubG9jYXRpb24gdG8KK3RhcmdldCB0aGlzIHNjcmlwdCwgd2hpY2gg
dmVyaWZpZXMgdGhlIHByZXNlbmNlIG9mIHRoZSBjb29raWUsIGFuZAorZ2VuZXJhdGVzIHRoZSBo
YXBweSB0ZXN0IG91dHB1dCB0aGF0IHlvdSBob3BlZnVsbHkgc2VlIHJpZ2h0IG5vdy4KKwpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9uIDY4MjczKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTMwNTcsNiArMzA1Nyw3
IEBAIGh0dHAvdGVzdHMvbWltZS9zdGFuZGFyZC1tb2RlLWxvYWRzLXN0eWwKIGh0dHAvdGVzdHMv
bWlzYy9hY2lkMy5odG1sCiBodHRwL3Rlc3RzL21pc2MvaXNpbmRleC1mb3JtZGF0YS5odG1sCiBo
dHRwL3Rlc3RzL21pc2MvcG9saWN5LWRlbGVnYXRlLWNhbGxlZC10d2ljZS5odG1sCitodHRwL3Rl
c3RzL21pc2MvcHJlZmV0Y2gtcHVycG9zZS5odG1sCiBodHRwL3Rlc3RzL21pc2MvcmVkaXJlY3Qt
dG8tZXh0ZXJuYWwtdXJsLmh0bWwKIGh0dHAvdGVzdHMvbWlzYy9zbG93LXByZWxvYWQtY2FuY2Vs
Lmh0bWwKIGh0dHAvdGVzdHMvbWlzYy93aW5kb3ctZG90LXN0b3AuaHRtbApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDY4MjczKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTI0OSw2ICsyNDksNyBAQCBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZGV2aWNlCiAKICMgTGluayBwcmVmZXRjaCBpcyBk
aXNhYmxlZCBieSBkZWZhdWx0CiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcHJlZmV0Y2guaHRt
bAoraHR0cC90ZXN0cy9taXNjL3ByZWZldGNoLXB1cnBvc2UuaHRtbAogCiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTkwOAogZmFzdC9kb20vR2VvbG9jYXRpb24v
bWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA2
ODI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkK
QEAgLTUzMjksNiArNTMyOSw3IEBAIGZhc3QvZG9tL0dlb2xvY2F0aW9uL2NhbGxiYWNrLXRvLXJl
bW90ZS0KIAogIyBMaW5rIHByZWZldGNoIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQKIGZhc3QvZG9t
L0hUTUxMaW5rRWxlbWVudC9wcmVmZXRjaC5odG1sCitodHRwL3Rlc3RzL21pc2MvcHJlZmV0Y2gt
cHVycG9zZS5odG1sCiAKICMgW1F0XSBSZWdyZXNzaW9uKHI2MTc0OSk6IGluc3BlY3Rvci9kZWJ1
Z2dlci1wYXVzZS1vbi1kZWJ1Z2dlci1zdGF0ZW1lbnQuaHRtbCBmYWlscwogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNDcKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCShyZXZpc2lvbiA2ODI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC04OTEsNiArODkxLDcgQEAgZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0aWVzLWRldmljZQogCiAjIExpbmsgcHJlZmV0Y2ggaXMgZGlzYWJsZWQg
YnkgZGVmYXVsdAogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWZldGNoLmh0bWwKK2h0dHAv
dGVzdHMvbWlzYy9wcmVmZXRjaC1wdXJwb3NlLmh0bWwKIAogIyBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6cGFnZVByb3BlcnR5IGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgV0lOIHlldC4KIHByaW50aW5n
L3BhZ2UtcnVsZS1zZWxlY3Rpb24uaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>