<?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>77596</bug_id>
          
          <creation_ts>2012-02-01 20:20:09 -0800</creation_ts>
          <short_desc>update CSS3 calc() color tests to use pre/post js</short_desc>
          <delta_ts>2012-02-09 07:54:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Lawther">mikelawther</reporter>
          <assigned_to name="Mike Lawther">mikelawther</assigned_to>
          <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>547597</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-01 20:20:09 -0800</bug_when>
    <thetext>update CSS3 calc() color tests to use pre/post js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547599</commentid>
    <comment_count>1</comment_count>
      <attachid>125067</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-01 20:22:20 -0800</bug_when>
    <thetext>Created attachment 125067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547606</commentid>
    <comment_count>2</comment_count>
      <attachid>125067</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-02-01 20:47:16 -0800</bug_when>
    <thetext>Comment on attachment 125067
Patch

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

&gt; LayoutTests/css3/calc/color-hsl.html:5
&gt; +    #simple        { color: hsl(-webkit-calcy(120),-webkit-calc(75%),-webkit-calc(50%)); }

Did you mean to call -webkit-calcy()?

&gt; LayoutTests/css3/calc/color-hsl.html:8
&gt; +    #alpha        { color: hsla(-webkit-calcy(120),-webkit-calc(75%),-webkit-calc(50%), -webkit-calc(0.7)); }

Ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:5
&gt; +    #simple        { color: rgb(-webkit-calcy(10),-webkit-calc(18 * 10),-webkit-calc(30)); }

Ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:7
&gt; +    #percentsimple        { color: rgb(-webkit-calcy(2% + 8%),-webkit-calc(95%),-webkit-calc(3% * 10)); }

Ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:10
&gt; +    #alpha        { color: rgba(-webkit-calcy(10),-webkit-calc(180),-webkit-calc(30), -webkit-calc(0.35 * 2)); }

Ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:12
&gt; +    #percentalpha        { color: rgba(-webkit-calcy(2 * 5%),-webkit-calc(100% - 5%),-webkit-calc(30%),-webkit-calc(0.2 * 3 + 0.1)); }

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547608</commentid>
    <comment_count>3</comment_count>
      <attachid>125067</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-01 20:49:15 -0800</bug_when>
    <thetext>Comment on attachment 125067
Patch

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

&gt; LayoutTests/css3/calc/color-hsl.html:5
&gt; -#simple        {color: hsl(-webkit-calc(120),-webkit-calc(75%),-webkit-calc(50%));}
&gt; +    #controlsimple { color: hsl(120,75%,50%); }
&gt; +    #simple        { color: hsl(-webkit-calcy(120),-webkit-calc(75%),-webkit-calc(50%)); }

I don&apos;t like adding indentation to the top-level code.

&gt; LayoutTests/css3/calc/color-hsl.html:21
&gt;  &lt;script&gt;
&gt; -if (window.layoutTestController)
&gt; -    layoutTestController.dumpAsText();
&gt; -
&gt; -tests = [&quot;simple&quot;, &quot;alpha&quot;];
&gt; +    description(&quot;Tests that CSS3 calc() can be used with the hsl() and hsla() functions&quot;);
&gt; +    
&gt; +    tests = [&quot;simple&quot;, &quot;alpha&quot;];

ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:4
&gt; +    #controlsimple { color: rgb(10,180,30); }

ditto.

&gt; LayoutTests/css3/calc/color-rgb.html:29
&gt; +    description(&quot;Tests that CSS3 calc() can be used with the rgb() and rgba() functions&quot;);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547609</commentid>
    <comment_count>4</comment_count>
      <attachid>125067</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-01 20:50:59 -0800</bug_when>
    <thetext>Comment on attachment 125067
Patch

back to r? for Daniel&apos;s comment :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547616</commentid>
    <comment_count>5</comment_count>
      <attachid>125072</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-01 21:05:40 -0800</bug_when>
    <thetext>Created attachment 125072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547618</commentid>
    <comment_count>6</comment_count>
      <attachid>125067</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-01 21:07:55 -0800</bug_when>
    <thetext>Comment on attachment 125067
Patch

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

&gt;&gt;&gt; LayoutTests/css3/calc/color-hsl.html:5
&gt;&gt;&gt; +    #simple        { color: hsl(-webkit-calcy(120),-webkit-calc(75%),-webkit-calc(50%)); }
&gt;&gt; 
&gt;&gt; Did you mean to call -webkit-calcy()?
&gt; 
&gt; I don&apos;t like adding indentation to the top-level code.

Doh! Good catch - fixed.

I&apos;ve left the indentation as is after a discussion on IRC.

&gt;&gt; LayoutTests/css3/calc/color-hsl.html:8
&gt;&gt; +    #alpha        { color: hsla(-webkit-calcy(120),-webkit-calc(75%),-webkit-calc(50%), -webkit-calc(0.7)); }
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/css3/calc/color-hsl.html:21
&gt;&gt; +    tests = [&quot;simple&quot;, &quot;alpha&quot;];
&gt; 
&gt; ditto.

Left as per IRC discussion.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:4
&gt;&gt; +    #controlsimple { color: rgb(10,180,30); }
&gt; 
&gt; ditto.

Left as per IRC discussion.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:5
&gt;&gt; +    #simple        { color: rgb(-webkit-calcy(10),-webkit-calc(18 * 10),-webkit-calc(30)); }
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:7
&gt;&gt; +    #percentsimple        { color: rgb(-webkit-calcy(2% + 8%),-webkit-calc(95%),-webkit-calc(3% * 10)); }
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:10
&gt;&gt; +    #alpha        { color: rgba(-webkit-calcy(10),-webkit-calc(180),-webkit-calc(30), -webkit-calc(0.35 * 2)); }
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:12
&gt;&gt; +    #percentalpha        { color: rgba(-webkit-calcy(2 * 5%),-webkit-calc(100% - 5%),-webkit-calc(30%),-webkit-calc(0.2 * 3 + 0.1)); }
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/css3/calc/color-rgb.html:29
&gt;&gt; +    description(&quot;Tests that CSS3 calc() can be used with the rgb() and rgba() functions&quot;);
&gt; 
&gt; ditto.

Left as per IRC discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547622</commentid>
    <comment_count>7</comment_count>
      <attachid>125072</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-01 21:10:31 -0800</bug_when>
    <thetext>Comment on attachment 125072
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547635</commentid>
    <comment_count>8</comment_count>
      <attachid>125072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 21:44:50 -0800</bug_when>
    <thetext>Comment on attachment 125072
Patch

Attachment 125072 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11394711

New failing tests:
css3/calc/color-hsl.html
css3/calc/color-rgb.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547653</commentid>
    <comment_count>9</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-01 22:18:10 -0800</bug_when>
    <thetext>The provided link http://queues.webkit.org/results/11394711 doesn&apos;t show color-rgb.html or color-hsl.html anywhere. Is this bot flakiness somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549733</commentid>
    <comment_count>10</comment_count>
      <attachid>125573</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-05 22:12:37 -0800</bug_when>
    <thetext>Created attachment 125573
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549759</commentid>
    <comment_count>11</comment_count>
      <attachid>125573</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-05 23:20:13 -0800</bug_when>
    <thetext>Comment on attachment 125573
Patch for landing

Rejecting attachment 125573 from commit-queue.

New failing tests:
css3/calc/color-hsl.html
css3/calc/color-rgb.html
Full output: http://queues.webkit.org/results/11434167</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553104</commentid>
    <comment_count>12</comment_count>
      <attachid>126292</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-02-09 06:25:28 -0800</bug_when>
    <thetext>Created attachment 126292
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553168</commentid>
    <comment_count>13</comment_count>
      <attachid>126292</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-09 07:54:06 -0800</bug_when>
    <thetext>Comment on attachment 126292
Patch for landing

Clearing flags on attachment: 126292

Committed r107245: &lt;http://trac.webkit.org/changeset/107245&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553169</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-09 07:54:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125067</attachid>
            <date>2012-02-01 20:22:20 -0800</date>
            <delta_ts>2012-02-01 21:07:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77596-20120202152218.patch</filename>
            <type>text/plain</type>
            <size>11404</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTI5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FmMzFlMzNlMWQwNWYwNTkyZWRi
