<?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>75523</bug_id>
          
          <creation_ts>2012-01-03 21:46:35 -0800</creation_ts>
          <short_desc>Unify and modernize fast/css/{outline,background}-currentcolor.html</short_desc>
          <delta_ts>2012-04-04 17:00:50 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73180</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Barr">davidbarr</reporter>
          <assigned_to name="David Barr">davidbarr</assigned_to>
          <cc>dbates</cc>
    
    <cc>mikelawther</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>529322</commentid>
    <comment_count>0</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-01-03 21:46:35 -0800</bug_when>
    <thetext>Unify and modernize fast/css/{outline,background}-currentcolor.html
These tests are nearly identical bar small style and javascript differences.
They also duplicate functionality of js-test-pre.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593192</commentid>
    <comment_count>1</comment_count>
      <attachid>135027</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-04-01 23:21:07 -0700</bug_when>
    <thetext>Created attachment 135027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593221</commentid>
    <comment_count>2</comment_count>
      <attachid>135027</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-04-02 00:27:45 -0700</bug_when>
    <thetext>Comment on attachment 135027
Patch

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

&gt; LayoutTests/ChangeLog:7
&gt; +        Unify and modernize fast/css/{outline,background}-currentcolor.html
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=75523
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

This bug title isn&apos;t sufficiently descriptive of this change. Can you elaborate on how your proposed change unifies and modernizes these tests?

Maybe adding a description can help clarify the bug title and explain the motivation behind making these changes. You may want to say something like:

Use js-test-pre utility functions instead of hardcoded testing logic in fast/css/{outline, background}-currentcolor.html so as to simplify the test code and make the test more closely conform to the visual appearance of other PASS/FAIL tests.

&gt; LayoutTests/fast/css/background-currentcolor.html:3
&gt; +#test div { height: 5em; width: 10em; margin-bottom: 1em; }

This is OK as-as. That being said, we&apos;re underutilizing the class=&quot;test&quot; in the markup (below). We can a class selector here instead of a descendent selector to match the same set of elements. If you choose to use a descendent selector then we should remove the &apos;class=&quot;test&quot;&apos; from the markup since it isn&apos;t being used.

&gt; LayoutTests/fast/css/background-currentcolor.html:6
&gt; +&lt;div id=&quot;test&quot;&gt;

Can we come up with a better name for this? Maybe, test-container?

&gt; LayoutTests/fast/css/background-currentcolor.html:9
&gt; +&lt;div class=&quot;test&quot; id=&quot;one&quot; style=&quot;color:green; background: currentColor&quot; &gt;&lt;/div&gt;
&gt; +&lt;div class=&quot;test&quot; id=&quot;two&quot; style=&quot;color:red; background: currentColor&quot; &gt;&lt;/div&gt;
&gt; +&lt;div class=&quot;test&quot; style=&quot;color:green&quot;&gt;

We&apos;re underutilizing the class &quot;test&quot; here. Currently we match these elements using the descendent selector, #test div. We should either match these element using a class selector or remove the class attribute. See my remark on #test div (above) for more details.

&gt; LayoutTests/fast/css/background-currentcolor.html:13
&gt; +&lt;p id=&quot;description&quot;&gt;Test that background-color is non-inherit and currentColor is handled correctly. The test passes if 3 boxes with green backgrounds are displayed.&lt;/p&gt;

As can be seen in the expected results, LayoutTests/fast/css/background-currentcolor-expected.txt, the text &quot;TEST COMPLETE&quot; is above the test description because there isn&apos;t an explicit &lt;div id=&quot;console&quot;&gt;&lt;/div&gt; in the markup; =&gt; js-test-pre.js will insert such an element above &lt;div id=&quot;test&quot;&gt;. This makes both the test case and its expected results look weird and inconsistent with the output of other PASS/FAIL tests. I suggest that either we use description() (*) or explicitly declare &lt;div id=&quot;console&quot;&gt;&lt;/div&gt; after &lt;div id=&quot;test&quot;&gt; in the markup such that the text &quot;TEST COMPLETE&quot; is the last line of text in the expected results file.

(*) &lt;http://trac.webkit.org/browser/trunk/LayoutTests/fast/js/resources/js-test-pre.js?rev=110650#L28&gt;

&gt; LayoutTests/fast/css/outline-currentcolor.html:13
&gt; +&lt;p id=&quot;description&quot;&gt;Test that outline-color is non-inherit and currentColor is handled correctly. The test passes if 3 boxes with green outlines are displayed.&lt;/p&gt;

As can be seen in the expected results, LayoutTests/fast/css/outline-currentcolor-expected.txt, the text &quot;TEST COMPLETE&quot; is above the test description. This looks weird. See my remark for the descriptive text in file background-currentcolor.html for more details.

&gt; LayoutTests/fast/css/outline-currentcolor.html:21
&gt; +var two = document.getElementById(&quot;two&quot;);
&gt; +var three = document.getElementById(&quot;three&quot;);
&gt; +two.style.color = &quot;green&quot;;
&gt; +shouldBeEqualToString(&apos;window.getComputedStyle(two)[&quot;&apos; + property + &apos;&quot;]&apos;, &apos;rgb(0, 128, 0)&apos;);
&gt; +shouldBeEqualToString(&apos;window.getComputedStyle(three).color&apos;, &apos;rgb(0, 128, 0)&apos;);

This code is identical to code in file LayoutTests/fast/css/background-currentcolor.html. Maybe we should consider extracting this code into a common</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593226</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-04-02 00:31:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; LayoutTests/fast/css/outline-currentcolor.html:21
&gt; &gt; +var two = document.getElementById(&quot;two&quot;);
&gt; &gt; +var three = document.getElementById(&quot;three&quot;);
&gt; &gt; +two.style.color = &quot;green&quot;;
&gt; &gt; +shouldBeEqualToString(&apos;window.getComputedStyle(two)[&quot;&apos; + property + &apos;&quot;]&apos;, &apos;rgb(0, 128, 0)&apos;);
&gt; &gt; +shouldBeEqualToString(&apos;window.getComputedStyle(three).color&apos;, &apos;rgb(0, 128, 0)&apos;);
&gt; 
&gt; This code is identical to code in file LayoutTests/fast/css/background-currentcolor.html. Maybe we should consider extracting this code into a common

*into a common function. Although, this could be overkill given the length of this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593229</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-04-02 00:33:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; LayoutTests/fast/css/background-currentcolor.html:3
&gt; &gt; +#test div { height: 5em; width: 10em; margin-bottom: 1em; }
&gt; 
&gt; This is OK as-as. That being said, we&apos;re underutilizing the class=&quot;test&quot; in the markup (below). We can a class selector here...

