<?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>13400</bug_id>
          
          <creation_ts>2007-04-18 18:02:28 -0700</creation_ts>
          <short_desc>REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location</short_desc>
          <delta_ts>2007-07-06 04:56:55 -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>History</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>bertheau</cc>
    
    <cc>dev+webkit</cc>
    
    <cc>mpComplete</cc>
    
    <cc>rachael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14195</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-18 18:02:28 -0700</bug_when>
    <thetext>No back entry created for navigations created by assigning to document.location

Tested using rev 20934

Test case coming up...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14196</commentid>
    <comment_count>1</comment_count>
      <attachid>14083</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-18 18:04:41 -0700</bug_when>
    <thetext>Created attachment 14083
test case

Load this page and click the &quot;go to next page&quot;, which navigates back to itself w/ modifications to the query string to result in a unique URL.  Notice that no back entry is created for these navigations!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14198</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-18 18:08:03 -0700</bug_when>
    <thetext>Doh, unfortunately you will need to download this testcase to reproduce the bug.  Bugzilla&apos;s query params interfere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14199</commentid>
    <comment_count>3</comment_count>
      <attachid>14084</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-18 18:45:02 -0700</bug_when>
    <thetext>Created attachment 14084
better test case

This version of the test case should work when hosted on bugzilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13956</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-19 15:56:55 -0700</bug_when>
    <thetext>This regression was introduced between r20809 (pass) and r20814 (fail).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13908</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-04-19 15:59:32 -0700</bug_when>
    <thetext>Probably caused by:
http://trac.webkit.org/projects/webkit/changeset/20813</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13848</commentid>
    <comment_count>6</comment_count>
      <attachid>14107</attachid>
    <who name="Nikolas Bertheau">bertheau</who>
    <bug_when>2007-04-20 03:26:03 -0700</bug_when>
    <thetext>Created attachment 14107
A further simplified attachment