NDQ5YmMzMjY2ZTViNzNjNWMwMC4uNjAxMTI5MzZmYTcwNGE0ZmQxYmU3OTUyNjJkYmEzMzgwNGM3
YzVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTAxICBNaWtlIExhd3RoZXIgIDxt
aWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgdXBkYXRlIENTUzMgY2FsYygpIGNv
bG9yIHRlc3RzIHRvIHVzZSBwcmUvcG9zdCBqcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTYKKworICAgICAgICBOb3RlIHRoYXQgdGhlc2UgdGVz
dHMgYXJlIGludGVuZGVkIHRvICdmYWlsJyBhcyBjYWxjKCkgZnVuY3Rpb25hbGl0eQorICAgICAg
ICBoYWQgbm90IHlldCBsYW5kZWQgKHNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9jYWxj
L2NvbG9yLWhzbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5o
dG1sOgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGNzczMvY2FsYy9jb2xvci1yZ2IuaHRtbDoKKwogMjAxMi0wMi0wMSAgU2hpbnlhIEthd2Fu
YWthICA8c2hpbnlha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFNlbGVjdCBhdHRyaWJ1dGUgb2Yg
SFRNTENvbnRlbnRFbGVtZW50IHNob3VsZCBiZSBhYmxlIGJlIGNoYW5nZWQgZHluYW1pY2FsbHku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CmluZGV4IDE2
MGI1YzQyNmY0MDllMzNlODRmYzQ5YzRjMWY3YWZhNjYyZTZhNDYuLjMxYTJmYzUyZjE4Nzk1ZGIz
ZDYwMjQ2Y2Y2NDEyODkzZTgzNmViY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xv
ci1oc2wtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMTEgQEAKLVRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQg
YmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKQotRkFJTAorVGVzdHMgdGhhdCBDU1MzIGNhbGMoKSBj
YW4gYmUgdXNlZCB3aXRoIHRoZSBoc2woKSBhbmQgaHNsYSgpIGZ1bmN0aW9ucworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzaW1wbGUiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigzMSwgMjIz
LCAzMSkuIFdhcyByZ2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSByZ2JhKDMxLCAy
MjMsIDMxLCAwLjY5OTIxOSkuIFdhcyByZ2IoMCwgMCwgMCkuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhz
bC5odG1sCmluZGV4IDk1NDhjZTBjYjM4ZDA5YzEyMWQ4NGRkMGM2YzBmMDI4YmFhOThhZmMuLmE5
YTA0MzI5ZDQxZTM4YzQ0NzA3ZGRhMGMxNjFlOTUzYmJlZjgzNmMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY29sb3ItaHNsLmh0bWwKQEAgLTEsNDEgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KIDxzdHlsZT4KLWRpdiB7Y29sb3I6IHJlZDt9Ci0jY29udHJvbHNpbXBsZSB7Y29sb3I6IGhz
bCgxMjAsNzUlLDUwJSk7fQotI3NpbXBsZSAgICAgICAge2NvbG9yOiBoc2woLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSkpO30KKyAgICAjY29udHJv
bHNpbXBsZSB7IGNvbG9yOiBoc2woMTIwLDc1JSw1MCUpOyB9CisgICAgI3NpbXBsZSAgICAgICAg
eyBjb2xvcjogaHNsKC13ZWJraXQtY2FsY3koMTIwKSwtd2Via2l0LWNhbGMoNzUlKSwtd2Via2l0
LWNhbGMoNTAlKSk7IH0KIAotI2NvbnRyb2xhbHBoYSB7Y29sb3I6IGhzbGEoMTIwLDc1JSw1MCUs
MC43KTt9Ci0jYWxwaGEgICAgICAgIHtjb2xvcjogaHNsYSgtd2Via2l0LWNhbGMoMTIwKSwtd2Vi
a2l0LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSwgLXdlYmtpdC1jYWxjKDAuNykpO30KKyAg
ICAjY29udHJvbGFscGhhIHsgY29sb3I6IGhzbGEoMTIwLDc1JSw1MCUsMC43KTsgfQorICAgICNh
bHBoYSAgICAgICAgeyBjb2xvcjogaHNsYSgtd2Via2l0LWNhbGN5KDEyMCksLXdlYmtpdC1jYWxj
KDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygwLjcpKTsgfQogPC9zdHlsZT4K
LQotPGRpdiBpZD0iY29udHJvbHNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KLTxkaXYgaWQ9InNpbXBsZSI+VGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KLTxoci8+
Ci08ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRo
ZSBzYW1lIGNvbG9yIChhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08aHIvPgotPGRp
diBpZD0icmVzdWx0cyI+PC9kaXY+Ci0KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICA8
aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hv
dWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+CisgICAgPGRpdiBpZD0ic2ltcGxl
Ij5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwv
ZGl2PgorICAgIDxoci8+CisgICAgPGRpdiBpZD0iY29udHJvbGFscGhhIj5UaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+CisgICAgPGRpdiBp
ZD0iYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChh
bHBoYSk8L2Rpdj4KKzwvZGl2PgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi10ZXN0cyA9
IFsic2ltcGxlIiwgImFscGhhIl07CisgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgQ1NTMyBj
YWxjKCkgY2FuIGJlIHVzZWQgd2l0aCB0aGUgaHNsKCkgYW5kIGhzbGEoKSBmdW5jdGlvbnMiKTsK
KyAgICAKKyAgICB0ZXN0cyA9IFsic2ltcGxlIiwgImFscGhhIl07CiAKLXZhciBzdWNjZXNzID0g
dHJ1ZTsKLQotZm9yIChpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7Ci0gICAgdmFyIHRl
c3QgPSB0ZXN0c1tpXTsKLSAgICB2YXIgZXhwZWN0ZWQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiArIHRlc3QpLCBudWxsKS5jb2xvcjsKLSAgICB2
YXIgYWN0dWFsID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXN0
KSwgbnVsbCkuY29sb3I7Ci0gICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbCA9PSBleHBl
Y3RlZCk7Ci19Ci0KLXZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dHMiKTsKLWlmIChzdWNjZXNzKSB7Ci0gICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7
Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Ci19IGVsc2UgewotICAgIHJlc3VsdHMu
c3R5bGUuY29sb3IgPSAicmVkIjsKLSAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsKLX0K
KyAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFyIHRl
c3QgPSB0ZXN0c1tpXTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInICsgdGVzdCArICciKSwgbnVsbCkuY29s
b3InLCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiAr
IHRlc3QpLCBudWxsKS5jb2xvcik7CisgICAgfQorICAgIAorICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFpbmVyIikpOyAgIAogPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dAppbmRl
eCBiNzQzNmYxZDViOTQ2YWQ1Mzc0ZjI3Yzg3NTA5MGVhODQ3ZmIxM2Y0Li4zMjg0MjhkNGRlNzhk
M2RjZDIxYjVjZWZmN2ZkZWUzZjY3MWVlZDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Y29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDEzIEBACi1UaGVzZSB0d28gc2VudGVu
Y2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKQotVGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSkKLUIuIFRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCkKLUIuIFRoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCkKLUMu
IFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChhbHBoYSkKLUMu
IFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChhbHBoYSkKLVRo
ZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IGFscGhh
KQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHBlcmNlbnQg
YWxwaGEpCi1GQUlMCitUZXN0cyB0aGF0IENTUzMgY2FsYygpIGNhbiBiZSB1c2VkIHdpdGggdGhl
IHJnYigpIGFuZCByZ2JhKCkgZnVuY3Rpb25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpbXBs
ZSIpLCBudWxsKS5jb2xvciBzaG91bGQgYmUgcmdiKDEwLCAxODAsIDMwKS4gV2FzIHJnYigwLCAw
LCAwKS4KK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGVy
Y2VudHNpbXBsZSIpLCBudWxsKS5jb2xvciBzaG91bGQgYmUgcmdiKDI1LCAyNDMsIDc2KS4gV2Fz
IHJnYigwLCAwLCAwKS4KK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYWxwaGEiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYmEoMTAsIDE4MCwgMzAsIDAu
Njk5MjE5KS4gV2FzIHJnYigwLCAwLCAwKS4KK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGVyY2VudGFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSBy
Z2JhKDI1LCAyNDMsIDc2LCAwLjY5OTIxOSkuIFdhcyByZ2IoMCwgMCwgMCkuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NvbG9yLXJnYi5odG1sCmluZGV4IGMyNTg1ZmZmYTFlZmI2N2I1M2RjNWNmOTczMzdmMDhlOWMz
Y2QxYTQuLjhhNTUwM2U0MmU3ZjNkZWIzY2ZlNTVjNzlmZGM5MDdlYzhhNzAxOTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2IuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKQEAgLTEsNTMgKzEsNDIgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KIDxzdHlsZT4KLWRpdiB7Y29sb3I6IHJlZDt9Ci0jY29udHJvbHNpbXBsZSB7
Y29sb3I6IHJnYigxMCwxODAsMzApO30KLSNzaW1wbGUgICAgICAgIHtjb2xvcjogcmdiKC13ZWJr
aXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4ICogMTApLC13ZWJraXQtY2FsYygzMCkpO30KLSNj
b250cm9scGVyY2VudHNpbXBsZSB7Y29sb3I6IHJnYigxMCUsOTUlLDMwJSk7fQotI3BlcmNlbnRz
aW1wbGUgICAgICAgIHtjb2xvcjogcmdiKC13ZWJraXQtY2FsYygyJSArIDglKSwtd2Via2l0LWNh
bGMoOTUlKSwtd2Via2l0LWNhbGMoMyUgKiAxMCkpO30KKyAgICAjY29udHJvbHNpbXBsZSB7IGNv
bG9yOiByZ2IoMTAsMTgwLDMwKTsgfQorICAgICNzaW1wbGUgICAgICAgIHsgY29sb3I6IHJnYigt
d2Via2l0LWNhbGN5KDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7
IH0KKyAgICAjY29udHJvbHBlcmNlbnRzaW1wbGUgeyBjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTsg
fQorICAgICNwZXJjZW50c2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdlYmtpdC1jYWxjeSgy
JSArIDglKSwtd2Via2l0LWNhbGMoOTUlKSwtd2Via2l0LWNhbGMoMyUgKiAxMCkpOyB9CiAKLSNj
b250cm9sYWxwaGEge2NvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpO30KLSNhbHBoYSAgICAgICAg
e2NvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4MCksLXdlYmtpdC1j
YWxjKDMwKSwgLXdlYmtpdC1jYWxjKDAuMzUgKiAyKSk7fQotI2NvbnRyb2xwZXJjZW50YWxwaGEg
e2NvbG9yOiByZ2JhKDEwJSw5NSUsMzAlLDAuNyk7fQotI3BlcmNlbnRhbHBoYSAgICAgICAge2Nv
bG9yOiByZ2JhKC13ZWJraXQtY2FsYygyICogNSUpLC13ZWJraXQtY2FsYygxMDAlIC0gNSUpLC13
ZWJraXQtY2FsYygzMCUpLC13ZWJraXQtY2FsYygwLjIgKiAzICsgMC4xKSk7fQorICAgICNjb250
cm9sYWxwaGEgeyBjb2xvcjogcmdiYSgxMCwxODAsMzAsMC43KTsgfQorICAgICNhbHBoYSAgICAg
ICAgeyBjb2xvcjogcmdiYSgtd2Via2l0LWNhbGN5KDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Vi
a2l0LWNhbGMoMzApLCAtd2Via2l0LWNhbGMoMC4zNSAqIDIpKTsgfQorICAgICNjb250cm9scGVy
Y2VudGFscGhhIHsgY29sb3I6IHJnYmEoMTAlLDk1JSwzMCUsMC43KTsgfQorICAgICNwZXJjZW50
YWxwaGEgICAgICAgIHsgY29sb3I6IHJnYmEoLXdlYmtpdC1jYWxjeSgyICogNSUpLC13ZWJraXQt
Y2FsYygxMDAlIC0gNSUpLC13ZWJraXQtY2FsYygzMCUpLC13ZWJraXQtY2FsYygwLjIgKiAzICsg
MC4xKSk7IH0KIDwvc3R5bGU+Ci0KLTxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBz
ZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlk
PSJzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChz
aW1wbGUpPC9kaXY+Ci08aHIvPgotPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPkIuIFRo
ZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2Vu
dCk8L2Rpdj4KLTxkaXYgaWQ9InBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkICBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+Ci08aHIvPgot
PGRpdiBpZD0iY29udHJvbGFscGhhIj5DLiBUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0
aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+Qy4gVGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4K
LTxkaXYgaWQ9ImNvbnRyb2xwZXJjZW50YWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxk
ICBiZSB0aGUgc2FtZSBjb2xvciAocGVyY2VudCBhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9InBlcmNl
bnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChw
ZXJjZW50IGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgotCis8
ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9s
c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2lt
cGxlKTwvZGl2PgorICAgIDxkaXYgaWQ9InNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYg
aWQ9ImNvbnRyb2xwZXJjZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0
aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2Vu
dHNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChz
aW1wbGUgcGVyY2VudCk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBo
YSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwv
ZGl2PgorICAgIDxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0
aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250
cm9scGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUg
Y29sb3IgKHBlcmNlbnQgYWxwaGEpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudGFscGhhIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgYWxw
aGEpPC9kaXY+Cis8L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdGVzdHMgPSBb
InNpbXBsZSIsICJhbHBoYSJdOwotCi12YXIgc3VjY2VzcyA9IHRydWU7CisgICAgZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgQ1NTMyBjYWxjKCkgY2FuIGJlIHVzZWQgd2l0aCB0aGUgcmdiKCkgYW5k
IHJnYmEoKSBmdW5jdGlvbnMiKTsKKyAgICAKKyAgICB0ZXN0cyA9IFsic2ltcGxlIiwgImFscGhh
Il07CiAKLWZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB0ZXN0
ID0gdGVzdHNbaV07Ci0gICAgdmFyIGV4cGVjdGVkc2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7Ci0g
ICAgdmFyIGFjdHVhbHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQodGVzdCksIG51bGwpLmNvbG9yOwotICAgIHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0
ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgdmFyIGFjdHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xv
cjsgICAgCi0gICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3Rl
ZHNpbXBsZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhwZWN0ZWRwZXJjZW50KTsKLX0KKyAgICBm
b3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFyIHRlc3QgPSB0
ZXN0c1tpXTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInICsgdGVzdCArICciKSwgbnVsbCkuY29sb3InLCBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiArIHRlc3Qp
LCBudWxsKS5jb2xvcik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiJyArICJwZXJjZW50IiArIHRlc3QgKyAn
IiksIG51bGwpLmNvbG9yJywgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udHJvbHBlcmNlbnQiICsgdGVzdCksIG51bGwpLmNvbG9yKTsKKyAgICB9CiAKLXZhciBy
ZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKLWlmIChzdWNjZXNz
KSB7Ci0gICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgcmVzdWx0cy5pbm5l
ckhUTUwgPSAiUEFTUyI7Ci19IGVsc2UgewotICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVk
IjsKLSAgICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsKLX0KKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpKTsKIDwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125072</attachid>
            <date>2012-02-01 21:05:40 -0800</date>
            <delta_ts>2012-02-05 22:12:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77596-20120202160537.patch</filename>
            <type>text/plain</type>
            <size>11398</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTI5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FmMzFlMzNlMWQwNWYwNTkyZWRi