*use a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595248</commentid>
    <comment_count>5</comment_count>
      <attachid>135513</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-04-03 22:06:08 -0700</bug_when>
    <thetext>Created attachment 135513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595253</commentid>
    <comment_count>6</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-04-03 22:22:42 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; This code is identical to code in file LayoutTests/fast/css/background-currentcolor.html.
&gt; Maybe we should consider extracting this code into a common function.
&gt; Although, this could be overkill given the length of this code.

After refining this part of the tests, the resulting code is short and structured
enough that extracting the common code does seem to be overkill.

(In reply to comment #4)
&gt; &gt; LayoutTests/fast/css/background-currentcolor.html:3
&gt; &gt; +#test div { height: 5em; width: 10em; margin-bottom: 1em; }
&gt; 
&gt; This is OK as-is. That being said, we&apos;re underutilizing the class=&quot;test&quot;
&gt; in the markup (below). We can use a class selector here...

This styling was for presentation not critical to the test.
After s/#test/&amp;-container/, this is unnecessary as the
div is removed on completion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595276</commentid>
    <comment_count>7</comment_count>
      <attachid>135513</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-04-03 23:51:26 -0700</bug_when>
    <thetext>Comment on attachment 135513
Patch

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

&gt; LayoutTests/ChangeLog:10
&gt; +        Reviewed by NOBODY (OOPS!).

Nit: The Reviewed by line should be after the bug URL.

&gt; LayoutTests/fast/css/background-currentcolor.html:9
&gt; +  &lt;div id=&quot;test1&quot; style=&quot;color:green; background: currentColor&quot;/&gt;
&gt; +  &lt;div id=&quot;test2&quot; style=&quot;color:red; background: currentColor&quot;/&gt;
&gt;    &lt;div style=&quot;color:green&quot;&gt;
&gt; -    &lt;div id=&quot;three&quot; style=&quot;color:currentColor; background: currentColor&quot; &gt;&lt;/div&gt;
&gt; +    &lt;div id=&quot;test3&quot; style=&quot;color:currentColor; background: currentColor&quot;/&gt;

This HTML5 markup is invalid as a &lt;div&gt; doesn&apos;t self-close. That is, you must explicitly specify a &lt;/div&gt;.

&gt; LayoutTests/fast/css/outline-currentcolor.html:9
&gt; +  &lt;div id=&quot;test1&quot; id=&quot;one&quot; style=&quot;color:green; outline: solid 1em currentColor&quot;/&gt;
&gt; +  &lt;div id=&quot;test2&quot; id=&quot;two&quot; style=&quot;color:red; outline: solid 1em currentColor&quot;/&gt;
&gt;    &lt;div style=&quot;color:green&quot;&gt;
&gt; -    &lt;div id=&quot;three&quot; style=&quot;color:currentColor; outline: solid 1em currentColor&quot; &gt;&lt;/div&gt;
&gt; +    &lt;div id=&quot;test3&quot; style=&quot;color:currentColor; outline: solid 1em currentColor&quot;/&gt;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595278</commentid>
    <comment_count>8</comment_count>
      <attachid>135523</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-04-03 23:58:37 -0700</bug_when>
    <thetext>Created attachment 135523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596096</commentid>
    <comment_count>9</comment_count>
      <attachid>135523</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-04-04 16:46:47 -0700</bug_when>
    <thetext>Comment on attachment 135523
Patch

Thanks for updating the patch. Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596110</commentid>
    <comment_count>10</comment_count>
      <attachid>135523</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 17:00:45 -0700</bug_when>
    <thetext>Comment on attachment 135523
Patch

Clearing flags on attachment: 135523

Committed r113265: &lt;http://trac.webkit.org/changeset/113265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596111</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 17:00:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135027</attachid>
            <date>2012-04-01 23:21:07 -0700</date>
            <delta_ts>2012-04-03 22:06:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75523-20120402162105.patch</filename>
            <type>text/plain</type>
            <size>8207</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODIxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTc3MjMyNDk0NWM0ZDhkZDkxMjdm
OGRkY2YzNGUwZDUwYWFkYmM3MC4uN2UxN2E1NjlkZTU1YThmNjNiZDA2MmIwNzZkYjJjZTA5MTZh
ZWJhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTAxICBEYXZpZCBCYXJyICA8ZGF2
aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBVbmlmeSBhbmQgbW9kZXJuaXplIGZhc3Qv
Y3NzL3tvdXRsaW5lLGJhY2tncm91bmR9LWN1cnJlbnRjb2xvci5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvYmFja2dyb3VuZC1j
dXJyZW50Y29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2JhY2tncm91bmQt
Y3VycmVudGNvbG9yLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50Y29s
b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9y
Lmh0bWw6CisKIDIwMTItMDQtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI3NjAuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xvci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xvci1leHBlY3RlZC50eHQK
aW5kZXggNTNjZGYxZTkzOTMyY2ExNzQyNWEzNGVjMWE2MTVhODNkZjM4YmFkOS4uMjI1NmZlYzk0
MDQ2NWQwMzAzYjAyZGFiNGYyNzJmOWFmNDNmZDg3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50Y29sb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLWV4cGVjdGVkLnR4dApAQCAt
MSArMSw2IEBACi1QQVNTRUQKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUodHdvKVsiYmFj
a2dyb3VuZENvbG9yIl0gaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZSh0aHJlZSkuY29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitUZXN0IHRoYXQgYmFja2dyb3VuZC1j
b2xvciBpcyBub24taW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29ycmVjdGx5
LiBUaGUgdGVzdCBwYXNzZXMgaWYgMyBib3hlcyB3aXRoIGdyZWVuIGJhY2tncm91bmRzIGFyZSBk
aXNwbGF5ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1
cnJlbnRjb2xvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50
Y29sb3IuaHRtbAppbmRleCA1NWQ4ZTU3ZDdhNWExNDkwZjA0YTIyMzkwZjUyMGQ0OWNiZGVmZTEy
Li4wYzJmMTMyYTk1MGFiZjdkY2JiMjA3NTA3NDk0OWY5NDdjYjVlODI0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xvci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLmh0bWwKQEAgLTEsNDAg
KzEsMjMgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAvL0VO
Ij4KLTxodG1sIGxhbmc9ImVuIj4KLSA8aGVhZD4KLSAgPHRpdGxlPmN1cnJlbnRDb2xvciBiYXNp
YyB0ZXN0PC90aXRsZT4KLSA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgZGl2IHsgaGVpZ2h0
OiA1ZW07IHdpZHRoOiAxMGVtOyB9Ci0gICAjdGhyZWUgeyBjb2xvcjogYmx1ZTsgfQotICA8L3N0
eWxlPgotICA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKSB7Ci0gICAgICB2YXIg
Y29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Ci0gICAgICBjb25z
b2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7
Ci0gICAgfQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSAKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0d28iKTsKLSAg
ICAgIGRpdi5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgICBpZiAod2luZG93LmdldENvbXB1
dGVkU3R5bGUoZGl2KS5iYWNrZ3JvdW5kQ29sb3IgIT0gInJnYigwLCAxMjgsIDApIikgewotICAg
ICAgICAgIGxvZygiRkFJTEVEIik7Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAg
ZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRocmVlIik7Ci0gICAgICBpZiAod2luZG93
LmdldENvbXB1dGVkU3R5bGUoZGl2KS5jb2xvciAhPSAicmdiKDAsIDEyOCwgMCkiKSB7Ci0gICAg
ICAgICAgbG9nKCJGQUlMRUQiKTsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBs
b2coIlBBU1NFRCIpOwotICAgIH0KLSAgPC9zY3JpcHQ+Ci0gPC9oZWFkPgotIDxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLSAgPGRpdiBpZD0ib25lIiBzdHlsZT0iY29sb3I6Z3JlZW47IGJhY2tn
cm91bmQ6IGN1cnJlbnRDb2xvciIgPjwvZGl2PgotICA8ZGl2IGlkPSJ0d28iIHN0eWxlPSJjb2xv
cjpyZWQ7IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvciIgPjwvZGl2PgotICA8ZGl2IHN0eWxlPSJj
b2xvcjpncmVlbiI+Ci0gICAgPGRpdiBpZD0idGhyZWUiIHN0eWxlPSJjb2xvcjpjdXJyZW50Q29s
b3I7IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvciIgPjwvZGl2PgotICA8L2Rpdj4KLSAgPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Ci0gPC9ib2R5PgotPC9odG1sPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKyN0ZXN0IHsgbWFyZ2luOiAyZW07IH0KKyN0ZXN0IGRpdiB7IGhlaWdodDogNWVtOyB3
aWR0aDogMTBlbTsgbWFyZ2luLWJvdHRvbTogMWVtOyB9CisjdGhyZWUgeyBjb2xvcjogYmx1ZTsg
fQorPC9zdHlsZT4KKzxkaXYgaWQ9InRlc3QiPgorPGRpdiBjbGFzcz0idGVzdCIgaWQ9Im9uZSIg
c3R5bGU9ImNvbG9yOmdyZWVuOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3IiID48L2Rpdj4KKzxk
aXYgY2xhc3M9InRlc3QiIGlkPSJ0d28iIHN0eWxlPSJjb2xvcjpyZWQ7IGJhY2tncm91bmQ6IGN1
cnJlbnRDb2xvciIgPjwvZGl2PgorPGRpdiBjbGFzcz0idGVzdCIgc3R5bGU9ImNvbG9yOmdyZWVu
Ij4KKyAgPGRpdiBpZD0idGhyZWUiIHN0eWxlPSJjb2xvcjpjdXJyZW50Q29sb3I7IGJhY2tncm91
bmQ6IGN1cnJlbnRDb2xvciIgPjwvZGl2PgorPC9kaXY+Cis8L2Rpdj4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGVzdCB0aGF0IGJhY2tncm91bmQtY29sb3IgaXMgbm9uLWluaGVyaXQgYW5kIGN1cnJl
bnRDb2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4gVGhlIHRlc3QgcGFzc2VzIGlmIDMgYm94ZXMg
d2l0aCBncmVlbiBiYWNrZ3JvdW5kcyBhcmUgZGlzcGxheWVkLjwvcD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordmFyIHByb3BlcnR5ID0gJ2JhY2tncm91bmRDb2xvcic7Cit2YXIgdHdvID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInR3byIpOwordmFyIHRocmVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRocmVlIik7Cit0d28uc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0d28pWyInICsgcHJvcGVydHkgKyAnIl0n
LCAncmdiKDAsIDEyOCwgMCknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENv
bXB1dGVkU3R5bGUodGhyZWUpLmNvbG9yJywgJ3JnYigwLCAxMjgsIDApJyk7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50
Y29sb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50
Y29sb3ItZXhwZWN0ZWQudHh0CmluZGV4IDA1N2JiNjA1ZmZiNjJhZjRjYmIyZjYwZWI1YWNkYWEx
YjhjODBhZDAuLmNmYzc4ZjA2OGViYmY1N2IxZWY4ZGIyNjRlMjhlMzY2NWZlMWFmNjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci1leHBl
Y3RlZC50eHQKQEAgLTEsMiArMSw2IEBACi1UZXN0IHRoYXQgb3V0bGluZS1jb2xvciBpcyBub24t
aW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29ycmVjdGx5LiBUaGUgdGVzdCBw
YXNzZXMgaWYgMyBib3hlcyB3aXRoIGdyZWVuIG91dGxpbmVzIGZvbGxvd2VkIGJ5IHRoZSB0ZXh0
ICJQQVNTIiBhcmUgZGlzcGxheWVkIGJlbG93LgotUEFTUworUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZSh0d28pWyJvdXRsaW5lQ29sb3IiXSBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHRocmVlKS5jb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1Rlc3QgdGhh
dCBvdXRsaW5lLWNvbG9yIGlzIG5vbi1pbmhlcml0IGFuZCBjdXJyZW50Q29sb3IgaXMgaGFuZGxl
ZCBjb3JyZWN0bHkuIFRoZSB0ZXN0IHBhc3NlcyBpZiAzIGJveGVzIHdpdGggZ3JlZW4gb3V0bGlu
ZXMgYXJlIGRpc3BsYXllZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxp
bmUtY3VycmVudGNvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJl
bnRjb2xvci5odG1sCmluZGV4IGM2YTYxNzFmYTE4OTc0NzJjNzMwZDU0NzcyOWNjODFiNzFhODc1
NDUuLjA3ZGQ4MWYwYzcyZjcxNTA0MjM1Y2Q2ZDNkN2U5ZTIzZmRjNjBlYTMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50Y29sb3IuaHRtbApAQCAtMSw0MyArMSwy
MyBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPgot
PGh0bWwgbGFuZz0iZW4iPgotIDxoZWFkPgotICA8dGl0bGU+b3V0bGluZUNvbG9yIG5vdCBpbmhl
cml0IGFuZCBhY2NlcHRzIGN1cnJlbnRDb2xvcjwvdGl0bGU+Ci0gIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+Ci0gICBkaXYgeyBoZWlnaHQ6IDNlbTsgd2lkdGg6IDI1ZW07IG1hcmdpbi1ib3R0b206
IDNlbX0KLSAgIGJvZHkgeyBtYXJnaW46IDJlbTsgfQotICAgI3RocmVlIHsgY29sb3I6IGJsdWU7
IH0KLSAgPC9zdHlsZT4KLSAgPHNjcmlwdD4KLSAgICAvLyBGSVhNRTogV0s3NTUyMzsgcmUtd3Jp
dGUgdGhpcyBhbmQgYmFja2dyb3VuZC1jdXJyZW50Y29sb3IuaHRtbCB0byB1c2UganMtdGVzdC1w
cmUuanMKLSAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkgewotICAgICAgdmFyIGNvbnNvbGUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOwotICAgICAgY29uc29sZS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwotICAgIH0KLSAg
ICBmdW5jdGlvbiBydW5UZXN0KHByb3BlcnR5KSB7Ci0gICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIpOwotICAgICAg
ZGl2LnN0eWxlLmNvbG9yID0gImdyZWVuIjsKLSAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpW3Byb3BlcnR5XSAhPSAicmdiKDAsIDEyOCwgMCkiKSB7Ci0gICAgICAgICAgbG9n
KCJGQUlMIik7Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRocmVlIik7Ci0gICAgICBpZiAod2luZG93LmdldENvbXB1dGVk
U3R5bGUoZGl2KS5jb2xvciAhPSAicmdiKDAsIDEyOCwgMCkiKSB7Ci0gICAgICAgICAgbG9nKCJG
QUlMIik7Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAgfQotICAgICAgbG9nKCJQQVNTIik7Ci0g
ICAgfQotICA8L3NjcmlwdD4KLSA8L2hlYWQ+Ci0gPGJvZHkgb25sb2FkPSJydW5UZXN0KCdvdXRs
aW5lQ29sb3InKSI+Ci0gIDxkaXY+VGVzdCB0aGF0IG91dGxpbmUtY29sb3IgaXMgbm9uLWluaGVy
aXQgYW5kIGN1cnJlbnRDb2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4gVGhlIHRlc3QgcGFzc2Vz
IGlmIDMgYm94ZXMgd2l0aCBncmVlbiBvdXRsaW5lcyBmb2xsb3dlZCBieSB0aGUgdGV4dCAiUEFT
UyIgYXJlIGRpc3BsYXllZCBiZWxvdy48L2Rpdj4KLSAgPGRpdiBpZD0ib25lIiBzdHlsZT0iY29s
b3I6Z3JlZW47IG91dGxpbmU6IHNvbGlkIDFlbSBjdXJyZW50Q29sb3IiID48L2Rpdj4KLSAgPGRp
diBpZD0idHdvIiBzdHlsZT0iY29sb3I6cmVkOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVudENv
bG9yIiA+PC9kaXY+Ci0gIDxkaXYgc3R5bGU9ImNvbG9yOmdyZWVuIj4KLSAgICA8ZGl2IGlkPSJ0
aHJlZSIgc3R5bGU9ImNvbG9yOmN1cnJlbnRDb2xvcjsgb3V0bGluZTogc29saWQgMWVtIGN1cnJl
bnRDb2xvciIgPjwvZGl2PgotICA8L2Rpdj4KLSAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0g
PC9ib2R5PgotPC9odG1sPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyN0ZXN0IHsgbWFyZ2lu
OiAyZW07IH0KKyN0ZXN0IGRpdiB7IGhlaWdodDogM2VtOyB3aWR0aDogMjVlbTsgbWFyZ2luLWJv
dHRvbTogM2VtOyB9CisjdGhyZWUgeyBjb2xvcjogYmx1ZTsgfQorPC9zdHlsZT4KKzxkaXYgaWQ9
InRlc3QiPgorPGRpdiBjbGFzcz0idGVzdCIgaWQ9Im9uZSIgc3R5bGU9ImNvbG9yOmdyZWVuOyBv
dXRsaW5lOiBzb2xpZCAxZW0gY3VycmVudENvbG9yIiA+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0ZXN0
IiBpZD0idHdvIiBzdHlsZT0iY29sb3I6cmVkOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVudENv
bG9yIiA+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ0ZXN0IiBzdHlsZT0iY29sb3I6Z3JlZW4iPgorICA8
ZGl2IGlkPSJ0aHJlZSIgc3R5bGU9ImNvbG9yOmN1cnJlbnRDb2xvcjsgb3V0bGluZTogc29saWQg
MWVtIGN1cnJlbnRDb2xvciIgPjwvZGl2PgorPC9kaXY+Cis8L2Rpdj4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+VGVzdCB0aGF0IG91dGxpbmUtY29sb3IgaXMgbm9uLWluaGVyaXQgYW5kIGN1cnJlbnRD
b2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4gVGhlIHRlc3QgcGFzc2VzIGlmIDMgYm94ZXMgd2l0
aCBncmVlbiBvdXRsaW5lcyBhcmUgZGlzcGxheWVkLjwvcD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFy
IHByb3BlcnR5ID0gJ291dGxpbmVDb2xvcic7Cit2YXIgdHdvID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInR3byIpOwordmFyIHRocmVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRocmVl
Iik7Cit0d28uc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0d28pWyInICsgcHJvcGVydHkgKyAnIl0nLCAncmdiKDAs
IDEyOCwgMCknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5
bGUodGhyZWUpLmNvbG9yJywgJ3JnYigwLCAxMjgsIDApJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135513</attachid>
            <date>2012-04-03 22:06:08 -0700</date>
            <delta_ts>2012-04-03 23:58:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75523-20120404150606.patch</filename>
            <type>text/plain</type>
            <size>8382</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhiMzAyYThmZmY5Y2M4ZjVjMzY4
ZTFlNDdiYzIyMWM1MDc3MGI1NC4uMTY0NjY2M2RhZTI5YjdkNmMxOTE1YWNiNzhhMjZiMjg3ODc4
NmRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTA0ICBEYXZpZCBCYXJyICA8ZGF2
aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBVbmlmeSBhbmQgbW9kZXJuaXplIGZhc3Qv
Y3NzL3tvdXRsaW5lLGJhY2tncm91bmR9LWN1cnJlbnRjb2xvci5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyMworCisgICAgICAgIFVzZSBq
cy10ZXN0LXByZSB1dGlsaXR5IGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCB0ZXN0aW5n
IGxvZ2ljCisgICAgICAgIHRvIHNpbXBsaWZ5IHRoZSB0ZXN0IGNvZGUgYW5kIG1ha2UgdGhlIHRl
c3QgbW9yZSBjbG9zZWx5IGNvbmZvcm0gdG8KKyAgICAgICAgdGhlIHZpc3VhbCBhcHBlYXJhbmNl
IG9mIG90aGVyIFBBU1MvRkFJTCB0ZXN0cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xvci5o
dG1sOgorICAgICAgICAqIGZhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci5odG1sOgorCiAyMDEy
LTA0LTAzICBBbWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
TGF5b3V0IFRlc3QgbWVkaWEvdmlkZW8tc291cmNlLWVycm9yLmh0bWwgaXMgZmxha3kgb24gY3It
d2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRj
b2xvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJl
bnRjb2xvci1leHBlY3RlZC50eHQKaW5kZXggNTNjZGYxZTkzOTMyY2ExNzQyNWEzNGVjMWE2MTVh
ODNkZjM4YmFkOS4uYjQ5N2VhMWE2NDU0ZjliYTIxM2UwZWQ3NTVlODBjZTY4NjVmYjQ5NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50Y29sb3ItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNv
bG9yLWV4cGVjdGVkLnR4dApAQCAtMSArMSwxMiBAQAotUEFTU0VECitUZXN0IHRoYXQgYmFja2dy
b3VuZC1jb2xvciBpcyBub24taW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29y
cmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRlc3QxKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHRlc3QyKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDAp
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QzKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigw
LCAxMjgsIDApIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVu
dGNvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xv
ci5odG1sCmluZGV4IDU1ZDhlNTdkN2E1YTE0OTBmMDRhMjIzOTBmNTIwZDQ5Y2JkZWZlMTIuLjJm
MTk2YWMyMTBlNDllMjRhNjgxNjQxZDJiZTY1N2MxOTRiYjU2MGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50Y29sb3IuaHRtbApAQCAtMSw0MCArMSwy
MyBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPgot
PGh0bWwgbGFuZz0iZW4iPgotIDxoZWFkPgotICA8dGl0bGU+Y3VycmVudENvbG9yIGJhc2ljIHRl
c3Q8L3RpdGxlPgotIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci0gICBkaXYgeyBoZWlnaHQ6IDVl
bTsgd2lkdGg6IDEwZW07IH0KLSAgICN0aHJlZSB7IGNvbG9yOiBibHVlOyB9Ci0gIDwvc3R5bGU+
Ci0gIDxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKLSAgICAgIHZhciBjb25z
b2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKLSAgICAgIGNvbnNvbGUu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLSAg
ICB9Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIpOwotICAgICAg
ZGl2LnN0eWxlLmNvbG9yID0gImdyZWVuIjsKLSAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmJhY2tncm91bmRDb2xvciAhPSAicmdiKDAsIDEyOCwgMCkiKSB7Ci0gICAgICAg
ICAgbG9nKCJGQUlMRUQiKTsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBkaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhyZWUiKTsKLSAgICAgIGlmICh3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmNvbG9yICE9ICJyZ2IoMCwgMTI4LCAwKSIpIHsKLSAgICAgICAg
ICBsb2coIkZBSUxFRCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGxvZygi
UEFTU0VEIik7Ci0gICAgfQotICA8L3NjcmlwdD4KLSA8L2hlYWQ+Ci0gPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotICA8ZGl2IGlkPSJvbmUiIHN0eWxlPSJjb2xvcjpncmVlbjsgYmFja2dyb3Vu
ZDogY3VycmVudENvbG9yIiA+PC9kaXY+Ci0gIDxkaXYgaWQ9InR3byIgc3R5bGU9ImNvbG9yOnJl
ZDsgYmFja2dyb3VuZDogY3VycmVudENvbG9yIiA+PC9kaXY+Cis8IURPQ1RZUEUgaHRtbD4KKzxz
dHlsZT4KKyN0ZXN0MyB7IGNvbG9yOiBibHVlOyB9Cis8L3N0eWxlPgorPGRpdiBpZD0idGVzdC1j
b250YWluZXIiPgorICA8ZGl2IGlkPSJ0ZXN0MSIgc3R5bGU9ImNvbG9yOmdyZWVuOyBiYWNrZ3Jv
dW5kOiBjdXJyZW50Q29sb3IiLz4KKyAgPGRpdiBpZD0idGVzdDIiIHN0eWxlPSJjb2xvcjpyZWQ7
IGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvciIvPgogICA8ZGl2IHN0eWxlPSJjb2xvcjpncmVlbiI+
Ci0gICAgPGRpdiBpZD0idGhyZWUiIHN0eWxlPSJjb2xvcjpjdXJyZW50Q29sb3I7IGJhY2tncm91
bmQ6IGN1cnJlbnRDb2xvciIgPjwvZGl2PgorICAgIDxkaXYgaWQ9InRlc3QzIiBzdHlsZT0iY29s
b3I6Y3VycmVudENvbG9yOyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3IiLz4KICAgPC9kaXY+Ci0g
IDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotIDwvYm9keT4KLTwvaHRtbD4KKzwvZGl2PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGF0IGJhY2tncm91bmQtY29sb3IgaXMg
bm9uLWluaGVyaXQgYW5kIGN1cnJlbnRDb2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4nKTsKK3Zh
ciB0ZXN0MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0MSIpOwordmFyIHRlc3QyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QyIik7Cit2YXIgdGVzdDMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdDMiKTsKK3Rlc3QyLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0MSkuYmFja2dyb3VuZENv
bG9yJywgJ3JnYigwLCAxMjgsIDApJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1
dGVkU3R5bGUodGVzdDIpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMCwgMTI4LCAwKScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKHRlc3QzKS5iYWNrZ3JvdW5kQ29s
b3InLCAncmdiKDAsIDEyOCwgMCknKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci1leHBlY3RlZC50eHQKaW5k
ZXggMDU3YmI2MDVmZmI2MmFmNGNiYjJmNjBlYjVhY2RhYTFiOGM4MGFkMC4uMjZkY2U5YzViMTU2
NGVjZjA5ODNmODBkODUxMzQ3ZTNjYWU4ZWI5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3Mvb3V0bGluZS1jdXJyZW50Y29sb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDEy
IEBACi1UZXN0IHRoYXQgb3V0bGluZS1jb2xvciBpcyBub24taW5oZXJpdCBhbmQgY3VycmVudENv
bG9yIGlzIGhhbmRsZWQgY29ycmVjdGx5LiBUaGUgdGVzdCBwYXNzZXMgaWYgMyBib3hlcyB3aXRo
IGdyZWVuIG91dGxpbmVzIGZvbGxvd2VkIGJ5IHRoZSB0ZXh0ICJQQVNTIiBhcmUgZGlzcGxheWVk
IGJlbG93LgotUEFTUworVGVzdCB0aGF0IG91dGxpbmUtY29sb3IgaXMgbm9uLWluaGVyaXQgYW5k
IGN1cnJlbnRDb2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0MSkub3V0bGluZUNvbG9yIGlz
ICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0Mikub3V0bGluZUNv
bG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0Mykub3V0
bGluZUNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9vdXRsaW5lLWN1cnJlbnRjb2xvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3V0bGlu
ZS1jdXJyZW50Y29sb3IuaHRtbAppbmRleCBjNmE2MTcxZmExODk3NDcyYzczMGQ1NDc3MjljYzgx
YjcxYTg3NTQ1Li4wMzAzNWYzMWFmY2VkM2FlMjRhM2FhYTg3MWMwNjNlYmRjNmEyMTAwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLmh0bWwKQEAgLTEs
NDMgKzEsMjMgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAv
L0VOIj4KLTxodG1sIGxhbmc9ImVuIj4KLSA8aGVhZD4KLSAgPHRpdGxlPm91dGxpbmVDb2xvciBu
b3QgaW5oZXJpdCBhbmQgYWNjZXB0cyBjdXJyZW50Q29sb3I8L3RpdGxlPgotICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgotICAgZGl2IHsgaGVpZ2h0OiAzZW07IHdpZHRoOiAyNWVtOyBtYXJnaW4t
Ym90dG9tOiAzZW19Ci0gICBib2R5IHsgbWFyZ2luOiAyZW07IH0KLSAgICN0aHJlZSB7IGNvbG9y
OiBibHVlOyB9Ci0gIDwvc3R5bGU+Ci0gIDxzY3JpcHQ+Ci0gICAgLy8gRklYTUU6IFdLNzU1MjM7
IHJlLXdyaXRlIHRoaXMgYW5kIGJhY2tncm91bmQtY3VycmVudGNvbG9yLmh0bWwgdG8gdXNlIGpz
LXRlc3QtcHJlLmpzCi0gICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKLSAgICAgIHZhciBjb25z
b2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKLSAgICAgIGNvbnNvbGUu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLSAg
ICB9Ci0gICAgZnVuY3Rpb24gcnVuVGVzdChwcm9wZXJ0eSkgewotICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0d28iKTsK
LSAgICAgIGRpdi5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgICBpZiAod2luZG93LmdldENv
bXB1dGVkU3R5bGUoZGl2KVtwcm9wZXJ0eV0gIT0gInJnYigwLCAxMjgsIDApIikgewotICAgICAg
ICAgIGxvZygiRkFJTCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGRpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aHJlZSIpOwotICAgICAgaWYgKHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRpdikuY29sb3IgIT0gInJnYigwLCAxMjgsIDApIikgewotICAgICAgICAg
IGxvZygiRkFJTCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGxvZygiUEFT
UyIpOwotICAgIH0KLSAgPC9zY3JpcHQ+Ci0gPC9oZWFkPgotIDxib2R5IG9ubG9hZD0icnVuVGVz
dCgnb3V0bGluZUNvbG9yJykiPgotICA8ZGl2PlRlc3QgdGhhdCBvdXRsaW5lLWNvbG9yIGlzIG5v
bi1pbmhlcml0IGFuZCBjdXJyZW50Q29sb3IgaXMgaGFuZGxlZCBjb3JyZWN0bHkuIFRoZSB0ZXN0
IHBhc3NlcyBpZiAzIGJveGVzIHdpdGggZ3JlZW4gb3V0bGluZXMgZm9sbG93ZWQgYnkgdGhlIHRl
eHQgIlBBU1MiIGFyZSBkaXNwbGF5ZWQgYmVsb3cuPC9kaXY+Ci0gIDxkaXYgaWQ9Im9uZSIgc3R5
bGU9ImNvbG9yOmdyZWVuOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVudENvbG9yIiA+PC9kaXY+
Ci0gIDxkaXYgaWQ9InR3byIgc3R5bGU9ImNvbG9yOnJlZDsgb3V0bGluZTogc29saWQgMWVtIGN1
cnJlbnRDb2xvciIgPjwvZGl2PgorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisjdGVzdDMgeyBj
b2xvcjogYmx1ZTsgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRp
diBpZD0idGVzdDEiIGlkPSJvbmUiIHN0eWxlPSJjb2xvcjpncmVlbjsgb3V0bGluZTogc29saWQg
MWVtIGN1cnJlbnRDb2xvciIvPgorICA8ZGl2IGlkPSJ0ZXN0MiIgaWQ9InR3byIgc3R5bGU9ImNv
bG9yOnJlZDsgb3V0bGluZTogc29saWQgMWVtIGN1cnJlbnRDb2xvciIvPgogICA8ZGl2IHN0eWxl
PSJjb2xvcjpncmVlbiI+Ci0gICAgPGRpdiBpZD0idGhyZWUiIHN0eWxlPSJjb2xvcjpjdXJyZW50
Q29sb3I7IG91dGxpbmU6IHNvbGlkIDFlbSBjdXJyZW50Q29sb3IiID48L2Rpdj4KKyAgICA8ZGl2
IGlkPSJ0ZXN0MyIgc3R5bGU9ImNvbG9yOmN1cnJlbnRDb2xvcjsgb3V0bGluZTogc29saWQgMWVt
IGN1cnJlbnRDb2xvciIvPgogICA8L2Rpdj4KLSAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0g
PC9ib2R5PgotPC9odG1sPgorPC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0IHRoYXQgb3V0bGluZS1jb2xvciBpcyBub24taW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlz
IGhhbmRsZWQgY29ycmVjdGx5LicpOwordmFyIHRlc3QxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3QxIik7Cit2YXIgdGVzdDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDIi
KTsKK3ZhciB0ZXN0MyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0MyIpOwordGVzdDIu
c3R5bGUuY29sb3IgPSAiZ3JlZW4iOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRl
ZFN0eWxlKHRlc3QxKS5vdXRsaW5lQ29sb3InLCAncmdiKDAsIDEyOCwgMCknKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0Mikub3V0bGluZUNvbG9yJywgJ3Jn
YigwLCAxMjgsIDApJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUo
dGVzdDMpLm91dGxpbmVDb2xvcicsICdyZ2IoMCwgMTI4LCAwKScpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135523</attachid>
            <date>2012-04-03 23:58:37 -0700</date>
            <delta_ts>2012-04-04 17:00:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75523-20120404165835.patch</filename>
            <type>text/plain</type>
            <size>8412</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDhiMzAyYThmZmY5Y2M4ZjVjMzY4
ZTFlNDdiYzIyMWM1MDc3MGI1NC4uZDAzY2JkNDdhYWFlYmMzZDYxODViNzE2MjcxNjZjY2YxNjVm
MmQ4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA0LTA0ICBEYXZpZCBCYXJyICA8ZGF2
aWRiYXJyQGNocm9taXVtLm9yZz4KKworICAgICAgICBVbmlmeSBhbmQgbW9kZXJuaXplIGZhc3Qv
Y3NzL3tvdXRsaW5lLGJhY2tncm91bmR9LWN1cnJlbnRjb2xvci5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBqcy10ZXN0LXByZSB1dGlsaXR5
IGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCB0ZXN0aW5nIGxvZ2ljCisgICAgICAgIHRv
IHNpbXBsaWZ5IHRoZSB0ZXN0IGNvZGUgYW5kIG1ha2UgdGhlIHRlc3QgbW9yZSBjbG9zZWx5IGNv
bmZvcm0gdG8KKyAgICAgICAgdGhlIHZpc3VhbCBhcHBlYXJhbmNlIG9mIG90aGVyIFBBU1MvRkFJ
TCB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xvci5o
dG1sOgorICAgICAgICAqIGZhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci5odG1sOgorCiAyMDEy
LTA0LTAzICBBbWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
TGF5b3V0IFRlc3QgbWVkaWEvdmlkZW8tc291cmNlLWVycm9yLmh0bWwgaXMgZmxha3kgb24gY3It
d2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRj
b2xvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJl
bnRjb2xvci1leHBlY3RlZC50eHQKaW5kZXggNTNjZGYxZTkzOTMyY2ExNzQyNWEzNGVjMWE2MTVh
ODNkZjM4YmFkOS4uYjQ5N2VhMWE2NDU0ZjliYTIxM2UwZWQ3NTVlODBjZTY4NjVmYjQ5NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50Y29sb3ItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNv
bG9yLWV4cGVjdGVkLnR4dApAQCAtMSArMSwxMiBAQAotUEFTU0VECitUZXN0IHRoYXQgYmFja2dy
b3VuZC1jb2xvciBpcyBub24taW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29y
cmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHRlc3QxKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKHRlc3QyKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDAp
IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKHRlc3QzKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigw
LCAxMjgsIDApIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVu
dGNvbG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9iYWNrZ3JvdW5kLWN1cnJlbnRjb2xv
ci5odG1sCmluZGV4IDU1ZDhlNTdkN2E1YTE0OTBmMDRhMjIzOTBmNTIwZDQ5Y2JkZWZlMTIuLjRm
ODM5OThkYTI4ZjI1ZTgwNGRkMWZjOTg1ZTBlMzkxYTQyNmJiYTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2JhY2tncm91bmQtY3VycmVudGNvbG9yLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvYmFja2dyb3VuZC1jdXJyZW50Y29sb3IuaHRtbApAQCAtMSw0MCArMSwy
MyBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iPgot
PGh0bWwgbGFuZz0iZW4iPgotIDxoZWFkPgotICA8dGl0bGU+Y3VycmVudENvbG9yIGJhc2ljIHRl
c3Q8L3RpdGxlPgotIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci0gICBkaXYgeyBoZWlnaHQ6IDVl
bTsgd2lkdGg6IDEwZW07IH0KLSAgICN0aHJlZSB7IGNvbG9yOiBibHVlOyB9Ci0gIDwvc3R5bGU+
Ci0gIDxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKLSAgICAgIHZhciBjb25z
b2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKLSAgICAgIGNvbnNvbGUu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKLSAg
ICB9Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Ci0gICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIpOwotICAgICAg
ZGl2LnN0eWxlLmNvbG9yID0gImdyZWVuIjsKLSAgICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmJhY2tncm91bmRDb2xvciAhPSAicmdiKDAsIDEyOCwgMCkiKSB7Ci0gICAgICAg
ICAgbG9nKCJGQUlMRUQiKTsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICB9Ci0gICAgICBkaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhyZWUiKTsKLSAgICAgIGlmICh3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmNvbG9yICE9ICJyZ2IoMCwgMTI4LCAwKSIpIHsKLSAgICAgICAg
ICBsb2coIkZBSUxFRCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIGxvZygi
UEFTU0VEIik7Ci0gICAgfQotICA8L3NjcmlwdD4KLSA8L2hlYWQ+Ci0gPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotICA8ZGl2IGlkPSJvbmUiIHN0eWxlPSJjb2xvcjpncmVlbjsgYmFja2dyb3Vu
ZDogY3VycmVudENvbG9yIiA+PC9kaXY+Ci0gIDxkaXYgaWQ9InR3byIgc3R5bGU9ImNvbG9yOnJl
ZDsgYmFja2dyb3VuZDogY3VycmVudENvbG9yIiA+PC9kaXY+Cis8IURPQ1RZUEUgaHRtbD4KKzxz
dHlsZT4KKyN0ZXN0MyB7IGNvbG9yOiBibHVlOyB9Cis8L3N0eWxlPgorPGRpdiBpZD0idGVzdC1j
b250YWluZXIiPgorICA8ZGl2IGlkPSJ0ZXN0MSIgc3R5bGU9ImNvbG9yOmdyZWVuOyBiYWNrZ3Jv
dW5kOiBjdXJyZW50Q29sb3IiPjwvZGl2PgorICA8ZGl2IGlkPSJ0ZXN0MiIgc3R5bGU9ImNvbG9y
OnJlZDsgYmFja2dyb3VuZDogY3VycmVudENvbG9yIj48L2Rpdj4KICAgPGRpdiBzdHlsZT0iY29s
b3I6Z3JlZW4iPgotICAgIDxkaXYgaWQ9InRocmVlIiBzdHlsZT0iY29sb3I6Y3VycmVudENvbG9y
OyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3IiID48L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXN0MyIg
c3R5bGU9ImNvbG9yOmN1cnJlbnRDb2xvcjsgYmFja2dyb3VuZDogY3VycmVudENvbG9yIj48L2Rp
dj4KICAgPC9kaXY+Ci0gIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotIDwvYm9keT4KLTwvaHRt
bD4KKzwvZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGF0IGJhY2tn
cm91bmQtY29sb3IgaXMgbm9uLWluaGVyaXQgYW5kIGN1cnJlbnRDb2xvciBpcyBoYW5kbGVkIGNv
cnJlY3RseS4nKTsKK3ZhciB0ZXN0MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0MSIp
OwordmFyIHRlc3QyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QyIik7Cit2YXIgdGVz
dDMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDMiKTsKK3Rlc3QyLnN0eWxlLmNvbG9y
ID0gImdyZWVuIjsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0
MSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigwLCAxMjgsIDApJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldENvbXB1dGVkU3R5bGUodGVzdDIpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMCwg
MTI4LCAwKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKHRlc3Qz
KS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDAsIDEyOCwgMCknKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci1l
eHBlY3RlZC50eHQKaW5kZXggMDU3YmI2MDVmZmI2MmFmNGNiYjJmNjBlYjVhY2RhYTFiOGM4MGFk
MC4uMjZkY2U5YzViMTU2NGVjZjA5ODNmODBkODUxMzQ3ZTNjYWU4ZWI5NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50Y29sb3ItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNvbG9yLWV4cGVjdGVkLnR4
dApAQCAtMSwyICsxLDEyIEBACi1UZXN0IHRoYXQgb3V0bGluZS1jb2xvciBpcyBub24taW5oZXJp
dCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29ycmVjdGx5LiBUaGUgdGVzdCBwYXNzZXMg
aWYgMyBib3hlcyB3aXRoIGdyZWVuIG91dGxpbmVzIGZvbGxvd2VkIGJ5IHRoZSB0ZXh0ICJQQVNT
IiBhcmUgZGlzcGxheWVkIGJlbG93LgotUEFTUworVGVzdCB0aGF0IG91dGxpbmUtY29sb3IgaXMg
bm9uLWluaGVyaXQgYW5kIGN1cnJlbnRDb2xvciBpcyBoYW5kbGVkIGNvcnJlY3RseS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0ZXN0MSku
b3V0bGluZUNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh0
ZXN0Mikub3V0bGluZUNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXN0Mykub3V0bGluZUNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJlbnRjb2xvci5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvb3V0bGluZS1jdXJyZW50Y29sb3IuaHRtbAppbmRleCBjNmE2MTcxZmExODk3NDcy
YzczMGQ1NDc3MjljYzgxYjcxYTg3NTQ1Li4yZjM5ZGMwZjc4MTViZDk4NWM5NGY3MzdjMGE1NGY3
Y2ExMjgwYTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9vdXRsaW5lLWN1cnJl
bnRjb2xvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL291dGxpbmUtY3VycmVudGNv
bG9yLmh0bWwKQEAgLTEsNDMgKzEsMjMgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzND
Ly9EVEQgSFRNTCA0LjAvL0VOIj4KLTxodG1sIGxhbmc9ImVuIj4KLSA8aGVhZD4KLSAgPHRpdGxl
Pm91dGxpbmVDb2xvciBub3QgaW5oZXJpdCBhbmQgYWNjZXB0cyBjdXJyZW50Q29sb3I8L3RpdGxl
PgotICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgZGl2IHsgaGVpZ2h0OiAzZW07IHdpZHRo
OiAyNWVtOyBtYXJnaW4tYm90dG9tOiAzZW19Ci0gICBib2R5IHsgbWFyZ2luOiAyZW07IH0KLSAg
ICN0aHJlZSB7IGNvbG9yOiBibHVlOyB9Ci0gIDwvc3R5bGU+Ci0gIDxzY3JpcHQ+Ci0gICAgLy8g
RklYTUU6IFdLNzU1MjM7IHJlLXdyaXRlIHRoaXMgYW5kIGJhY2tncm91bmQtY3VycmVudGNvbG9y
Lmh0bWwgdG8gdXNlIGpzLXRlc3QtcHJlLmpzCi0gICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsK
LSAgICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsK
LSAgICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2Fn
ZSArICJcbiIpKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gcnVuVGVzdChwcm9wZXJ0eSkgewotICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0d28iKTsKLSAgICAgIGRpdi5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgICBp
ZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2KVtwcm9wZXJ0eV0gIT0gInJnYigwLCAxMjgs
IDApIikgewotICAgICAgICAgIGxvZygiRkFJTCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAg
IH0KLSAgICAgIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aHJlZSIpOwotICAgICAg
aWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuY29sb3IgIT0gInJnYigwLCAxMjgsIDAp
IikgewotICAgICAgICAgIGxvZygiRkFJTCIpOwotICAgICAgICAgIHJldHVybjsKLSAgICAgIH0K
LSAgICAgIGxvZygiUEFTUyIpOwotICAgIH0KLSAgPC9zY3JpcHQ+Ci0gPC9oZWFkPgotIDxib2R5
IG9ubG9hZD0icnVuVGVzdCgnb3V0bGluZUNvbG9yJykiPgotICA8ZGl2PlRlc3QgdGhhdCBvdXRs
aW5lLWNvbG9yIGlzIG5vbi1pbmhlcml0IGFuZCBjdXJyZW50Q29sb3IgaXMgaGFuZGxlZCBjb3Jy
ZWN0bHkuIFRoZSB0ZXN0IHBhc3NlcyBpZiAzIGJveGVzIHdpdGggZ3JlZW4gb3V0bGluZXMgZm9s
bG93ZWQgYnkgdGhlIHRleHQgIlBBU1MiIGFyZSBkaXNwbGF5ZWQgYmVsb3cuPC9kaXY+Ci0gIDxk
aXYgaWQ9Im9uZSIgc3R5bGU9ImNvbG9yOmdyZWVuOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVu
dENvbG9yIiA+PC9kaXY+Ci0gIDxkaXYgaWQ9InR3byIgc3R5bGU9ImNvbG9yOnJlZDsgb3V0bGlu
ZTogc29saWQgMWVtIGN1cnJlbnRDb2xvciIgPjwvZGl2PgorPCFET0NUWVBFIGh0bWw+Cis8c3R5
bGU+CisjdGVzdDMgeyBjb2xvcjogYmx1ZTsgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRlc3QtY29u
dGFpbmVyIj4KKyAgPGRpdiBpZD0idGVzdDEiIGlkPSJvbmUiIHN0eWxlPSJjb2xvcjpncmVlbjsg
b3V0bGluZTogc29saWQgMWVtIGN1cnJlbnRDb2xvciI+PC9kaXY+CisgIDxkaXYgaWQ9InRlc3Qy
IiBpZD0idHdvIiBzdHlsZT0iY29sb3I6cmVkOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVudENv
bG9yIj48L2Rpdj4KICAgPGRpdiBzdHlsZT0iY29sb3I6Z3JlZW4iPgotICAgIDxkaXYgaWQ9InRo
cmVlIiBzdHlsZT0iY29sb3I6Y3VycmVudENvbG9yOyBvdXRsaW5lOiBzb2xpZCAxZW0gY3VycmVu
dENvbG9yIiA+PC9kaXY+CisgICAgPGRpdiBpZD0idGVzdDMiIHN0eWxlPSJjb2xvcjpjdXJyZW50
Q29sb3I7IG91dGxpbmU6IHNvbGlkIDFlbSBjdXJyZW50Q29sb3IiPjwvZGl2PgogICA8L2Rpdj4K
LSAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0gPC9ib2R5PgotPC9odG1sPgorPC9kaXY+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgb3V0bGluZS1jb2xvciBpcyBu
b24taW5oZXJpdCBhbmQgY3VycmVudENvbG9yIGlzIGhhbmRsZWQgY29ycmVjdGx5LicpOwordmFy
IHRlc3QxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QxIik7Cit2YXIgdGVzdDIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdDIiKTsKK3ZhciB0ZXN0MyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0MyIpOwordGVzdDIuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKHRlc3QxKS5vdXRsaW5lQ29sb3In
LCAncmdiKDAsIDEyOCwgMCknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRT
dHlsZSh0ZXN0Mikub3V0bGluZUNvbG9yJywgJ3JnYigwLCAxMjgsIDApJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUodGVzdDMpLm91dGxpbmVDb2xvcicsICdyZ2Io
MCwgMTI4LCAwKScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>