document.location doesn&apos;t exist, but the document part can safely be ignored.
location is an object, not a variable. Normally, an assignment like location=URL should produce an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13792</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Bertheau">bertheau</who>
    <bug_when>2007-04-20 06:25:55 -0700</bug_when>
    <thetext>(In addition to comment #6)
Okay, I must admit that document.location does exist and location=... is an appropriate alternative to location.href=...
All four buttons should work like the first two.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13763</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-04-20 12:34:19 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In addition to comment #6)
&gt; Okay, I must admit that document.location does exist and location=... is an
&gt; appropriate alternative to location.href=...
&gt; All four buttons should work like the first two.

What do other browsers (like MSIE 6/7 and Firefox 2.0.x) do with this test?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13764</commentid>
    <comment_count>9</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2007-04-20 12:41:03 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; 
&gt; What do other browsers (like MSIE 6/7 and Firefox 2.0.x) do with this test?
&gt; 

Firefox 2 and IE 7 on Vista both redirect to webkit.org for all 4 buttons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13765</commentid>
    <comment_count>10</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2007-04-20 12:42:41 -0700</bug_when>
    <thetext>Err....ignore me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13772</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Bertheau">bertheau</who>
    <bug_when>2007-04-20 14:33:46 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; What do other browsers (like MSIE 6/7 and Firefox 2.0.x) do with this test?

Gecko:
http://developer.mozilla.org/en/docs/DOM:document.location
http://developer.mozilla.org/en/docs/DOM:window.location
(i.e., &quot;you can also assign to this property to load another URL&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13182</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-04-23 08:39:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/5153025&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9636</commentid>
    <comment_count>13</comment_count>
      <attachid>14617</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-05-18 18:39:36 -0700</bug_when>
    <thetext>Created attachment 14617
window.open test case

I believe this bug also occurs when doing a window.open in an onload handler.  The initial navigation is not stored in session history.  Note that if you do window.open in an onclick handler (in the attached test case, click on the text), the nav is stored.  I believe this is due to the difference in handling of userGestured vs non-userGestured loads (the latter is done as FrameLoadTypeInternal).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7376</commentid>
    <comment_count>14</comment_count>
      <attachid>15068</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-15 15:59:01 -0700</bug_when>
    <thetext>Created attachment 15068
simple patch

Looks like the problem with setting document.location is just that the userGesture flag wasn&apos;t properly tracked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7375</commentid>
    <comment_count>15</comment_count>
      <attachid>15068</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-06-15 16:07:04 -0700</bug_when>
    <thetext>Comment on attachment 15068
simple patch

We need a regression test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7366</commentid>
    <comment_count>16</comment_count>
      <attachid>15072</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-15 16:44:13 -0700</bug_when>
    <thetext>Created attachment 15072
patch with regression test

Here&apos;s the patch above, but with a regression test this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6291</commentid>
    <comment_count>17</comment_count>
      <attachid>15072</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-25 20:06:19 -0700</bug_when>
    <thetext>Comment on attachment 15072
patch with regression test

Good catch, but I don&apos;t think this is quite the right fix. A location assignment should add a new history item even if off a timer (at least if it&apos;s not within a short time period of the original page load. See modified-testcase.html.

In Firefox, it appears that assigning document.location in the normal way *always* creates a new history item. See even-immediate-assignment.html. Given this, I think the right thing is probably to always pass true as the userGesture argument, but you may want to test other similar cases and add them as LayoutTests if you think of other corner cases.

Otherwise this patch looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6290</commentid>
    <comment_count>18</comment_count>
      <attachid>15236</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-25 20:06:53 -0700</bug_when>
    <thetext>Created attachment 15236
a test that fails with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6285</commentid>
    <comment_count>19</comment_count>
      <attachid>15237</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-25 20:07:39 -0700</bug_when>
    <thetext>Created attachment 15237
another difference between Firefox 2 and this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6179</commentid>
    <comment_count>20</comment_count>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-26 12:41:30 -0700</bug_when>
    <thetext>Interesting.  Firefox appears to add a history item in every case EXCEPT when document.location is directly assigned in an onload handler.  If it occurs through a timeout or user gestures, a history item is added.  My guess is that a direct assignment in onload is treated as a client redirect and not added to history.

We can get close to this behavior if we just force userGesture = true here (that is, always pass false for lockHistory and true for userGesture).  But, in that case, we&apos;d still add a history item for a direct assignment in onload.  Unfortunately, if we do that, we end up failing/hitting asserts in several layout tests.

I&apos;ll have to look at this more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6175</commentid>
    <comment_count>21</comment_count>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-26 12:58:15 -0700</bug_when>
    <thetext>Actually, I take that back.  I&apos;m hitting asserts and various errors when I run the layout tests, but (a) none of the tests fail, and (b) it happens without this patch applied.  Maybe something else about my checkout is hosed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6151</commentid>
    <comment_count>22</comment_count>
      <attachid>15260</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-26 16:26:07 -0700</bug_when>
    <thetext>Created attachment 15260
simple patch with slew of tests

As Maciej suggested, I went with just forcing userGesture=true.

This does introduce a difference with Firefox: doing something like onload=&quot;document.location = bla&quot; does not create a back/forward item in Firefox, but will for us.  I&apos;m not sure whether that&apos;s a problem.  It seems like overall this is an improvement (this brings us closer to Firefox in other ways).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6134</commentid>
    <comment_count>23</comment_count>
      <attachid>15260</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-26 21:34:23 -0700</bug_when>
    <thetext>Comment on attachment 15260
simple patch with slew of tests

Awesome, I love the tests, could you please file a bug on the remaining small difference from Firefox behavior? I do think we want such cases handled as a client redirect. It would also be good to check if inline scripts that don&apos;t set a timer and happen before onload have this behavior, I suspect they do.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6120</commentid>
    <comment_count>24</comment_count>
      <attachid>15260</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-06-26 22:41:00 -0700</bug_when>
    <thetext>Comment on attachment 15260
simple patch with slew of tests

You&apos;re missing a ChangeLog for your WebCore changes, and your layout test results have hard-coded paths which are specific to your machine.  I believe navigation tests need to be HTTP tests (http/tests/navigation) so that they will have consistent paths across machines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6047</commentid>
    <comment_count>25</comment_count>
      <attachid>15278</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-27 14:47:52 -0700</bug_when>
    <thetext>Created attachment 15278
fix above patch

Same as above patch, but
- moved the tests to http/tests/navigation
- included changes to WebCore/ChangeLog
as bdash suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6036</commentid>
    <comment_count>26</comment_count>
      <attachid>15278</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-06-27 21:00:45 -0700</bug_when>
    <thetext>Comment on attachment 15278
fix above patch

+    bool userGesture = true;
+    frame-&gt;loader()-&gt;scheduleLocationChange(str, activeFrame-&gt;loader()-&gt;outgoingReferrer(), !userGesture, userGesture);

There&apos;s no need for the userGesture variable anymore. Can you remove it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5951</commentid>
    <comment_count>27</comment_count>
      <attachid>15301</attachid>
    <who name="Matt Perry">mpComplete</who>
    <bug_when>2007-06-28 17:40:27 -0700</bug_when>
    <thetext>Created attachment 15301
small tweak to above patch

Nuked the userGesture var.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5693</commentid>
    <comment_count>28</comment_count>
      <attachid>15301</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-07-02 19:08:22 -0700</bug_when>
    <thetext>Comment on attachment 15301
small tweak to above patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5566</commentid>
    <comment_count>29</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-07-04 23:10:33 -0700</bug_when>
    <thetext>Landed in r24004.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5385</commentid>
    <comment_count>30</comment_count>
    <who name="Maxime BRITTO">mbritto</who>
    <bug_when>2007-07-06 04:56:55 -0700</bug_when>
    <thetext>*** Bug 14147 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14083</attachid>
            <date>2007-04-18 18:04:41 -0700</date>
            <delta_ts>2007-04-18 18:45:02 -0700</delta_ts>
            <desc>test case</desc>
            <filename>test_page.html</filename>
            <type>text/html</type>
            <size>263</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8c2NyaXB0PgpmdW5jdGlvbiBnb1RvTmV4dCgpIHsKICB2YXIgbiA9IGRv
Y3VtZW50LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgaWYgKG4pIHsKICAgIG4gPSAo
bi0wKSArIDE7CiAgfSBlbHNlIHsKICAgIG4gPSAxOwogIH0KICBkb2N1bWVudC5sb2NhdGlvbiA9
ICI/IiArIG47Cn0KPC9zY3JpcHQ+CjxidXR0b24gb25jbGljaz0iZ29Ub05leHQoKSI+Z28gdG8g
bmV4dCBwYWdlPC9idXR0b24+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14084</attachid>
            <date>2007-04-18 18:45:02 -0700</date>
            <delta_ts>2007-04-18 18:45:02 -0700</delta_ts>
            <desc>better test case</desc>
            <filename>test_assign.html</filename>
            <type>text/html</type>
            <size>980</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8c2NyaXB0PgpmdW5jdGlvbiBwYXJhbXNGcm9tU3RyaW5nKHN0cikgewog
IHZhciByZXN1bHQgPSBbXTsKICBpZiAoc3RyKSB7CiAgICB2YXIgcGFyYW1zID0gc3RyLnNwbGl0
KCcmJyk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7ICsraSkgewogICAg
ICB2YXIgZmllbGRzID0gcGFyYW1zW2ldLnNwbGl0KCc9Jyk7CiAgICAgIHJlc3VsdC5wdXNoKHsn
bmFtZSc6IGZpZWxkc1swXSwgJ3ZhbHVlJzogZmllbGRzWzFdfSk7CiAgICB9CiAgfQogIHJldHVy
biByZXN1bHQ7Cn0KZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcocGFyYW1zKSB7CiAgdmFyIHJlc3Vs
dCA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgKytpKSB7CiAgICBy
ZXN1bHQucHVzaChwYXJhbXNbaV0ubmFtZSArICc9JyArIHBhcmFtc1tpXS52YWx1ZSk7CiAgfQog
IHJldHVybiByZXN1bHQuam9pbignJicpOwp9CmZ1bmN0aW9uIGdvVG9OZXh0KCkgewogIHZhciBw
YXJhbXMgPSBwYXJhbXNGcm9tU3RyaW5nKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJp
bmcoMSkpOwoKICB2YXIgaTsKICBmb3IgKGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgKytpKSB7
CiAgICBpZiAocGFyYW1zW2ldLm5hbWUgPT0gJ2Zvb3B5JykgewogICAgICBicmVhazsKICAgIH0K
ICB9CgogIGlmIChpIDwgcGFyYW1zLmxlbmd0aCkgewogICAgdmFyIG4gPSBwYXJhbXNbaV0udmFs
dWU7CiAgICBwYXJhbXNbaV0udmFsdWUgPSAobiAtIDApICsgMTsKICB9IGVsc2UgewogICAgcGFy
YW1zLnB1c2goeyduYW1lJzogJ2Zvb3B5JywgJ3ZhbHVlJzogJzEnfSk7CiAgfQoKICBkb2N1bWVu
dC5sb2NhdGlvbiA9ICc/JyArIHBhcmFtc1RvU3RyaW5nKHBhcmFtcyk7Cn0KPC9zY3JpcHQ+Cjxi
dXR0b24gb25jbGljaz0iZ29Ub05leHQoKSI+Z28gdG8gbmV4dCBwYWdlPC9idXR0b24+CjwvYm9k
eT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14107</attachid>
            <date>2007-04-20 03:26:03 -0700</date>
            <delta_ts>2007-04-20 03:26:03 -0700</delta_ts>
            <desc>A further simplified attachment</desc>
            <filename>location.html</filename>
            <type>text/html</type>
            <size>1301</size>
            <attacher name="Nikolas Bertheau">bertheau</attacher>
            
              <data encoding="base64">PEhUTUw+CgogICAgPEhFQUQ+CgogICAgPC9IRUFEPgoKICAgIDxCT0RZPgoKICAgICAgICA8QlVU
VE9OIE9OQ0xJQ0s9ImxvY2F0aW9uLmhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJyI+bG9jYXRpb24u
aHJlZj0naHR0cDovL3dlYmtpdC5vcmcnPC9CVVRUT04+PEJSIC8+CgogICAgICAgIDxCVVRUT04g
T05DTElDSz0iZG9jdW1lbnQubG9jYXRpb24uaHJlZj0naHR0cDovL3dlYmtpdC5vcmcnIj5kb2N1
bWVudC5sb2NhdGlvbi5ocmVmPSdodHRwOi8vd2Via2l0Lm9yZyc8L0JVVFRPTj48QlIgLz4KCiAg
ICAgICAgPEJVVFRPTiBTVFlMRT0iY29sb3I6cmVkIiBPTkNMSUNLPSJkb2N1bWVudC5sb2NhdGlv
bj0naHR0cDovL3dlYmtpdC5vcmcnIj5kb2N1bWVudC5sb2NhdGlvbj0naHR0cDovL3dlYmtpdC5v
cmcnPC9CVVRUT04+PEJSIC8+CgogICAgICAgIDxCVVRUT04gU1RZTEU9ImNvbG9yOnJlZCIgT05D
TElDSz0ibG9jYXRpb249J2h0dHA6Ly93ZWJraXQub3JnJyI+bG9jYXRpb249J2h0dHA6Ly93ZWJr
aXQub3JnJzwvQlVUVE9OPgoKICAgICAgICA8UFJFPgoKCgoKCiZsdDtIVE1MJmd0OwoKICAgICZs
dDtIRUFEJmd0OwoKICAgICZsdDsvSEVBRCZndDsKCiAgICAmbHQ7Qk9EWSZndDsKCiAgICAgICAg
Jmx0O0JVVFRPTiBPTkNMSUNLPSZxdW90O2xvY2F0aW9uLmhyZWY9J2h0dHA6Ly93ZWJraXQub3Jn
JyZxdW90OyZndDtsb2NhdGlvbi5ocmVmPSdodHRwOi8vd2Via2l0Lm9yZycmbHQ7L0JVVFRPTiZn
dDsmbHQ7QlIgLyZndDsKCiAgICAgICAgJmx0O0JVVFRPTiBPTkNMSUNLPSZxdW90O2RvY3VtZW50
LmxvY2F0aW9uLmhyZWY9J2h0dHA6Ly93ZWJraXQub3JnJyZxdW90OyZndDtkb2N1bWVudC5sb2Nh
dGlvbi5ocmVmPSdodHRwOi8vd2Via2l0Lm9yZycmbHQ7L0JVVFRPTiZndDsmbHQ7QlIgLyZndDsK
CiAgICAgICAgJmx0O0JVVFRPTiBTVFlMRT0mcXVvdDtjb2xvcjpyZWQmcXVvdDsgT05DTElDSz0m
cXVvdDtkb2N1bWVudC5sb2NhdGlvbj0naHR0cDovL3dlYmtpdC5vcmcnJnF1b3Q7Jmd0O2RvY3Vt
ZW50LmxvY2F0aW9uPSdodHRwOi8vd2Via2l0Lm9yZycmbHQ7L0JVVFRPTiZndDsmbHQ7QlIgLyZn
dDsKCiAgICAgICAgJmx0O0JVVFRPTiBTVFlMRT0mcXVvdDtjb2xvcjpyZWQmcXVvdDsgT05DTElD
Sz0mcXVvdDtsb2NhdGlvbj0naHR0cDovL3dlYmtpdC5vcmcnJnF1b3Q7Jmd0O2xvY2F0aW9uPSdo
dHRwOi8vd2Via2l0Lm9yZycmbHQ7L0JVVFRPTiZndDsKCiAgICAmbHQ7L0JPRFkmZ3Q7CgombHQ7
L0hUTUwmZ3Q7CgogICAgICAgIDwvUFJFPgoKICAgIDwvQk9EWT4KCjwvSFRNTD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14617</attachid>
            <date>2007-05-18 18:39:36 -0700</date>
            <delta_ts>2007-05-18 18:39:36 -0700</delta_ts>
            <desc>window.open test case</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>206</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgpmdW5jdGlvbiB0ZXN0KCkgewogIHdpbmRvdy5vcGVuKCJo
dHRwOi8vZ29vZ2xlLmNvbSIsICIiLCAid2lkdGg9NjAwLGhlaWdodD00MDAiKTsKfQo8L3Njcmlw
dD4KPC9oZWFkPgo8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CjxzcGFuIG9uY2xpY2s9InRlc3QoKSI+
CkNsaWNrIG1lLgo8L3NwYW4+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15068</attachid>
            <date>2007-06-15 15:59:01 -0700</date>
            <delta_ts>2007-06-15 16:44:13 -0700</delta_ts>
            <desc>simple patch</desc>
            <filename>location.patch</filename>
            <type>text/plain</type>
            <size>1358</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzU1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDctMDYtMTUgIE1hdHQgUGVycnkgIDxtcENvbXBsZXRlQGdtYWls
LmNvbT4KKworICAgICAgICBGaXggZm9yIEJ1Z3ppbGxhIGJ1ZyAxMzQwMCwgTm8gYmFjayBlbnRy
eSBjcmVhdGVkIGZvciBuYXZpZ2F0aW9ucyBjcmVhdGVkIGJ5IGFzc2lnbmluZyB0byBkb2N1bWVu
dC5sb2NhdGlvbgorCisgICAgICAgIFBhc3MgaW4gdXNlckdlc3R1cmUgcGFyYW1ldGVyIHRvIGEg
c2NoZWR1bGVMb2NhdGlvbkNoYW5nZSBjYWxsLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNI
VE1MRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRG9jdW1lbnQ6
OnNldExvY2F0aW9uKToKKwogMjAwNy0wNi0xNCAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQGtk
ZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFycy4KSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiAyMzU1MikKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBKU0hUTUxEb2N1bWVudDo6c2V0TG9jYXRpb24oRXhl
Y1N0YQogCiAgICAgLy8gV2Ugd2FudCBhIG5ldyBoaXN0b3J5IGl0ZW0gaWYgdGhpcyBKUyB3YXMg
Y2FsbGVkIHZpYSBhIHVzZXIgZ2VzdHVyZQogICAgIGJvb2wgdXNlckdlc3R1cmUgPSBzdGF0aWNf
Y2FzdDxTY3JpcHRJbnRlcnByZXRlcio+KGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpKS0+d2Fz
UnVuQnlVc2VyR2VzdHVyZSgpOwotICAgIGZyYW1lLT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlv
bkNoYW5nZShzdHIsIGFjdGl2ZUZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCAh
dXNlckdlc3R1cmUpOworICAgIGZyYW1lLT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlvbkNoYW5n
ZShzdHIsIGFjdGl2ZUZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCAhdXNlckdl
c3R1cmUsIHVzZXJHZXN0dXJlKTsKIH0KIAogLy8gQ3VzdG9tIGZ1bmN0aW9ucwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15072</attachid>
            <date>2007-06-15 16:44:13 -0700</date>
            <delta_ts>2007-06-26 16:26:07 -0700</delta_ts>
            <desc>patch with regression test</desc>
            <filename>location-2.patch</filename>
            <type>text/plain</type>
            <size>4152</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzU1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDctMDYtMTUgIE1hdHQgUGVycnkgIDxtcENvbXBsZXRlQGdtYWls
LmNvbT4KKworICAgICAgICBGaXggZm9yIEJ1Z3ppbGxhIGJ1ZyAxMzQwMCwgTm8gYmFjayBlbnRy
eSBjcmVhdGVkIGZvciBuYXZpZ2F0aW9ucyBjcmVhdGVkIGJ5IGFzc2lnbmluZyB0byBkb2N1bWVu
dC5sb2NhdGlvbgorCisgICAgICAgIFBhc3MgaW4gdXNlckdlc3R1cmUgcGFyYW1ldGVyIHRvIGEg
c2NoZWR1bGVMb2NhdGlvbkNoYW5nZSBjYWxsLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNI
VE1MRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRG9jdW1lbnQ6
OnNldExvY2F0aW9uKToKKwogMjAwNy0wNi0xNCAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQGtk
ZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFycy4KSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiAyMzU1MikKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBKU0hUTUxEb2N1bWVudDo6c2V0TG9jYXRpb24oRXhl
Y1N0YQogCiAgICAgLy8gV2Ugd2FudCBhIG5ldyBoaXN0b3J5IGl0ZW0gaWYgdGhpcyBKUyB3YXMg
Y2FsbGVkIHZpYSBhIHVzZXIgZ2VzdHVyZQogICAgIGJvb2wgdXNlckdlc3R1cmUgPSBzdGF0aWNf
Y2FzdDxTY3JpcHRJbnRlcnByZXRlcio+KGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpKS0+d2Fz
UnVuQnlVc2VyR2VzdHVyZSgpOwotICAgIGZyYW1lLT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlv
bkNoYW5nZShzdHIsIGFjdGl2ZUZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCAh
dXNlckdlc3R1cmUpOworICAgIGZyYW1lLT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlvbkNoYW5n
ZShzdHIsIGFjdGl2ZUZyYW1lLT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCAhdXNlckdl
c3R1cmUsIHVzZXJHZXN0dXJlKTsKIH0KIAogLy8gQ3VzdG9tIGZ1bmN0aW9ucwpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjM1NTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMyBAQAorMjAwNy0wNi0xNSAgTWF0dCBQZXJyeSAgPG1wQ29tcGxldGVAZ21h
aWwuY29tPgorCisgICAgICAgIEZpeCBmb3IgQnVnemlsbGEgYnVnIDEzNDAwLCBObyBiYWNrIGVu
dHJ5IGNyZWF0ZWQgZm9yIG5hdmlnYXRpb25zIGNyZWF0ZWQgYnkgYXNzaWduaW5nIHRvIGRvY3Vt
ZW50LmxvY2F0aW9uCisKKyAgICAgICAgVGVzdCB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5s
b2NhdGlvbiB2aWEgYSB1c2VyIGdlc3R1cmUgYWRkcyBhbgorICAgICAgICBpdGVtIHRvIHRoZSBi
YWNrL2ZvcndhcmQgbGlzdC4KKworICAgICAgICAqIGZhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2Nh
dGlvbi1hc3NpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0
b3J5L2RvY3VtZW50LWxvY2F0aW9uLWFzc2lnbm1lbnQuaHRtbDogQWRkZWQuCisKIDIwMDctMDYt
MTQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1s
b2NhdGlvbi1hc3NpZ25tZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tYXNzaWdubWVudC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRp
b24tYXNzaWdubWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAor
VGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBhZGRzIGEgYmFj
ay9mb3J3YXJkIGl0ZW0uIE5hdmlnYXRlCisKKz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBM
aXN0ID09PT09PT09PT09PT09CisgICAgICAgIGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0ZS9zcmMv
V2ViS2l0L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1hc3NpZ25t
ZW50Lmh0bWwgICoqbmF2IHRhcmdldCoqCitjdXJyLT4gIGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0
ZS9zcmMvV2ViS2l0L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1h
c3NpZ25tZW50Lmh0bWw/MSAgKipuYXYgdGFyZ2V0KioKKz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
ZG9jdW1lbnQtbG9jYXRpb24tYXNzaWdubWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1hc3NpZ25tZW50Lmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tYXNz
aWdubWVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgbiA9IGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaC5z
dWJzdHJpbmcoMSkKKyAgICAgIGlmICghbikgeworICAgICAgICAvLyBwYWdlIGp1c3Qgb3BlbmVk
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgICAgLy8gRmluZCB0aGUgYnV0
dG9uIHRvIGNsaWNrLgorICAgICAgICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm5hdmlnYXRlIik7CisgICAgICAgIHZhciB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyBidXR0
b24ub2Zmc2V0V2lkdGggLyAyOworICAgICAgICB2YXIgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyBi
dXR0b24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
eCwgeSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOyAKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOyAKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIGxvYWRlZCB0aGUg
PzEgbmF2aWdhdGlvbgorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICB9CisgICAgfQorICB9CisgIGZ1bmN0aW9uIGFzc2lnbigpIHsKKyAgICBkb2N1bWVu
dC5sb2NhdGlvbiA9ICI/MSIKKyAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9u
IGFkZHMgYSBiYWNrL2ZvcndhcmQgaXRlbS4KKzxidXR0b24gb25jbGljaz0iYXNzaWduKCkiIGlk
PSJuYXZpZ2F0ZSI+TmF2aWdhdGU8L2J1dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="6212"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15236</attachid>
            <date>2007-06-25 20:06:53 -0700</date>
            <delta_ts>2007-06-25 20:06:53 -0700</delta_ts>
            <desc>a test that fails with this patch.</desc>
            <filename>modified-testcase.html</filename>
            <type>text/html</type>
            <size>1013</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgogIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgIHZhciBuID0gZG9jdW1lbnQubG9jYXRpb24u
c2VhcmNoLnN1YnN0cmluZygxKQogICAgICBpZiAoIW4pIHsKICAgICAgICAvLyBwYWdlIGp1c3Qg
b3BlbmVkCiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEJhY2tGb3J3YXJkTGlzdCgp
OwogICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CgogICAgICAgIC8vIEZpbmQgdGhlIGJ1
dHRvbiB0byBjbGljay4KICAgICAgICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm5hdmlnYXRlIik7CiAgICAgICAgdmFyIHggPSBidXR0b24ub2Zmc2V0TGVmdCArIGJ1dHRv
bi5vZmZzZXRXaWR0aCAvIDI7CiAgICAgICAgdmFyIHkgPSBidXR0b24ub2Zmc2V0VG9wICsgYnV0
dG9uLm9mZnNldEhlaWdodCAvIDI7CiAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwg
eSk7CiAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7IAogICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoKTsgCiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gbG9hZGVkIHRoZSA/MSBuYXZp
Z2F0aW9uCiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgICB9
CiAgICB9CiAgfQogIGZ1bmN0aW9uIGFzc2lnbigpIHsKICAgIGRvY3VtZW50LmxvY2F0aW9uID0g
Ij8xIgogIH0KPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgpUaGlzIHRl
c3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uIGFkZHMgYSBiYWNrL2Zvcndh
cmQgaXRlbS4KPGJ1dHRvbiBvbmNsaWNrPSJzZXRUaW1lb3V0KCdhc3NpZ24oKScsIDApIiBpZD0i
bmF2aWdhdGUiPk5hdmlnYXRlPC9idXR0b24+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15237</attachid>
            <date>2007-06-25 20:07:39 -0700</date>
            <delta_ts>2007-06-25 20:07:39 -0700</delta_ts>
            <desc>another difference between Firefox 2 and this patch</desc>
            <filename>even-immediate-assignment.html</filename>
            <type>text/html</type>
            <size>382</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgogIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgIHZhciBuID0g
ZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKQogICAgICBpZiAoIW4pIHsKICAg
ICAgICAvLyBwYWdlIGp1c3Qgb3BlbmVkCiAgICAgICAgc2V0VGltZW91dCgnYXNzaWduKCknLCAw
KTsKICAgICAgfQogIH0KICBmdW5jdGlvbiBhc3NpZ24oKSB7CiAgICBkb2N1bWVudC5sb2NhdGlv
biA9ICI/MSIKICB9Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgpUaGlzIHRlc3RzIHRoYXQgYXNz
aWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uIGFkZHMgYSBiYWNrL2ZvcndhcmQgaXRlbS4KPHNj
cmlwdD4KdGVzdCgpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15260</attachid>
            <date>2007-06-26 16:26:07 -0700</date>
            <delta_ts>2007-06-27 14:47:52 -0700</delta_ts>
            <desc>simple patch with slew of tests</desc>
            <filename>location-3.patch</filename>
            <type>text/plain</type>
            <size>9418</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCShy
ZXZpc2lvbiAyMzc5NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUsOSArMTE1LDkgQEAgdm9pZCBKU0hUTUxEb2N1
bWVudDo6c2V0TG9jYXRpb24oRXhlY1N0YQogICAgIGlmIChhY3RpdmVGcmFtZSkKICAgICAgICAg
c3RyID0gYWN0aXZlRnJhbWUtPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKHN0cik7CiAKLSAgICAv
LyBXZSB3YW50IGEgbmV3IGhpc3RvcnkgaXRlbSBpZiB0aGlzIEpTIHdhcyBjYWxsZWQgdmlhIGEg
dXNlciBnZXN0dXJlCi0gICAgYm9vbCB1c2VyR2VzdHVyZSA9IHN0YXRpY19jYXN0PFNjcmlwdElu
dGVycHJldGVyKj4oZXhlYy0+ZHluYW1pY0ludGVycHJldGVyKCkpLT53YXNSdW5CeVVzZXJHZXN0
dXJlKCk7Ci0gICAgZnJhbWUtPmxvYWRlcigpLT5zY2hlZHVsZUxvY2F0aW9uQ2hhbmdlKHN0ciwg
YWN0aXZlRnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVycmVyKCksICF1c2VyR2VzdHVyZSk7
CisgICAgLy8gV2UgYWx3YXlzIHdhbnQgYSBuZXcgaGlzdG9yeSBpdGVtIHdoZW4gYXNzaWduaW5n
IHRvIGRvY3VtZW50LmxvY2F0aW9uLgorICAgIGJvb2wgdXNlckdlc3R1cmUgPSB0cnVlOworICAg
IGZyYW1lLT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlvbkNoYW5nZShzdHIsIGFjdGl2ZUZyYW1l
LT5sb2FkZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCAhdXNlckdlc3R1cmUsIHVzZXJHZXN0dXJl
KTsKIH0KIAogLy8gQ3VzdG9tIGZ1bmN0aW9ucwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3OTkpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAor
MjAwNy0wNi0yNiAgTWF0dCBQZXJyeSAgPG1wQ29tcGxldGVAZ21haWwuY29tPgorCisgICAgICAg
IEZpeCBmb3IgQnVnemlsbGEgYnVnIDEzNDAwLCBObyBiYWNrIGVudHJ5IGNyZWF0ZWQgZm9yIG5h
dmlnYXRpb25zIGNyZWF0ZWQgYnkgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uCisKKyAg
ICAgICAgVGVzdCB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBpbiB2YXJpb3Vz
IHdheXMgYWRkcyBhbgorICAgICAgICBpdGVtIHRvIHRoZSBiYWNrL2ZvcndhcmQgbGlzdC4KKwor
ICAgICAgICAqIGZhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGljay1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGlj
ay10aW1lb3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0b3J5L2Rv
Y3VtZW50LWxvY2F0aW9uLWNsaWNrLXRpbWVvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9oaXN0b3J5L2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1tb3VzZW92ZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1v
bmxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvZG9jdW1l
bnQtbG9jYXRpb24tb25sb2FkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9y
ZXNvdXJjZXMvZG9jdW1lbnQtbG9jYXRpb24uanM6IEFkZGVkLgorCiAyMDA3LTA2LTI2ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYuCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVu
dC1sb2NhdGlvbi1jbGljay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25pbmcgdG8gZG9j
dW1lbnQubG9jYXRpb24gZnJvbSBhIGJ1dHRvbiBjbGljayBhZGRzIGEgYmFjay9mb3J3YXJkIGl0
ZW0uIE5hdmlnYXRlCisKKz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0ID09PT09PT09
PT09PT09CisgICAgICAgIGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0ZS9zcmMvV2ViS2l0L0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGljay5odG1sICAqKm5hdiB0
YXJnZXQqKgorY3Vyci0+ICBmaWxlOi8vL1VzZXJzL21wY29tcGxldGUvc3JjL1dlYktpdC9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2suaHRtbD8xICAqKm5h
diB0YXJnZXQqKgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGlj
ay10aW1lb3V0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGltZW91dC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xp
Y2stdGltZW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGhp
cyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgdGltZW91
dCBpbiBhIGJ1dHRvbiBjbGljayBhZGRzIGEgYmFjay9mb3J3YXJkIGl0ZW0uIE5hdmlnYXRlCisK
Kz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0ID09PT09PT09PT09PT09CisgICAgICAg
IGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0ZS9zcmMvV2ViS2l0L0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWwgICoqbmF2IHRhcmdldCoq
CitjdXJyLT4gIGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0ZS9zcmMvV2ViS2l0L0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWw/MSAgKipu
YXYgdGFyZ2V0KioKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xp
Y2stdGltZW91dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9k
b2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGltZW91dC5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIC8vIFNpbXVsYXRlIGNsaWNraW5nIHRoZSBOYXZp
Z2F0ZSBidXR0b24uCisgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJu
YXZpZ2F0ZSIpOworICAgIHZhciB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyBidXR0b24ub2Zmc2V0
V2lkdGggLyAyOworICAgIHZhciB5ID0gYnV0dG9uLm9mZnNldFRvcCArIGJ1dHRvbi5vZmZzZXRI
ZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOyAKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7IAorICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CitUaGlzIHRlc3RzIHRo
YXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uIGZyb20gYSB0aW1lb3V0IGluIGEgYnV0
dG9uIGNsaWNrCithZGRzIGEgYmFjay9mb3J3YXJkIGl0ZW0uCis8YnV0dG9uIG9uY2xpY2s9InNl
dFRpbWVvdXQoJ3NldExvY2F0aW9uKCknLCAwKSIgaWQ9Im5hdmlnYXRlIj5OYXZpZ2F0ZTwvYnV0
dG9uPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2Rv
Y3VtZW50LWxvY2F0aW9uLWNsaWNrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tY2xpY2suaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvZG9jdW1lbnQtbG9jYXRpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICAvLyBTaW11bGF0ZSBjbGlja2luZyB0aGUgTmF2aWdhdGUg
YnV0dG9uLgorICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2aWdh
dGUiKTsKKyAgICB2YXIgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgYnV0dG9uLm9mZnNldFdpZHRo
IC8gMjsKKyAgICB2YXIgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyBidXR0b24ub2Zmc2V0SGVpZ2h0
IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsgCisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOyAKKyAgfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGFz
c2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgYnV0dG9uIGNsaWNrIGFkZHMgYQor
YmFjay9mb3J3YXJkIGl0ZW0uCis8YnV0dG9uIG9uY2xpY2s9InNldExvY2F0aW9uKCkiIGlkPSJu
YXZpZ2F0ZSI+TmF2aWdhdGU8L2J1dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1tb3VzZW92ZXItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2Nh
dGlvbi1tb3VzZW92ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBk
b2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgYnV0dG9uIGNsaWNrIGFkZHMgYSBiYWNrL2ZvcndhcmQg
aXRlbS4gTmF2aWdhdGUKKworPT09PT09PT09PT09PT0gQmFjayBGb3J3YXJkIExpc3QgPT09PT09
PT09PT09PT0KKyAgICAgICAgZmlsZTovLy9Vc2Vycy9tcGNvbXBsZXRlL3NyYy9XZWJLaXQvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sICAq
Km5hdiB0YXJnZXQqKgorY3Vyci0+ICBmaWxlOi8vL1VzZXJzL21wY29tcGxldGUvc3JjL1dlYktp
dC9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVyLmh0
bWw/MSAgKipuYXYgdGFyZ2V0KioKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9j
YXRpb24tbW91c2VvdmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgIC8vIFNpbXVsYXRlIG1vdXNpbmcgb3ZlciB0aGUgTmF2
aWdhdGUgYnV0dG9uLgorICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bmF2aWdhdGUiKTsKKyAgICB2YXIgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgYnV0dG9uLm9mZnNl
dFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyBidXR0b24ub2Zmc2V0
SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InN0YXJ0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVu
dC5sb2NhdGlvbiBmcm9tIGEgYnV0dG9uIGNsaWNrIGFkZHMgYQorYmFjay9mb3J3YXJkIGl0ZW0u
Cis8YnV0dG9uIG9ubW91c2VvdmVyPSJzZXRMb2NhdGlvbigpIiBpZD0ibmF2aWdhdGUiPk5hdmln
YXRlPC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVu
dC1sb2NhdGlvbi1vbmxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYg
QEAKK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24gZnJvbSBh
IHRpbWVvdXQgZnJvbSB0aGUgb25sb2FkIGhhbmRsZXIgYWRkcyBhIGJhY2svZm9yd2FyZCBpdGVt
LgorCis9PT09PT09PT09PT09PSBCYWNrIEZvcndhcmQgTGlzdCA9PT09PT09PT09PT09PQorICAg
ICAgICBmaWxlOi8vL1VzZXJzL21wY29tcGxldGUvc3JjL1dlYktpdC9MYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLmh0bWwgICoqbmF2IHRhcmdldCoqCitj
dXJyLT4gIGZpbGU6Ly8vVXNlcnMvbXBjb21wbGV0ZS9zcmMvV2ViS2l0L0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQuaHRtbD8xICAqKm5hdiB0YXJnZXQq
KgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9jdW1lbnQtbG9jYXRpb24t
b25sb2FkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZG9j
dW1lbnQtbG9jYXRpb24tb25sb2FkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgc2V0
VGltZW91dCgnc2V0TG9jYXRpb24oKScsIDApOworICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0ic3RhcnQoKSI+CitUaGlzIHRlc3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3Vt
ZW50LmxvY2F0aW9uIGZyb20gYSB0aW1lb3V0IGZyb20gdGhlIG9ubG9hZAoraGFuZGxlciBhZGRz
IGEgYmFjay9mb3J3YXJkIGl0ZW0uCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvZG9jdW1lbnQtbG9jYXRpb24u
anMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL2Rv
Y3VtZW50LWxvY2F0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitmdW5jdGlv
biBzdGFydCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIHZh
ciBuID0gZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKTsKKyAgICBpZiAoIW4p
IHsKKyAgICAgIC8vIHBhZ2UganVzdCBvcGVuZWQKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKwor
ICAgICAgcnVuVGVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAvLyBsb2FkZWQgdGhlID8xIG5h
dmlnYXRpb24KKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9
CisgIH0KK30KKworZnVuY3Rpb24gc2V0TG9jYXRpb24oKSB7CisgIGRvY3VtZW50LmxvY2F0aW9u
ID0gIj8xIgorfQorCg==
</data>
<flag name="review"
          id="6310"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15278</attachid>
            <date>2007-06-27 14:47:52 -0700</date>
            <delta_ts>2007-06-28 17:40:27 -0700</delta_ts>
            <desc>fix above patch</desc>
            <filename>location-4.patch</filename>
            <type>text/plain</type>
            <size>10177</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzc5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDctMDYtMjYgIE1hdHQgUGVycnkgIDxtcENvbXBsZXRlQGdtYWls
LmNvbT4KKworICAgICAgICBGaXggZm9yIEJ1Z3ppbGxhIGJ1ZyAxMzQwMCwgTm8gYmFjayBlbnRy
eSBjcmVhdGVkIGZvciBuYXZpZ2F0aW9ucyBjcmVhdGVkIGJ5IGFzc2lnbmluZyB0byBkb2N1bWVu
dC5sb2NhdGlvbgorCisgICAgICAgIFRyZWF0IHVzZXJHZXN0dXJlIGFzIGFsd2F5cyB0cnVlIGZv
ciBzZXRMb2NhdGlvbiwgZm9yY2luZyBhIGJhY2svZm9yd2FyZAorICAgICAgICBlbnRyeSB0byBi
ZSBjcmVhdGVkLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRG9jdW1lbnQ6OnNldExvY2F0aW9uKToKKwog
MjAwNy0wNi0yNiAgVHJpc3RhbiBPJ1RpZXJuZXkgIDx0cmlzdGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBKb2huIFN1bGxpdmFuLgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDIzNzk3KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExNSw5ICsxMTUsOSBAQCB2b2lkIEpTSFRNTERvY3VtZW50OjpzZXRMb2NhdGlvbihFeGVjU3Rh
CiAgICAgaWYgKGFjdGl2ZUZyYW1lKQogICAgICAgICBzdHIgPSBhY3RpdmVGcmFtZS0+ZG9jdW1l
bnQoKS0+Y29tcGxldGVVUkwoc3RyKTsKIAotICAgIC8vIFdlIHdhbnQgYSBuZXcgaGlzdG9yeSBp
dGVtIGlmIHRoaXMgSlMgd2FzIGNhbGxlZCB2aWEgYSB1c2VyIGdlc3R1cmUKLSAgICBib29sIHVz
ZXJHZXN0dXJlID0gc3RhdGljX2Nhc3Q8U2NyaXB0SW50ZXJwcmV0ZXIqPihleGVjLT5keW5hbWlj
SW50ZXJwcmV0ZXIoKSktPndhc1J1bkJ5VXNlckdlc3R1cmUoKTsKLSAgICBmcmFtZS0+bG9hZGVy
KCktPnNjaGVkdWxlTG9jYXRpb25DaGFuZ2Uoc3RyLCBhY3RpdmVGcmFtZS0+bG9hZGVyKCktPm91
dGdvaW5nUmVmZXJyZXIoKSwgIXVzZXJHZXN0dXJlKTsKKyAgICAvLyBXZSBhbHdheXMgd2FudCBh
IG5ldyBoaXN0b3J5IGl0ZW0gd2hlbiBhc3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24uCisg
ICAgYm9vbCB1c2VyR2VzdHVyZSA9IHRydWU7CisgICAgZnJhbWUtPmxvYWRlcigpLT5zY2hlZHVs
ZUxvY2F0aW9uQ2hhbmdlKHN0ciwgYWN0aXZlRnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVy
cmVyKCksICF1c2VyR2VzdHVyZSwgdXNlckdlc3R1cmUpOwogfQogCiAvLyBDdXN0b20gZnVuY3Rp
b25zCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc5OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDA3LTA2LTI2ICBNYXR0IFBlcnJ5ICA8
bXBDb21wbGV0ZUBnbWFpbC5jb20+CisKKyAgICAgICAgRml4IGZvciBCdWd6aWxsYSBidWcgMTM0
MDAsIE5vIGJhY2sgZW50cnkgY3JlYXRlZCBmb3IgbmF2aWdhdGlvbnMgY3JlYXRlZCBieSBhc3Np
Z25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24KKworICAgICAgICBUZXN0IHRoYXQgYXNzaWduaW5n
IHRvIGRvY3VtZW50LmxvY2F0aW9uIGluIHZhcmlvdXMgd2F5cyBhZGRzIGFuCisgICAgICAgIGl0
ZW0gdG8gdGhlIGJhY2svZm9yd2FyZCBsaXN0LgorCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLXRpbWVv
dXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24v
ZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGltZW91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2suaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNl
b3Zlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9kb2N1bWVudC1sb2NhdGlvbi1tb3VzZW92ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW9ubG9hZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlv
bi1vbmxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qczogQWRkZWQuCisKIDIwMDctMDYtMjYgIFNhbSBX
ZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZi4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1j
bGljay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlv
bi1jbGljay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0
ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgYnV0dG9uIGNs
aWNrIGFkZHMgYSBiYWNrL2ZvcndhcmQgaXRlbS4gTmF2aWdhdGUKKworPT09PT09PT09PT09PT0g
QmFjayBGb3J3YXJkIExpc3QgPT09PT09PT09PT09PT0KKyAgICAgICAgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2suaHRtbCAgKipuYXYgdGFy
Z2V0KioKK2N1cnItPiAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vZG9jdW1lbnQt
bG9jYXRpb24tY2xpY2suaHRtbD8xICAqKm5hdiB0YXJnZXQqKgorPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1l
bnQtbG9jYXRpb24tY2xpY2stdGltZW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2st
dGltZW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0
ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgdGltZW91dCBp
biBhIGJ1dHRvbiBjbGljayBhZGRzIGEgYmFjay9mb3J3YXJkIGl0ZW0uIE5hdmlnYXRlCisKKz09
PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0ID09PT09PT09PT09PT09CisgICAgICAgIGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLXRp
bWVvdXQuaHRtbCAgKipuYXYgdGFyZ2V0KioKK2N1cnItPiAgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGltZW91dC5odG1sPzEgICoqbmF2
IHRhcmdldCoqCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0
aW9uLWNsaWNrLXRpbWVvdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGltZW91dC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxv
Y2F0aW9uLWNsaWNrLXRpbWVvdXQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZG9jdW1lbnQtbG9jYXRpb24u
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAvLyBT
aW11bGF0ZSBjbGlja2luZyB0aGUgTmF2aWdhdGUgYnV0dG9uLgorICAgIHZhciBidXR0b24gPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2aWdhdGUiKTsKKyAgICB2YXIgeCA9IGJ1dHRvbi5v
ZmZzZXRMZWZ0ICsgYnV0dG9uLm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IGJ1dHRvbi5v
ZmZzZXRUb3AgKyBidXR0b24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsgCisgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOyAKKyAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InN0YXJ0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlv
biBmcm9tIGEgdGltZW91dCBpbiBhIGJ1dHRvbiBjbGljaworYWRkcyBhIGJhY2svZm9yd2FyZCBp
dGVtLgorPGJ1dHRvbiBvbmNsaWNrPSJzZXRUaW1lb3V0KCdzZXRMb2NhdGlvbigpJywgMCkiIGlk
PSJuYXZpZ2F0ZSI+TmF2aWdhdGU8L2J1dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1
bWVudC1sb2NhdGlvbi1jbGljay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgLy8gU2ltdWxhdGUgY2xpY2tpbmcgdGhlIE5hdmlnYXRlIGJ1dHRv
bi4KKyAgICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdmlnYXRlIik7
CisgICAgdmFyIHggPSBidXR0b24ub2Zmc2V0TGVmdCArIGJ1dHRvbi5vZmZzZXRXaWR0aCAvIDI7
CisgICAgdmFyIHkgPSBidXR0b24ub2Zmc2V0VG9wICsgYnV0dG9uLm9mZnNldEhlaWdodCAvIDI7
CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7IAorICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsgCisgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25p
bmcgdG8gZG9jdW1lbnQubG9jYXRpb24gZnJvbSBhIGJ1dHRvbiBjbGljayBhZGRzIGEKK2JhY2sv
Zm9yd2FyZCBpdGVtLgorPGJ1dHRvbiBvbmNsaWNrPSJzZXRMb2NhdGlvbigpIiBpZD0ibmF2aWdh
dGUiPk5hdmlnYXRlPC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
ZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1tb3Vz
ZW92ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVz
dHMgdGhhdCBhc3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24gZnJvbSBhIGJ1dHRvbiBjbGlj
ayBhZGRzIGEgYmFjay9mb3J3YXJkIGl0ZW0uIE5hdmlnYXRlCisKKz09PT09PT09PT09PT09IEJh
Y2sgRm9yd2FyZCBMaXN0ID09PT09PT09PT09PT09CisgICAgICAgIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sICAqKm5hdiB0
YXJnZXQqKgorY3Vyci0+ICBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9kb2N1bWVu
dC1sb2NhdGlvbi1tb3VzZW92ZXIuaHRtbD8xICAqKm5hdiB0YXJnZXQqKgorPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1tb3VzZW92ZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9j
YXRpb24tbW91c2VvdmVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVyLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgLy8gU2ltdWxhdGUgbW91c2luZyBvdmVyIHRoZSBOYXZpZ2F0ZSBi
dXR0b24uCisgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuYXZpZ2F0
ZSIpOworICAgIHZhciB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyBidXR0b24ub2Zmc2V0V2lkdGgg
LyAyOworICAgIHZhciB5ID0gYnV0dG9uLm9mZnNldFRvcCArIGJ1dHRvbi5vZmZzZXRIZWlnaHQg
LyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKDAsIDApOworICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0ic3RhcnQoKSI+CitUaGlzIHRlc3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0
aW9uIGZyb20gYSBidXR0b24gY2xpY2sgYWRkcyBhCitiYWNrL2ZvcndhcmQgaXRlbS4KKzxidXR0
b24gb25tb3VzZW92ZXI9InNldExvY2F0aW9uKCkiIGlkPSJuYXZpZ2F0ZSI+TmF2aWdhdGU8L2J1
dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1v
bmxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW9ubG9hZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0byBkb2N1
bWVudC5sb2NhdGlvbiBmcm9tIGEgdGltZW91dCBmcm9tIHRoZSBvbmxvYWQgaGFuZGxlciBhZGRz
IGEgYmFjay9mb3J3YXJkIGl0ZW0uCisKKz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0
ID09PT09PT09PT09PT09CisgICAgICAgIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9u
L2RvY3VtZW50LWxvY2F0aW9uLW9ubG9hZC5odG1sICAqKm5hdiB0YXJnZXQqKgorY3Vyci0+ICBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQu
aHRtbD8xICAqKm5hdiB0YXJnZXQqKgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9k
b2N1bWVudC1sb2NhdGlvbi1vbmxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9j
YXRpb24tb25sb2FkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgc2V0VGltZW91dCgn
c2V0TG9jYXRpb24oKScsIDApOworICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0ic3RhcnQoKSI+CitUaGlzIHRlc3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0
aW9uIGZyb20gYSB0aW1lb3V0IGZyb20gdGhlIG9ubG9hZAoraGFuZGxlciBhZGRzIGEgYmFjay9m
b3J3YXJkIGl0ZW0uCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvZG9jdW1lbnQt
bG9jYXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIxIEBACitmdW5jdGlvbiBzdGFydCgpIHsKKyAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgIHZhciBuID0gZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmlu
ZygxKTsKKyAgICBpZiAoIW4pIHsKKyAgICAgIC8vIHBhZ2UganVzdCBvcGVuZWQKKyAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKKyAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKworICAgICAgcnVuVGVzdCgpOworICAgIH0gZWxzZSB7CisgICAgICAv
LyBsb2FkZWQgdGhlID8xIG5hdmlnYXRpb24KKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisgIH0KK30KKworZnVuY3Rpb24gc2V0TG9jYXRpb24oKSB7Cisg
IGRvY3VtZW50LmxvY2F0aW9uID0gIj8xIgorfQorCg==
</data>
<flag name="review"
          id="6325"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15301</attachid>
            <date>2007-06-28 17:40:27 -0700</date>
            <delta_ts>2007-07-02 19:08:22 -0700</delta_ts>
            <desc>small tweak to above patch</desc>
            <filename>location-5.patch</filename>
            <type>text/plain</type>
            <size>10136</size>
            <attacher name="Matt Perry">mpComplete</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzgzMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDctMDYtMjggIE1hdHQgUGVycnkgIDxtcENvbXBsZXRlQGdtYWls
LmNvbT4KKworICAgICAgICBGaXggZm9yIEJ1Z3ppbGxhIGJ1ZyAxMzQwMCwgTm8gYmFjayBlbnRy
eSBjcmVhdGVkIGZvciBuYXZpZ2F0aW9ucyBjcmVhdGVkIGJ5IGFzc2lnbmluZyB0byBkb2N1bWVu
dC5sb2NhdGlvbgorCisgICAgICAgIFRyZWF0IHVzZXJHZXN0dXJlIGFzIGFsd2F5cyB0cnVlIGZv
ciBzZXRMb2NhdGlvbiwgZm9yY2luZyBhIGJhY2svZm9yd2FyZAorICAgICAgICBlbnRyeSB0byBi
ZSBjcmVhdGVkLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRG9jdW1lbnQ6OnNldExvY2F0aW9uKToKKwog
MjAwNy0wNi0yNyAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQGtkZS5vcmc+CiAKICAgICAgICAg
UnViYmVyIHN0YW1wZWQgYnkgTWl0ei4KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
RG9jdW1lbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MRG9jdW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiAyMzgzMykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUsOSAr
MTE1LDggQEAgdm9pZCBKU0hUTUxEb2N1bWVudDo6c2V0TG9jYXRpb24oRXhlY1N0YQogICAgIGlm
IChhY3RpdmVGcmFtZSkKICAgICAgICAgc3RyID0gYWN0aXZlRnJhbWUtPmRvY3VtZW50KCktPmNv
bXBsZXRlVVJMKHN0cik7CiAKLSAgICAvLyBXZSB3YW50IGEgbmV3IGhpc3RvcnkgaXRlbSBpZiB0
aGlzIEpTIHdhcyBjYWxsZWQgdmlhIGEgdXNlciBnZXN0dXJlCi0gICAgYm9vbCB1c2VyR2VzdHVy
ZSA9IHN0YXRpY19jYXN0PFNjcmlwdEludGVycHJldGVyKj4oZXhlYy0+ZHluYW1pY0ludGVycHJl
dGVyKCkpLT53YXNSdW5CeVVzZXJHZXN0dXJlKCk7Ci0gICAgZnJhbWUtPmxvYWRlcigpLT5zY2hl
ZHVsZUxvY2F0aW9uQ2hhbmdlKHN0ciwgYWN0aXZlRnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1Jl
ZmVycmVyKCksICF1c2VyR2VzdHVyZSk7CisgICAgLy8gV2UgYWx3YXlzIHdhbnQgYSBuZXcgaGlz
dG9yeSBpdGVtIHdoZW4gYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uLgorICAgIGZyYW1l
LT5sb2FkZXIoKS0+c2NoZWR1bGVMb2NhdGlvbkNoYW5nZShzdHIsIGFjdGl2ZUZyYW1lLT5sb2Fk
ZXIoKS0+b3V0Z29pbmdSZWZlcnJlcigpLCBmYWxzZSwgdHJ1ZSk7CiB9CiAKIC8vIEN1c3RvbSBm
dW5jdGlvbnMKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzODMzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDctMDYtMjggIE1hdHQgUGVy
cnkgIDxtcENvbXBsZXRlQGdtYWlsLmNvbT4KKworICAgICAgICBGaXggZm9yIEJ1Z3ppbGxhIGJ1
ZyAxMzQwMCwgTm8gYmFjayBlbnRyeSBjcmVhdGVkIGZvciBuYXZpZ2F0aW9ucyBjcmVhdGVkIGJ5
IGFzc2lnbmluZyB0byBkb2N1bWVudC5sb2NhdGlvbgorCisgICAgICAgIFRlc3QgdGhhdCBhc3Np
Z25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24gaW4gdmFyaW91cyB3YXlzIGFkZHMgYW4KKyAgICAg
ICAgaXRlbSB0byB0aGUgYmFjay9mb3J3YXJkIGxpc3QuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2st
dGltZW91dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdh
dGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24t
bW91c2VvdmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxv
Y2F0aW9uLW9ubG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRp
b24vcmVzb3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzOiBBZGRlZC4KKwogMjAwNy0wNi0yNyAg
SnVzdGluIEdhcmNpYSAgPGp1c3Rpbi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEpvaG4uCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9j
dW1lbnQtbG9jYXRpb24tY2xpY2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
ZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYgQEAKK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24g
ZnJvbSBhIGJ1dHRvbiBjbGljayBhZGRzIGEgYmFjay9mb3J3YXJkIGl0ZW0uIE5hdmlnYXRlCisK
Kz09PT09PT09PT09PT09IEJhY2sgRm9yd2FyZCBMaXN0ID09PT09PT09PT09PT09CisgICAgICAg
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNr
Lmh0bWwgICoqbmF2IHRhcmdldCoqCitjdXJyLT4gIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZp
Z2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLmh0bWw/MSAgKipuYXYgdGFyZ2V0KioKKz09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2stdGlt
ZW91dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50
LWxvY2F0aW9uLWNsaWNrLXRpbWVvdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYgQEAKK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24g
ZnJvbSBhIHRpbWVvdXQgaW4gYSBidXR0b24gY2xpY2sgYWRkcyBhIGJhY2svZm9yd2FyZCBpdGVt
LiBOYXZpZ2F0ZQorCis9PT09PT09PT09PT09PSBCYWNrIEZvcndhcmQgTGlzdCA9PT09PT09PT09
PT09PQorICAgICAgICBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9kb2N1bWVudC1s
b2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWwgICoqbmF2IHRhcmdldCoqCitjdXJyLT4gIGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLXRpbWVv
dXQuaHRtbD8xICAqKm5hdiB0YXJnZXQqKgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLWNsaWNrLXRp
bWVvdXQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGljay10aW1lb3V0Lmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rv
Y3VtZW50LWxvY2F0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgLy8gU2ltdWxhdGUgY2xpY2tpbmcgdGhlIE5hdmlnYXRlIGJ1dHRvbi4KKyAg
ICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdmlnYXRlIik7CisgICAg
dmFyIHggPSBidXR0b24ub2Zmc2V0TGVmdCArIGJ1dHRvbi5vZmZzZXRXaWR0aCAvIDI7CisgICAg
dmFyIHkgPSBidXR0b24ub2Zmc2V0VG9wICsgYnV0dG9uLm9mZnNldEhlaWdodCAvIDI7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7IAorICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsgCisgIH0KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBhc3NpZ25pbmcgdG8g
ZG9jdW1lbnQubG9jYXRpb24gZnJvbSBhIHRpbWVvdXQgaW4gYSBidXR0b24gY2xpY2sKK2FkZHMg
YSBiYWNrL2ZvcndhcmQgaXRlbS4KKzxidXR0b24gb25jbGljaz0ic2V0VGltZW91dCgnc2V0TG9j
YXRpb24oKScsIDApIiBpZD0ibmF2aWdhdGUiPk5hdmlnYXRlPC9idXR0b24+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQt
bG9jYXRpb24tY2xpY2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tY2xpY2suaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1jbGlj
ay5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIC8vIFNpbXVsYXRlIGNsaWNraW5nIHRo
ZSBOYXZpZ2F0ZSBidXR0b24uCisgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJuYXZpZ2F0ZSIpOworICAgIHZhciB4ID0gYnV0dG9uLm9mZnNldExlZnQgKyBidXR0b24u
b2Zmc2V0V2lkdGggLyAyOworICAgIHZhciB5ID0gYnV0dG9uLm9mZnNldFRvcCArIGJ1dHRvbi5v
ZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOyAKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7IAor
ICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CitUaGlzIHRl
c3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uIGZyb20gYSBidXR0b24gY2xp
Y2sgYWRkcyBhCitiYWNrL2ZvcndhcmQgaXRlbS4KKzxidXR0b24gb25jbGljaz0ic2V0TG9jYXRp
b24oKSIgaWQ9Im5hdmlnYXRlIj5OYXZpZ2F0ZTwvYnV0dG9uPgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9u
LW1vdXNlb3Zlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1l
bnQtbG9jYXRpb24tbW91c2VvdmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw2IEBACitUaGlzIHRlc3RzIHRoYXQgYXNzaWduaW5nIHRvIGRvY3VtZW50LmxvY2F0aW9uIGZy
b20gYSBidXR0b24gY2xpY2sgYWRkcyBhIGJhY2svZm9yd2FyZCBpdGVtLiBOYXZpZ2F0ZQorCis9
PT09PT09PT09PT09PSBCYWNrIEZvcndhcmQgTGlzdCA9PT09PT09PT09PT09PQorICAgICAgICBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1tb3VzZW92
ZXIuaHRtbCAgKipuYXYgdGFyZ2V0KioKK2N1cnItPiAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL25h
dmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tbW91c2VvdmVyLmh0bWw/MSAgKipuYXYgdGFyZ2V0
KioKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tbW91
c2VvdmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW1vdXNlb3Zl
ci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIC8vIFNpbXVsYXRlIG1vdXNpbmcgb3Zl
ciB0aGUgTmF2aWdhdGUgYnV0dG9uLgorICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibmF2aWdhdGUiKTsKKyAgICB2YXIgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgYnV0
dG9uLm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyBidXR0
b24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygwLCAwKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0
byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgYnV0dG9uIGNsaWNrIGFkZHMgYQorYmFjay9mb3J3
YXJkIGl0ZW0uCis8YnV0dG9uIG9ubW91c2VvdmVyPSJzZXRMb2NhdGlvbigpIiBpZD0ibmF2aWdh
dGUiPk5hdmlnYXRlPC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZG9j
dW1lbnQtbG9jYXRpb24tb25sb2FkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKK1RoaXMgdGVzdHMgdGhhdCBh
c3NpZ25pbmcgdG8gZG9jdW1lbnQubG9jYXRpb24gZnJvbSBhIHRpbWVvdXQgZnJvbSB0aGUgb25s
b2FkIGhhbmRsZXIgYWRkcyBhIGJhY2svZm9yd2FyZCBpdGVtLgorCis9PT09PT09PT09PT09PSBC
YWNrIEZvcndhcmQgTGlzdCA9PT09PT09PT09PT09PQorICAgICAgICBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2NhdGlvbi1vbmxvYWQuaHRtbCAgKipuYXYgdGFy
Z2V0KioKK2N1cnItPiAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vZG9jdW1lbnQt
bG9jYXRpb24tb25sb2FkLmh0bWw/MSAgKipuYXYgdGFyZ2V0KioKKz09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vZG9jdW1lbnQtbG9jYXRpb24tb25sb2FkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxvY2F0aW9uLW9u
bG9hZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2RvY3VtZW50LWxvY2F0aW9uLW9ubG9hZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kb2N1bWVudC1s
b2NhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIHNldFRpbWVvdXQoJ3NldExvY2F0aW9uKCknLCAwKTsKKyAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGFzc2lnbmluZyB0
byBkb2N1bWVudC5sb2NhdGlvbiBmcm9tIGEgdGltZW91dCBmcm9tIHRoZSBvbmxvYWQKK2hhbmRs
ZXIgYWRkcyBhIGJhY2svZm9yd2FyZCBpdGVtLgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9kb2N1bWVudC1sb2NhdGlv
bi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVz
b3VyY2VzL2RvY3VtZW50LWxvY2F0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9kb2N1bWVudC1sb2NhdGlvbi5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorZnVuY3Rpb24gc3RhcnQoKSB7CisgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICB2YXIgbiA9IGRvY3VtZW50LmxvY2F0aW9u
LnNlYXJjaC5zdWJzdHJpbmcoMSk7CisgICAgaWYgKCFuKSB7CisgICAgICAvLyBwYWdlIGp1c3Qg
b3BlbmVkCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQmFja0ZvcndhcmRMaXN0KCk7
CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIHJ1blRlc3QoKTsKKyAgICB9
IGVsc2UgeworICAgICAgLy8gbG9hZGVkIHRoZSA/MSBuYXZpZ2F0aW9uCisgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIHNl
dExvY2F0aW9uKCkgeworICBkb2N1bWVudC5sb2NhdGlvbiA9ICI/MSIKK30KKwo=
</data>
<flag name="review"
          id="6335"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>