NDQ5YmMzMjY2ZTViNzNjNWMwMC4uNjAxMTI5MzZmYTcwNGE0ZmQxYmU3OTUyNjJkYmEzMzgwNGM3
YzVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTAxICBNaWtlIExhd3RoZXIgIDxt
aWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgdXBkYXRlIENTUzMgY2FsYygpIGNv
bG9yIHRlc3RzIHRvIHVzZSBwcmUvcG9zdCBqcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTYKKworICAgICAgICBOb3RlIHRoYXQgdGhlc2UgdGVz
dHMgYXJlIGludGVuZGVkIHRvICdmYWlsJyBhcyBjYWxjKCkgZnVuY3Rpb25hbGl0eQorICAgICAg
ICBoYWQgbm90IHlldCBsYW5kZWQgKHNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9jYWxj
L2NvbG9yLWhzbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5o
dG1sOgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGNzczMvY2FsYy9jb2xvci1yZ2IuaHRtbDoKKwogMjAxMi0wMi0wMSAgU2hpbnlhIEthd2Fu
YWthICA8c2hpbnlha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFNlbGVjdCBhdHRyaWJ1dGUgb2Yg
SFRNTENvbnRlbnRFbGVtZW50IHNob3VsZCBiZSBhYmxlIGJlIGNoYW5nZWQgZHluYW1pY2FsbHku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CmluZGV4IDE2
MGI1YzQyNmY0MDllMzNlODRmYzQ5YzRjMWY3YWZhNjYyZTZhNDYuLjMxYTJmYzUyZjE4Nzk1ZGIz
ZDYwMjQ2Y2Y2NDEyODkzZTgzNmViY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xv
ci1oc2wtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMTEgQEAKLVRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQg
YmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKQotRkFJTAorVGVzdHMgdGhhdCBDU1MzIGNhbGMoKSBj
YW4gYmUgdXNlZCB3aXRoIHRoZSBoc2woKSBhbmQgaHNsYSgpIGZ1bmN0aW9ucworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzaW1wbGUiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigzMSwgMjIz
LCAzMSkuIFdhcyByZ2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSByZ2JhKDMxLCAy
MjMsIDMxLCAwLjY5OTIxOSkuIFdhcyByZ2IoMCwgMCwgMCkuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhz
bC5odG1sCmluZGV4IDk1NDhjZTBjYjM4ZDA5YzEyMWQ4NGRkMGM2YzBmMDI4YmFhOThhZmMuLjU1
NjExMmY5ODVhNGMzMDU2ZjRmODk0ODQxYmFmNDhlNDk0NjM3MWMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY29sb3ItaHNsLmh0bWwKQEAgLTEsNDEgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KIDxzdHlsZT4KLWRpdiB7Y29sb3I6IHJlZDt9Ci0jY29udHJvbHNpbXBsZSB7Y29sb3I6IGhz
bCgxMjAsNzUlLDUwJSk7fQotI3NpbXBsZSAgICAgICAge2NvbG9yOiBoc2woLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSkpO30KKyAgICAjY29udHJv
bHNpbXBsZSB7IGNvbG9yOiBoc2woMTIwLDc1JSw1MCUpOyB9CisgICAgI3NpbXBsZSAgICAgICAg
eyBjb2xvcjogaHNsKC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQtY2FsYyg3NSUpLC13ZWJraXQt
Y2FsYyg1MCUpKTsgfQogCi0jY29udHJvbGFscGhhIHtjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSww
LjcpO30KLSNhbHBoYSAgICAgICAge2NvbG9yOiBoc2xhKC13ZWJraXQtY2FsYygxMjApLC13ZWJr
aXQtY2FsYyg3NSUpLC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMC43KSk7fQorICAg
ICNjb250cm9sYWxwaGEgeyBjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSwwLjcpOyB9CisgICAgI2Fs
cGhhICAgICAgICB7IGNvbG9yOiBoc2xhKC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQtY2FsYyg3
NSUpLC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMC43KSk7IH0KIDwvc3R5bGU+Ci0K
LTxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRo
ZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlkPSJzaW1wbGUiPlRoZXNlIHR3byBz
ZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08aHIvPgot
PGRpdiBpZD0iY29udHJvbGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUg
c2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRl
bmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYg
aWQ9InJlc3VsdHMiPjwvZGl2PgotCis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPGhy
Lz4KKyAgICA8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwvZGl2PgorICAgIDxkaXYgaWQ9InNpbXBsZSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rp
dj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRl
bmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgorICAgIDxkaXYgaWQ9
ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxw
aGEpPC9kaXY+Cis8L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdGVzdHMgPSBb
InNpbXBsZSIsICJhbHBoYSJdOworICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IENTUzMgY2Fs
YygpIGNhbiBiZSB1c2VkIHdpdGggdGhlIGhzbCgpIGFuZCBoc2xhKCkgZnVuY3Rpb25zIik7Cisg
ICAgCisgICAgdGVzdHMgPSBbInNpbXBsZSIsICJhbHBoYSJdOwogCi12YXIgc3VjY2VzcyA9IHRy
dWU7Ci0KLWZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB0ZXN0
ID0gdGVzdHNbaV07Ci0gICAgdmFyIGV4cGVjdGVkID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgdmFy
IGFjdHVhbCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdCks
IG51bGwpLmNvbG9yOwotICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChhY3R1YWwgPT0gZXhwZWN0
ZWQpOwotfQotCi12YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRz
Iik7Ci1pZiAoc3VjY2VzcykgewotICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOwot
ICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOwotfSBlbHNlIHsKLSAgICByZXN1bHRzLnN0
eWxlLmNvbG9yID0gInJlZCI7Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7Ci19Cisg
ICAgZm9yIChpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHZhciB0ZXN0
ID0gdGVzdHNbaV07CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiJyArIHRlc3QgKyAnIiksIG51bGwpLmNvbG9y
JywgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0
ZXN0KSwgbnVsbCkuY29sb3IpOworICAgIH0KKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpKTsgICAKIDwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQKaW5kZXgg
Yjc0MzZmMWQ1Yjk0NmFkNTM3NGYyN2M4NzUwOTBlYTg0N2ZiMTNmNC4uMzI4NDI4ZDRkZTc4ZDNk
Y2QyMWI1Y2VmZjdmZGVlM2Y2NzFlZWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Nv
bG9yLXJnYi1leHBlY3RlZC50eHQKQEAgLTEsOSArMSwxMyBAQAotVGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSkKLVRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1CLiBUaGVzZSB0d28gc2VudGVuY2Vz
IHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpCi1CLiBUaGVzZSB0d28g
c2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpCi1DLiBU
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1DLiBU
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAocGVyY2VudCBhbHBoYSkK
LVRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IGFs
cGhhKQotRkFJTAorVGVzdHMgdGhhdCBDU1MzIGNhbGMoKSBjYW4gYmUgdXNlZCB3aXRoIHRoZSBy
Z2IoKSBhbmQgcmdiYSgpIGZ1bmN0aW9ucworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaW1wbGUi
KSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigxMCwgMTgwLCAzMCkuIFdhcyByZ2IoMCwgMCwg
MCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBlcmNl
bnRzaW1wbGUiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigyNSwgMjQzLCA3NikuIFdhcyBy
Z2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSByZ2JhKDEwLCAxODAsIDMwLCAwLjY5
OTIxOSkuIFdhcyByZ2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBlcmNlbnRhbHBoYSIpLCBudWxsKS5jb2xvciBzaG91bGQgYmUgcmdi
YSgyNSwgMjQzLCA3NiwgMC42OTkyMTkpLiBXYXMgcmdiKDAsIDAsIDApLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2IuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9j
b2xvci1yZ2IuaHRtbAppbmRleCBjMjU4NWZmZmExZWZiNjdiNTNkYzVjZjk3MzM3ZjA4ZTljM2Nk
MWE0Li4wMTQ4NDMzMDRlMmU0NjliMWZkN2Y3MGYxZGE3MzIxMDViNjcxNGU4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCkBAIC0xLDUzICsxLDQyIEBACis8IURPQ1RZUEUgSFRN
TD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CiA8c3R5bGU+Ci1kaXYge2NvbG9yOiByZWQ7fQotI2NvbnRyb2xzaW1wbGUge2Nv
bG9yOiByZ2IoMTAsMTgwLDMwKTt9Ci0jc2ltcGxlICAgICAgICB7Y29sb3I6IHJnYigtd2Via2l0
LWNhbGMoMTApLC13ZWJraXQtY2FsYygxOCAqIDEwKSwtd2Via2l0LWNhbGMoMzApKTt9Ci0jY29u
dHJvbHBlcmNlbnRzaW1wbGUge2NvbG9yOiByZ2IoMTAlLDk1JSwzMCUpO30KLSNwZXJjZW50c2lt
cGxlICAgICAgICB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1jYWxj
KDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisgICAgI2NvbnRyb2xzaW1wbGUgeyBjb2xv
cjogcmdiKDEwLDE4MCwzMCk7IH0KKyAgICAjc2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdl
YmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7IH0K
KyAgICAjY29udHJvbHBlcmNlbnRzaW1wbGUgeyBjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTsgfQor
ICAgICNwZXJjZW50c2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdlYmtpdC1jYWxjKDIlICsg
OCUpLC13ZWJraXQtY2FsYyg5NSUpLC13ZWJraXQtY2FsYygzJSAqIDEwKSk7IH0KIAotI2NvbnRy
b2xhbHBoYSB7Y29sb3I6IHJnYmEoMTAsMTgwLDMwLDAuNyk7fQotI2FscGhhICAgICAgICB7Y29s
b3I6IHJnYmEoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMo
MzApLCAtd2Via2l0LWNhbGMoMC4zNSAqIDIpKTt9Ci0jY29udHJvbHBlcmNlbnRhbHBoYSB7Y29s
b3I6IHJnYmEoMTAlLDk1JSwzMCUsMC43KTt9Ci0jcGVyY2VudGFscGhhICAgICAgICB7Y29sb3I6
IHJnYmEoLXdlYmtpdC1jYWxjKDIgKiA1JSksLXdlYmtpdC1jYWxjKDEwMCUgLSA1JSksLXdlYmtp
dC1jYWxjKDMwJSksLXdlYmtpdC1jYWxjKDAuMiAqIDMgKyAwLjEpKTt9CisgICAgI2NvbnRyb2xh
bHBoYSB7IGNvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpOyB9CisgICAgI2FscGhhICAgICAgICB7
IGNvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4MCksLXdlYmtpdC1j
YWxjKDMwKSwgLXdlYmtpdC1jYWxjKDAuMzUgKiAyKSk7IH0KKyAgICAjY29udHJvbHBlcmNlbnRh
bHBoYSB7IGNvbG9yOiByZ2JhKDEwJSw5NSUsMzAlLDAuNyk7IH0KKyAgICAjcGVyY2VudGFscGhh
ICAgICAgICB7IGNvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygyICogNSUpLC13ZWJraXQtY2FsYygx
MDAlIC0gNSUpLC13ZWJraXQtY2FsYygzMCUpLC13ZWJraXQtY2FsYygwLjIgKiAzICsgMC4xKSk7
IH0KIDwvc3R5bGU+Ci0KLTxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlkPSJzaW1w
bGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUp
PC9kaXY+Ci08aHIvPgotPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCk8L2Rp
dj4KLTxkaXYgaWQ9InBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxk
ICBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+Ci08aHIvPgotPGRpdiBp
ZD0iY29udHJvbGFscGhhIj5DLiBUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+Qy4gVGhlc2UgdHdvIHNlbnRl
bmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYg
aWQ9ImNvbnRyb2xwZXJjZW50YWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkICBiZSB0
aGUgc2FtZSBjb2xvciAocGVyY2VudCBhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9InBlcmNlbnRhbHBo
YSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50
IGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgotCis8ZGl2IGlk
PSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9sc2ltcGxl
Ij5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwv
ZGl2PgorICAgIDxkaXYgaWQ9InNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNv
bnRyb2xwZXJjZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudHNpbXBs
ZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUg
cGVyY2VudCk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhl
c2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2Pgor
ICAgIDxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvciAoYWxwaGEpPC9kaXY+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9scGVy
Y2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3Ig
KHBlcmNlbnQgYWxwaGEpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudGFscGhhIj5UaGVzZSB0
d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgYWxwaGEpPC9k
aXY+Cis8L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdGVzdHMgPSBbInNpbXBs
ZSIsICJhbHBoYSJdOwotCi12YXIgc3VjY2VzcyA9IHRydWU7CisgICAgZGVzY3JpcHRpb24oIlRl
c3RzIHRoYXQgQ1NTMyBjYWxjKCkgY2FuIGJlIHVzZWQgd2l0aCB0aGUgcmdiKCkgYW5kIHJnYmEo
KSBmdW5jdGlvbnMiKTsKKyAgICAKKyAgICB0ZXN0cyA9IFsic2ltcGxlIiwgImFscGhhIl07CiAK
LWZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB0ZXN0ID0gdGVz
dHNbaV07Ci0gICAgdmFyIGV4cGVjdGVkc2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgdmFy
IGFjdHVhbHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
dGVzdCksIG51bGwpLmNvbG9yOwotICAgIHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwg
bnVsbCkuY29sb3I7Ci0gICAgdmFyIGFjdHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAg
Ci0gICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBs
ZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhwZWN0ZWRwZXJjZW50KTsKLX0KKyAgICBmb3IgKGkg
PSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFyIHRlc3QgPSB0ZXN0c1tp
XTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCInICsgdGVzdCArICciKSwgbnVsbCkuY29sb3InLCBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiArIHRlc3QpLCBudWxs
KS5jb2xvcik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiJyArICJwZXJjZW50IiArIHRlc3QgKyAnIiksIG51
bGwpLmNvbG9yJywgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dHJvbHBlcmNlbnQiICsgdGVzdCksIG51bGwpLmNvbG9yKTsKKyAgICB9CiAKLXZhciByZXN1bHRz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKLWlmIChzdWNjZXNzKSB7Ci0g
ICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwg
PSAiUEFTUyI7Ci19IGVsc2UgewotICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKLSAg
ICByZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsKLX0KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpKTsKIDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125573</attachid>
            <date>2012-02-05 22:12:37 -0800</date>
            <delta_ts>2012-02-09 06:25:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77596-20120206171234.patch</filename>
            <type>text/plain</type>
            <size>11395</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTI5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FmMzFlMzNlMWQwNWYwNTkyZWRi
NDQ5YmMzMjY2ZTViNzNjNWMwMC4uMWZmMTU4YmY1NGRlMjIyODBmMGNiNTU0MWIzZTc3NGJiYTU4
MjRlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTAxICBNaWtlIExhd3RoZXIgIDxt
aWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgdXBkYXRlIENTUzMgY2FsYygpIGNv
bG9yIHRlc3RzIHRvIHVzZSBwcmUvcG9zdCBqcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTYKKworICAgICAgICBOb3RlIHRoYXQgdGhlc2UgdGVz
dHMgYXJlIGludGVuZGVkIHRvICdmYWlsJyBhcyBjYWxjKCkgZnVuY3Rpb25hbGl0eQorICAgICAg
ICBoYWQgbm90IHlldCBsYW5kZWQgKHNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgorCisgICAgICAgICogY3NzMy9jYWxjL2Nv
bG9yLWhzbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1s
OgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGNzczMvY2FsYy9jb2xvci1yZ2IuaHRtbDoKKwogMjAxMi0wMi0wMSAgU2hpbnlhIEthd2FuYWth
ICA8c2hpbnlha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFNlbGVjdCBhdHRyaWJ1dGUgb2YgSFRN
TENvbnRlbnRFbGVtZW50IHNob3VsZCBiZSBhYmxlIGJlIGNoYW5nZWQgZHluYW1pY2FsbHkuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQudHh0CmluZGV4IDE2MGI1
YzQyNmY0MDllMzNlODRmYzQ5YzRjMWY3YWZhNjYyZTZhNDYuLjMxYTJmYzUyZjE4Nzk1ZGIzZDYw
MjQ2Y2Y2NDEyODkzZTgzNmViY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9j
b2xvci1oc2wtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1o
c2wtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMTEgQEAKLVRoZXNlIHR3byBzZW50ZW5jZXMgc2hv
dWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQg
YmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IgKGFscGhhKQotRkFJTAorVGVzdHMgdGhhdCBDU1MzIGNhbGMoKSBjYW4g
YmUgdXNlZCB3aXRoIHRoZSBoc2woKSBhbmQgaHNsYSgpIGZ1bmN0aW9ucworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzaW1wbGUiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigzMSwgMjIzLCAz
MSkuIFdhcyByZ2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSByZ2JhKDMxLCAyMjMs
IDMxLCAwLjY5OTIxOSkuIFdhcyByZ2IoMCwgMCwgMCkuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5o
dG1sCmluZGV4IDk1NDhjZTBjYjM4ZDA5YzEyMWQ4NGRkMGM2YzBmMDI4YmFhOThhZmMuLjU1NjEx
MmY5ODVhNGMzMDU2ZjRmODk0ODQxYmFmNDhlNDk0NjM3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Y29sb3ItaHNsLmh0bWwKQEAgLTEsNDEgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
IDxzdHlsZT4KLWRpdiB7Y29sb3I6IHJlZDt9Ci0jY29udHJvbHNpbXBsZSB7Y29sb3I6IGhzbCgx
MjAsNzUlLDUwJSk7fQotI3NpbXBsZSAgICAgICAge2NvbG9yOiBoc2woLXdlYmtpdC1jYWxjKDEy
MCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSkpO30KKyAgICAjY29udHJvbHNp
bXBsZSB7IGNvbG9yOiBoc2woMTIwLDc1JSw1MCUpOyB9CisgICAgI3NpbXBsZSAgICAgICAgeyBj
b2xvcjogaHNsKC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQtY2FsYyg3NSUpLC13ZWJraXQtY2Fs
Yyg1MCUpKTsgfQogCi0jY29udHJvbGFscGhhIHtjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSwwLjcp
O30KLSNhbHBoYSAgICAgICAge2NvbG9yOiBoc2xhKC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQt
Y2FsYyg3NSUpLC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMC43KSk7fQorICAgICNj
b250cm9sYWxwaGEgeyBjb2xvcjogaHNsYSgxMjAsNzUlLDUwJSwwLjcpOyB9CisgICAgI2FscGhh
ICAgICAgICB7IGNvbG9yOiBoc2xhKC13ZWJraXQtY2FsYygxMjApLC13ZWJraXQtY2FsYyg3NSUp
LC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMC43KSk7IH0KIDwvc3R5bGU+Ci0KLTxk
aXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBz
YW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlkPSJzaW1wbGUiPlRoZXNlIHR3byBzZW50
ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08aHIvPgotPGRp
diBpZD0iY29udHJvbGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2Ft
ZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9
InJlc3VsdHMiPjwvZGl2PgotCis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPGhyLz4K
KyAgICA8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBi
ZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwvZGl2PgorICAgIDxkaXYgaWQ9InNpbXBsZSI+VGhl
c2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4K
KyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgorICAgIDxkaXYgaWQ9ImFs
cGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEp
PC9kaXY+Cis8L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdGVzdHMgPSBbInNp
bXBsZSIsICJhbHBoYSJdOworICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IENTUzMgY2FsYygp
IGNhbiBiZSB1c2VkIHdpdGggdGhlIGhzbCgpIGFuZCBoc2xhKCkgZnVuY3Rpb25zIik7CisgICAg
CisgICAgdGVzdHMgPSBbInNpbXBsZSIsICJhbHBoYSJdOwogCi12YXIgc3VjY2VzcyA9IHRydWU7
Ci0KLWZvciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB0ZXN0ID0g
dGVzdHNbaV07Ci0gICAgdmFyIGV4cGVjdGVkID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgdmFyIGFj
dHVhbCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdCksIG51
bGwpLmNvbG9yOwotICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChhY3R1YWwgPT0gZXhwZWN0ZWQp
OwotfQotCi12YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7
Ci1pZiAoc3VjY2VzcykgewotICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOwotICAg
IHJlc3VsdHMuaW5uZXJIVE1MID0gIlBBU1MiOwotfSBlbHNlIHsKLSAgICByZXN1bHRzLnN0eWxl
LmNvbG9yID0gInJlZCI7Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7Ci19CisgICAg
Zm9yIChpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHZhciB0ZXN0ID0g
dGVzdHNbaV07CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiJyArIHRlc3QgKyAnIiksIG51bGwpLmNvbG9yJywg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0
KSwgbnVsbCkuY29sb3IpOworICAgIH0KKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpKTsgICAKIDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi1leHBlY3RlZC50eHQKaW5kZXggYjc0
MzZmMWQ1Yjk0NmFkNTM3NGYyN2M4NzUwOTBlYTg0N2ZiMTNmNC4uMzI4NDI4ZDRkZTc4ZDNkY2Qy
MWI1Y2VmZjdmZGVlM2Y2NzFlZWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NvbG9yLXJnYi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9y
LXJnYi1leHBlY3RlZC50eHQKQEAgLTEsOSArMSwxMyBAQAotVGhlc2UgdHdvIHNlbnRlbmNlcyBz
aG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSkKLVRoZXNlIHR3byBzZW50ZW5jZXMgc2hv
dWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1CLiBUaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpCi1CLiBUaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpCi1DLiBUaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1DLiBUaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1UaGVzZSB0
d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAocGVyY2VudCBhbHBoYSkKLVRo
ZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IGFscGhh
KQotRkFJTAorVGVzdHMgdGhhdCBDU1MzIGNhbGMoKSBjYW4gYmUgdXNlZCB3aXRoIHRoZSByZ2Io
KSBhbmQgcmdiYSgpIGZ1bmN0aW9ucworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
RkFJTCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaW1wbGUiKSwg
bnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigxMCwgMTgwLCAzMCkuIFdhcyByZ2IoMCwgMCwgMCku
CitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBlcmNlbnRz
aW1wbGUiKSwgbnVsbCkuY29sb3Igc2hvdWxkIGJlIHJnYigyNSwgMjQzLCA3NikuIFdhcyByZ2Io
MCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImFscGhhIiksIG51bGwpLmNvbG9yIHNob3VsZCBiZSByZ2JhKDEwLCAxODAsIDMwLCAwLjY5OTIx
OSkuIFdhcyByZ2IoMCwgMCwgMCkuCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBlcmNlbnRhbHBoYSIpLCBudWxsKS5jb2xvciBzaG91bGQgYmUgcmdiYSgy
NSwgMjQzLCA3NiwgMC42OTkyMTkpLiBXYXMgcmdiKDAsIDAsIDApLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NzczMvY2FsYy9jb2xvci1yZ2IuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xv
ci1yZ2IuaHRtbAppbmRleCBjMjU4NWZmZmExZWZiNjdiNTNkYzVjZjk3MzM3ZjA4ZTljM2NkMWE0
Li4wMTQ4NDMzMDRlMmU0NjliMWZkN2Y3MGYxZGE3MzIxMDViNjcxNGU4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2NvbG9yLXJnYi5odG1sCkBAIC0xLDUzICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CiA8c3R5bGU+Ci1kaXYge2NvbG9yOiByZWQ7fQotI2NvbnRyb2xzaW1wbGUge2NvbG9y
OiByZ2IoMTAsMTgwLDMwKTt9Ci0jc2ltcGxlICAgICAgICB7Y29sb3I6IHJnYigtd2Via2l0LWNh
bGMoMTApLC13ZWJraXQtY2FsYygxOCAqIDEwKSwtd2Via2l0LWNhbGMoMzApKTt9Ci0jY29udHJv
bHBlcmNlbnRzaW1wbGUge2NvbG9yOiByZ2IoMTAlLDk1JSwzMCUpO30KLSNwZXJjZW50c2ltcGxl
ICAgICAgICB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1jYWxjKDk1
JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisgICAgI2NvbnRyb2xzaW1wbGUgeyBjb2xvcjog
cmdiKDEwLDE4MCwzMCk7IH0KKyAgICAjc2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdlYmtp
dC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMwKSk7IH0KKyAg
ICAjY29udHJvbHBlcmNlbnRzaW1wbGUgeyBjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTsgfQorICAg
ICNwZXJjZW50c2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdlYmtpdC1jYWxjKDIlICsgOCUp
LC13ZWJraXQtY2FsYyg5NSUpLC13ZWJraXQtY2FsYygzJSAqIDEwKSk7IH0KIAotI2NvbnRyb2xh
bHBoYSB7Y29sb3I6IHJnYmEoMTAsMTgwLDMwLDAuNyk7fQotI2FscGhhICAgICAgICB7Y29sb3I6
IHJnYmEoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMoMzAp
LCAtd2Via2l0LWNhbGMoMC4zNSAqIDIpKTt9Ci0jY29udHJvbHBlcmNlbnRhbHBoYSB7Y29sb3I6
IHJnYmEoMTAlLDk1JSwzMCUsMC43KTt9Ci0jcGVyY2VudGFscGhhICAgICAgICB7Y29sb3I6IHJn
YmEoLXdlYmtpdC1jYWxjKDIgKiA1JSksLXdlYmtpdC1jYWxjKDEwMCUgLSA1JSksLXdlYmtpdC1j
YWxjKDMwJSksLXdlYmtpdC1jYWxjKDAuMiAqIDMgKyAwLjEpKTt9CisgICAgI2NvbnRyb2xhbHBo
YSB7IGNvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpOyB9CisgICAgI2FscGhhICAgICAgICB7IGNv
bG9yOiByZ2JhKC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4MCksLXdlYmtpdC1jYWxj
KDMwKSwgLXdlYmtpdC1jYWxjKDAuMzUgKiAyKSk7IH0KKyAgICAjY29udHJvbHBlcmNlbnRhbHBo
YSB7IGNvbG9yOiByZ2JhKDEwJSw5NSUsMzAlLDAuNyk7IH0KKyAgICAjcGVyY2VudGFscGhhICAg
ICAgICB7IGNvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygyICogNSUpLC13ZWJraXQtY2FsYygxMDAl
IC0gNSUpLC13ZWJraXQtY2FsYygzMCUpLC13ZWJraXQtY2FsYygwLjIgKiAzICsgMC4xKSk7IH0K
IDwvc3R5bGU+Ci0KLTxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlkPSJzaW1wbGUi
PlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9k
aXY+Ci08aHIvPgotPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBz
ZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCk8L2Rpdj4K
LTxkaXYgaWQ9InBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkICBi
ZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+Ci08aHIvPgotPGRpdiBpZD0i
Y29udHJvbGFscGhhIj5DLiBUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBj
b2xvciAoYWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+Qy4gVGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9
ImNvbnRyb2xwZXJjZW50YWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkICBiZSB0aGUg
c2FtZSBjb2xvciAocGVyY2VudCBhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IGFs
cGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgotCis8ZGl2IGlkPSJ0
ZXN0LWNvbnRhaW5lciI+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwvZGl2
PgorICAgIDxkaXYgaWQ9InNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhl
IHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRy
b2xwZXJjZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBj
b2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudHNpbXBsZSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVy
Y2VudCk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgorICAg
IDxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBj
b2xvciAoYWxwaGEpPC9kaXY+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9scGVyY2Vu
dGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3IgKHBl
cmNlbnQgYWxwaGEpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudGFscGhhIj5UaGVzZSB0d28g
c2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgYWxwaGEpPC9kaXY+
Cis8L2Rpdj4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotdGVzdHMgPSBbInNpbXBsZSIs
ICJhbHBoYSJdOwotCi12YXIgc3VjY2VzcyA9IHRydWU7CisgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgQ1NTMyBjYWxjKCkgY2FuIGJlIHVzZWQgd2l0aCB0aGUgcmdiKCkgYW5kIHJnYmEoKSBm
dW5jdGlvbnMiKTsKKyAgICAKKyAgICB0ZXN0cyA9IFsic2ltcGxlIiwgImFscGhhIl07CiAKLWZv
ciAoaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgewotICAgIHZhciB0ZXN0ID0gdGVzdHNb
aV07Ci0gICAgdmFyIGV4cGVjdGVkc2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgdmFyIGFj
dHVhbHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVz
dCksIG51bGwpLmNvbG9yOwotICAgIHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwgbnVs
bCkuY29sb3I7Ci0gICAgdmFyIGFjdHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAgCi0g
ICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBsZSkg
JiYgKGFjdHVhbHBlcmNlbnQgPT0gZXhwZWN0ZWRwZXJjZW50KTsKLX0KKyAgICBmb3IgKGkgPSAw
OyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFyIHRlc3QgPSB0ZXN0c1tpXTsK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCInICsgdGVzdCArICciKSwgbnVsbCkuY29sb3InLCBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiArIHRlc3QpLCBudWxsKS5j
b2xvcik7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiJyArICJwZXJjZW50IiArIHRlc3QgKyAnIiksIG51bGwp
LmNvbG9yJywgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJv
bHBlcmNlbnQiICsgdGVzdCksIG51bGwpLmNvbG9yKTsKKyAgICB9CiAKLXZhciByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKLWlmIChzdWNjZXNzKSB7Ci0gICAg
cmVzdWx0cy5zdHlsZS5jb2xvciA9ICJncmVlbiI7Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwgPSAi
UEFTUyI7Ci19IGVsc2UgewotICAgIHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKLSAgICBy
ZXN1bHRzLmlubmVySFRNTCA9ICJGQUlMIjsKLX0KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpKTsKIDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126292</attachid>
            <date>2012-02-09 06:25:28 -0800</date>
            <delta_ts>2012-02-09 07:54:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77596-20120210012526.patch</filename>
            <type>text/plain</type>
            <size>12168</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTQwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTViNjBhYjMxZjMxYzAwMzI0ZTIz
YzRjMWM1M2I1NmE5N2Y4MTNjNS4uMzU4ODhhNWMyMWI0OTIzYmU3ZDU2YWJhNTAxOTczYjMxMDRi
OWRjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTAxICBNaWtlIExhd3RoZXIgIDxt
aWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgdXBkYXRlIENTUzMgY2FsYygpIGNv
bG9yIHRlc3RzIHRvIHVzZSBwcmUvcG9zdCBqcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTYKKworICAgICAgICBOb3RlIHRoYXQgdGhlc2UgdGVz
dHMgYXJlIGludGVuZGVkIHRvICdmYWlsJyBhcyBjYWxjKCkgZnVuY3Rpb25hbGl0eQorICAgICAg
ICBoYWQgbm90IHlldCBsYW5kZWQgKHNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzE2NjYyKQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgorCisgICAgICAgICogY3NzMy9jYWxjL2Nv
bG9yLWhzbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1s
OgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGNzczMvY2FsYy9jb2xvci1yZ2IuaHRtbDoKKwogMjAxMi0wMi0wOCAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1oc2wtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQKaW5kZXgg
YmU4NjcxMjBiMTYxZDRlYzMyY2E4ZTE3MTg3MjQ0MjI3NjA5YmM0NS4uMjA1MmM1NmZkMjNmZjNj
NmQ2OWE3NmUwMmM3YjVhYjYyZDc3MmIxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2NvbG9yLWhzbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Nv
bG9yLWhzbC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwxMSBAQAotVGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSkKLVRoZXNlIHR3byBzZW50ZW5jZXMg
c2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpCi1UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpCi1QQVNTCitUZXN0cyB0aGF0IENTUzMgY2FsYygp
IGNhbiBiZSB1c2VkIHdpdGggdGhlIGhzbCgpIGFuZCBoc2xhKCkgZnVuY3Rpb25zCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNpbXBsZSIpLCBudWxsKS5jb2xvciBpcyAicmdiKDMxLCAyMjMsIDMx
KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWxwaGEi
KSwgbnVsbCkuY29sb3IgaXMgInJnYmEoMzEsIDIyMywgMzEsIDAuNjk5MjE5KSIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY29sb3ItaHNsLmh0bWwKaW5kZXggOTU0OGNlMGNiMzhkMDljMTIxZDg0ZGQwYzZjMGYwMjhi
YWE5OGFmYy4uNTU2MTEyZjk4NWE0YzMwNTZmNGY4OTQ4NDFiYWY0OGU0OTQ2MzcxYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9jb2xvci1oc2wuaHRtbApAQCAtMSw0MSArMSwzMiBAQAorPCFET0NUWVBF
IEhUTUw+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgogPHN0eWxlPgotZGl2IHtjb2xvcjogcmVkO30KLSNjb250cm9sc2ltcGxl
IHtjb2xvcjogaHNsKDEyMCw3NSUsNTAlKTt9Ci0jc2ltcGxlICAgICAgICB7Y29sb3I6IGhzbCgt
d2Via2l0LWNhbGMoMTIwKSwtd2Via2l0LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSk7fQor
ICAgICNjb250cm9sc2ltcGxlIHsgY29sb3I6IGhzbCgxMjAsNzUlLDUwJSk7IH0KKyAgICAjc2lt
cGxlICAgICAgICB7IGNvbG9yOiBoc2woLXdlYmtpdC1jYWxjKDEyMCksLXdlYmtpdC1jYWxjKDc1
JSksLXdlYmtpdC1jYWxjKDUwJSkpOyB9CiAKLSNjb250cm9sYWxwaGEge2NvbG9yOiBoc2xhKDEy
MCw3NSUsNTAlLDAuNyk7fQotI2FscGhhICAgICAgICB7Y29sb3I6IGhzbGEoLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygw
LjcpKTt9CisgICAgI2NvbnRyb2xhbHBoYSB7IGNvbG9yOiBoc2xhKDEyMCw3NSUsNTAlLDAuNyk7
IH0KKyAgICAjYWxwaGEgICAgICAgIHsgY29sb3I6IGhzbGEoLXdlYmtpdC1jYWxjKDEyMCksLXdl
YmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygwLjcpKTsgfQog
PC9zdHlsZT4KLQotPGRpdiBpZD0iY29udHJvbHNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBz
aG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rpdj4KLTxkaXYgaWQ9InNpbXBsZSI+
VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSk8L2Rp
dj4KLTxoci8+Ci08ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hv
dWxkIGJlIHRoZSBzYW1lIGNvbG9yIChhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9ImFscGhhIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Ci08
aHIvPgotPGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+Ci0KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVy
Ij4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50
ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+CisgICAgPGRpdiBp
ZD0ic2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAo
c2ltcGxlKTwvZGl2PgorICAgIDxoci8+CisgICAgPGRpdiBpZD0iY29udHJvbGFscGhhIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Cisg
ICAgPGRpdiBpZD0iYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1l
IGNvbG9yIChhbHBoYSk8L2Rpdj4KKzwvZGl2PgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
Ci10ZXN0cyA9IFsic2ltcGxlIiwgImFscGhhIl07CisgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgQ1NTMyBjYWxjKCkgY2FuIGJlIHVzZWQgd2l0aCB0aGUgaHNsKCkgYW5kIGhzbGEoKSBmdW5j
dGlvbnMiKTsKKyAgICAKKyAgICB0ZXN0cyA9IFsic2ltcGxlIiwgImFscGhhIl07CiAKLXZhciBz
dWNjZXNzID0gdHJ1ZTsKLQotZm9yIChpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7Ci0g
ICAgdmFyIHRlc3QgPSB0ZXN0c1tpXTsKLSAgICB2YXIgZXhwZWN0ZWQgPSBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9sIiArIHRlc3QpLCBudWxsKS5jb2xv
cjsKLSAgICB2YXIgYWN0dWFsID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCh0ZXN0KSwgbnVsbCkuY29sb3I7Ci0gICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgKGFjdHVh
bCA9PSBleHBlY3RlZCk7Ci19Ci0KLXZhciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdHMiKTsKLWlmIChzdWNjZXNzKSB7Ci0gICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9
ICJncmVlbiI7Ci0gICAgcmVzdWx0cy5pbm5lckhUTUwgPSAiUEFTUyI7Ci19IGVsc2UgewotICAg
IHJlc3VsdHMuc3R5bGUuY29sb3IgPSAicmVkIjsKLSAgICByZXN1bHRzLmlubmVySFRNTCA9ICJG
QUlMIjsKLX0KKyAgICBmb3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgdmFyIHRlc3QgPSB0ZXN0c1tpXTsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInICsgdGVzdCArICciKSwg
bnVsbCkuY29sb3InLCBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b250cm9sIiArIHRlc3QpLCBudWxsKS5jb2xvcik7CisgICAgfQorICAgIAorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFpbmVyIikpOyAgIAogPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJn
Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVk
LnR4dAppbmRleCA2MTMzZjZhNTJlZmIxZjM2MzFkMDkyNGQ0ODQyYTM5MGRjMTZiY2EzLi5kNGM3
NzBkOGNhNTJmMDIwN2I2YjVjOTAyZjEyMDQ4ZDczNmJkN2FiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDE1IEBACi1UaGVzZSB0
d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKQotVGhlc2UgdHdv
IHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKHNpbXBsZSkKLUIuIFRoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCkKLUIu
IFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVy
Y2VudCkKLUMuIFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChh
bHBoYSkKLUMuIFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChh
bHBoYSkKLVRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJj
ZW50IGFscGhhKQotVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3Ig
KHBlcmNlbnQgYWxwaGEpCi1QQVNTCitUZXN0cyB0aGF0IENTUzMgY2FsYygpIGNhbiBiZSB1c2Vk
IHdpdGggdGhlIHJnYigpIGFuZCByZ2JhKCkgZnVuY3Rpb25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNpbXBsZSIpLCBudWxsKS5jb2xvciBpcyAicmdiKDEwLCAxODAsIDMwKSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGVyY2VudHNpbXBsZSIpLCBu
dWxsKS5jb2xvciBpcyAicmdiKDI1LCAyNDMsIDc2KSIKK0ZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGVyY2VudG51bWJlciIpLCBudWxsKS5jb2xvciBzaG91
bGQgYmUgcmdiKDI2LCAyNDAsIDgwKS4gV2FzIHJnYigwLCAwLCAwKS4KK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWxwaGEiKSwgbnVsbCkuY29sb3IgaXMg
InJnYmEoMTAsIDE4MCwgMzAsIDAuNjk5MjE5KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGVyY2VudGFscGhhIiksIG51bGwpLmNvbG9yIGlzICJyZ2Jh
KDI1LCAyNDMsIDc2LCAwLjY5OTIxOSkiCitGQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInBlcmNlbnRudW1iZXJhbHBoYSIpLCBudWxsKS5jb2xvciBzaG91bGQg
YmUgcmdiYSgyNiwgMjQwLCA4MCwgMC40OTYwOTQpLiBXYXMgcmdiKDAsIDAsIDApLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NzczMvY2FsYy9jb2xvci1yZ2IuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jb2xvci1yZ2IuaHRtbAppbmRleCBjMjU4NWZmZmExZWZiNjdiNTNkYzVjZjk3MzM3ZjA4
ZTljM2NkMWE0Li4zOWY3YWY1M2U1ZDYwZGRjZmQzYjU1N2ZhMGJmODZiMWIxODY4OWJhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCkBAIC0xLDUzICsxLDUxIEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CiA8c3R5bGU+Ci1kaXYge2NvbG9yOiByZWQ7fQotI2NvbnRyb2xzaW1w
bGUge2NvbG9yOiByZ2IoMTAsMTgwLDMwKTt9Ci0jc2ltcGxlICAgICAgICB7Y29sb3I6IHJnYigt
d2Via2l0LWNhbGMoMTApLC13ZWJraXQtY2FsYygxOCAqIDEwKSwtd2Via2l0LWNhbGMoMzApKTt9
Ci0jY29udHJvbHBlcmNlbnRzaW1wbGUge2NvbG9yOiByZ2IoMTAlLDk1JSwzMCUpO30KLSNwZXJj
ZW50c2ltcGxlICAgICAgICB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtp
dC1jYWxjKDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisgICAgI2NvbnRyb2xzaW1wbGUg
eyBjb2xvcjogcmdiKDEwLDE4MCwzMCk7IH0KKyAgICAjc2ltcGxlICAgICAgICB7IGNvbG9yOiBy
Z2IoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMw
KSk7IH0KKyAgICAjY29udHJvbHBlcmNlbnRzaW1wbGUgeyBjb2xvcjogcmdiKDEwJSw5NSUsMzAl
KTsgfQorICAgICNwZXJjZW50c2ltcGxlICAgICAgICB7IGNvbG9yOiByZ2IoLXdlYmtpdC1jYWxj
KDIlICsgOCUpLC13ZWJraXQtY2FsYyg5NSUpLC13ZWJraXQtY2FsYygzJSAqIDEwKSk7IH0KKyAg
ICAjY29udHJvbHBlcmNlbnRudW1iZXIgeyBjb2xvcjogcmdiKDI2LDI0MCw4MCk7IH0KKyAgICAj
cGVyY2VudG51bWJlciAgICAgICAgeyBjb2xvcjogcmdiKC13ZWJraXQtY2FsYygyJSArIDglICsg
MSksLXdlYmtpdC1jYWxjKDk1JSAtIDMpLC13ZWJraXQtY2FsYygzJSAqIDEwICsgNCkpOyB9CiAK
LSNjb250cm9sYWxwaGEge2NvbG9yOiByZ2JhKDEwLDE4MCwzMCwwLjcpO30KLSNhbHBoYSAgICAg
ICAge2NvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygxMCksLXdlYmtpdC1jYWxjKDE4MCksLXdlYmtp
dC1jYWxjKDMwKSwgLXdlYmtpdC1jYWxjKDAuMzUgKiAyKSk7fQotI2NvbnRyb2xwZXJjZW50YWxw
aGEge2NvbG9yOiByZ2JhKDEwJSw5NSUsMzAlLDAuNyk7fQotI3BlcmNlbnRhbHBoYSAgICAgICAg
e2NvbG9yOiByZ2JhKC13ZWJraXQtY2FsYygyICogNSUpLC13ZWJraXQtY2FsYygxMDAlIC0gNSUp
LC13ZWJraXQtY2FsYygzMCUpLC13ZWJraXQtY2FsYygwLjIgKiAzICsgMC4xKSk7fQorICAgICNj
b250cm9sYWxwaGEgeyBjb2xvcjogcmdiYSgxMCwxODAsMzAsMC43KTsgfQorICAgICNhbHBoYSAg
ICAgICAgeyBjb2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMTApLC13ZWJraXQtY2FsYygxODApLC13
ZWJraXQtY2FsYygzMCksIC13ZWJraXQtY2FsYygwLjM1ICogMikpOyB9CisgICAgI2NvbnRyb2xw
ZXJjZW50YWxwaGEgeyBjb2xvcjogcmdiYSgxMCUsOTUlLDMwJSwwLjcpOyB9CisgICAgI3BlcmNl
bnRhbHBoYSAgICAgICAgeyBjb2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMiAqIDUlKSwtd2Via2l0
LWNhbGMoMTAwJSAtIDUlKSwtd2Via2l0LWNhbGMoMzAlKSwtd2Via2l0LWNhbGMoMC4yICogMyAr
IDAuMSkpOyB9CisgICAgI2NvbnRyb2xwZXJjZW50bnVtYmVyYWxwaGEgeyBjb2xvcjogcmdiYSgy
NiwyNDAsODAsIDAuNSk7IH0KKyAgICAjcGVyY2VudG51bWJlcmFscGhhICAgICAgICB7IGNvbG9y
OiByZ2JhKC13ZWJraXQtY2FsYygyJSArIDglICsgMSksLXdlYmtpdC1jYWxjKDk1JSAtIDMpLC13
ZWJraXQtY2FsYygzJSAqIDEwICsgNCksIC13ZWJraXQtY2FsYygxLjAgLyAyKSk7IH0KIDwvc3R5
bGU+Ci0KLTxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxk
IGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08ZGl2IGlkPSJzaW1wbGUiPlRoZXNl
IHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUpPC9kaXY+Ci08
aHIvPgotPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCk8L2Rpdj4KLTxkaXYg
aWQ9InBlcmNlbnRzaW1wbGUiPkIuIFRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkICBiZSB0aGUg
c2FtZSBjb2xvciAoc2ltcGxlIHBlcmNlbnQpPC9kaXY+Ci08aHIvPgotPGRpdiBpZD0iY29udHJv
bGFscGhhIj5DLiBUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAo
YWxwaGEpPC9kaXY+Ci08ZGl2IGlkPSJhbHBoYSI+Qy4gVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgYmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgotPGhyLz4KLTxkaXYgaWQ9ImNvbnRy
b2xwZXJjZW50YWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkICBiZSB0aGUgc2FtZSBj
b2xvciAocGVyY2VudCBhbHBoYSk8L2Rpdj4KLTxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+VGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IGFscGhhKTwv
ZGl2PgotPGhyLz4KLTxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgotCis8ZGl2IGlkPSJ0ZXN0LWNv
bnRhaW5lciI+CisgICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0
d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoc2ltcGxlKTwvZGl2PgorICAg
IDxkaXYgaWQ9InNpbXBsZSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUg
Y29sb3IgKHNpbXBsZSk8L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xwZXJj
ZW50c2ltcGxlIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAo
c2ltcGxlIHBlcmNlbnQpPC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudHNpbXBsZSI+VGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChzaW1wbGUgcGVyY2VudCk8
L2Rpdj4KKyAgICA8aHIvPgorICAgIDxkaXYgaWQ9ImNvbnRyb2xwZXJjZW50bnVtYmVyIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAocGVyY2VudCBudW1iZXIp
PC9kaXY+CisgICAgPGRpdiBpZD0icGVyY2VudG51bWJlciI+VGhlc2UgdHdvIHNlbnRlbmNlcyBz
aG91bGQgIGJlIHRoZSBzYW1lIGNvbG9yIChwZXJjZW50IG51bWJlcik8L2Rpdj4KKyAgICA8aHIv
PgorICAgIDxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQg
YmUgdGhlIHNhbWUgY29sb3IgKGFscGhhKTwvZGl2PgorICAgIDxkaXYgaWQ9ImFscGhhIj5UaGVz
ZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvciAoYWxwaGEpPC9kaXY+Cisg
ICAgPGhyLz4KKyAgICA8ZGl2IGlkPSJjb250cm9scGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgYWxwaGEpPC9kaXY+Cisg
ICAgPGRpdiBpZD0icGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUg
dGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgYWxwaGEpPC9kaXY+CisgICAgPGhyLz4KKyAgICA8ZGl2
IGlkPSJjb250cm9scGVyY2VudG51bWJlcmFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvciAocGVyY2VudCBudW1iZXIgYWxwaGEpPC9kaXY+CisgICAgPGRp
diBpZD0icGVyY2VudG51bWJlcmFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUg
dGhlIHNhbWUgY29sb3IgKHBlcmNlbnQgbnVtYmVyIGFscGhhKTwvZGl2PgorPC9kaXY+CiA8c2Ny
aXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLXRlc3RzID0gWyJzaW1wbGUiLCAiYWxwaGEiXTsKLQot
dmFyIHN1Y2Nlc3MgPSB0cnVlOworICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IENTUzMgY2Fs
YygpIGNhbiBiZSB1c2VkIHdpdGggdGhlIHJnYigpIGFuZCByZ2JhKCkgZnVuY3Rpb25zIik7Cisg
ICAgCisgICAgdGVzdHMgPSBbInNpbXBsZSIsICJwZXJjZW50c2ltcGxlIiwgInBlcmNlbnRudW1i
ZXIiLCAiYWxwaGEiLCAicGVyY2VudGFscGhhIiwgInBlcmNlbnRudW1iZXJhbHBoYSJdOwogCi1m
b3IgKGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyBpKyspIHsKLSAgICB2YXIgdGVzdCA9IHRlc3Rz
W2ldOwotICAgIHZhciBleHBlY3RlZHNpbXBsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiICsgdGVzdCksIG51bGwpLmNvbG9yOwotICAgIHZhciBh
Y3R1YWxzaW1wbGUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRl
c3QpLCBudWxsKS5jb2xvcjsKLSAgICB2YXIgZXhwZWN0ZWRwZXJjZW50ID0gZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbHBlcmNlbnQiICsgdGVzdCksIG51
bGwpLmNvbG9yOwotICAgIHZhciBhY3R1YWxwZXJjZW50ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGVyY2VudCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7ICAgIAot
ICAgIHN1Y2Nlc3MgPSBzdWNjZXNzICYmIChhY3R1YWxzaW1wbGUgPT0gZXhwZWN0ZWRzaW1wbGUp
ICYmIChhY3R1YWxwZXJjZW50ID09IGV4cGVjdGVkcGVyY2VudCk7Ci19CisgICAgZm9yIChpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHZhciB0ZXN0ID0gdGVzdHNbaV07
CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiJyArIHRlc3QgKyAnIiksIG51bGwpLmNvbG9yJywgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIgKyB0ZXN0KSwgbnVsbCku
Y29sb3IpOworICAgIH0KIAotdmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0cyIpOwotaWYgKHN1Y2Nlc3MpIHsKLSAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdy
ZWVuIjsKLSAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKLX0gZWxzZSB7Ci0gICAgcmVz
dWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOwotICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwi
OwotfQorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFp
bmVyIikpOwogPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>