<?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>52172</bug_id>
          
          <creation_ts>2011-01-10 15:26:00 -0800</creation_ts>
          <short_desc>Max area bound needed in creation of IOSurface in ImageBufferCG.cpp</short_desc>
          <delta_ts>2011-01-13 06:42:06 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Delaney">mdelaney7</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>adele</cc>
    
    <cc>alp</cc>
    
    <cc>cmarrin</cc>
    
    <cc>kbr</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>331988</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-10 15:26:00 -0800</bug_when>
    <thetext>During IOSurface creation in ImageBufferCG.cpp, there is currently no bound on the size that is requested. This should be capped at a reasonable area of 8192 x 8192. 

&lt;rdar://problem/8762744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332023</commentid>
    <comment_count>1</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-10 16:04:31 -0800</bug_when>
    <thetext>Actually, I think the current max area should be at least as large as the max area allowed for a canvas since canvas is currently IOSurface&apos;s only client in WebCore. This max area is 32768 * 8192. The coming patch will be to enforce this size constraint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332026</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-10 16:05:41 -0800</bug_when>
    <thetext>Does making an IOSurface that large succeed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332052</commentid>
    <comment_count>3</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-10 16:53:03 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Does making an IOSurface that large succeed?
Yes. Instead, this patch will fallback to not using an IOSurface if either the width of height is larger than a max dimension of 4096.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332053</commentid>
    <comment_count>4</comment_count>
      <attachid>78472</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-10 16:55:23 -0800</bug_when>
    <thetext>Created attachment 78472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332058</commentid>
    <comment_count>5</comment_count>
      <attachid>78472</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-10 16:57:42 -0800</bug_when>
    <thetext>Comment on attachment 78472
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:119
&gt; +    if (size.width() &gt; MaxIOSurfaceDimension || size.height() &gt; MaxIOSurfaceDimension)

You should probably use &gt;= here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332059</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-10 16:57:55 -0800</bug_when>
    <thetext>Can you add Layout tests for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332061</commentid>
    <comment_count>7</comment_count>
      <attachid>78472</attachid>
    <who name="">mitz</who>
    <bug_when>2011-01-10 16:58:03 -0800</bug_when>
    <thetext>Comment on attachment 78472
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:57
&gt; +static const int MaxIOSurfaceDimension = 4096;

Current WebKit style is that this should begin with a lowercase m.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332075</commentid>
    <comment_count>8</comment_count>
      <attachid>78478</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-10 17:41:01 -0800</bug_when>
    <thetext>Created attachment 78478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332076</commentid>
    <comment_count>9</comment_count>
      <attachid>78478</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-10 17:42:35 -0800</bug_when>
    <thetext>Comment on attachment 78478
Patch

Should you be adding to philip tests? It seems that this suite should only contain tests from him.

r- for that and lack of LayoutTests changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332517</commentid>
    <comment_count>10</comment_count>
      <attachid>78573</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-11 12:03:28 -0800</bug_when>
    <thetext>Created attachment 78573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332527</commentid>
    <comment_count>11</comment_count>
      <attachid>78573</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-11 12:12:33 -0800</bug_when>
    <thetext>Comment on attachment 78573
Patch

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

&gt; LayoutTests/canvas/tests.js:10
&gt; +function _valToString(val)
&gt; +{
&gt; +        return &apos;[&apos; + typeof(val) + &apos;]&apos;;
&gt; +}
&gt; +var _failed = false;
&gt; +var _asserted = false;
&gt; +

Why all the underscores?

You should really just use the js-test stuff in fast/js/resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332603</commentid>
    <comment_count>12</comment_count>
      <attachid>78589</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-11 13:19:49 -0800</bug_when>
    <thetext>Created attachment 78589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332610</commentid>
    <comment_count>13</comment_count>
      <attachid>78589</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-11 13:41:07 -0800</bug_when>
    <thetext>Comment on attachment 78589
Patch

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

r=me with some test cleanup.

&gt; LayoutTests/ChangeLog:11
&gt; +        * fast/canvas/height.largeValues-expected.txt: Added.
&gt; +        * fast/canvas/height.largeValues.html: Added.
&gt; +        * fast/canvas/width.largeValues-expected.txt: Added.
&gt; +        * fast/canvas/width.largeValues.html: Added.

I see no reason to have separate tests for height and width. Also, the &apos;.&apos; naming convention isn&apos;t used in fast/ tests normally.

&gt; LayoutTests/fast/canvas/height.largeValues.html:15
&gt; +canvas.height = 1000;
&gt; +if (canvas.height ==1000)
&gt; +	testPassed(&quot;height == 1000&quot;);
&gt; +else
&gt; +	testFailed(&quot;height == 1000&quot;);

Does this really exercise the underlying ImageBuffer code? How about trying to draw a pixel at 0, 999 and then reading it back?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333263</commentid>
    <comment_count>14</comment_count>
      <attachid>78727</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-12 13:52:35 -0800</bug_when>
    <thetext>Created attachment 78727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333347</commentid>
    <comment_count>15</comment_count>
      <attachid>78727</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-01-12 15:15:48 -0800</bug_when>
    <thetext>Comment on attachment 78727
Patch

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

&gt; LayoutTests/fast/canvas/canvas-large-dimensions.html:33
&gt; +		testPassed(msg);
&gt; +	else
&gt; +		testFailed(msg);
&gt; +	x = canvas.width-2;

Weird indentation. Tabs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333361</commentid>
    <comment_count>16</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-12 15:36:24 -0800</bug_when>
    <thetext>Committed r75648: &lt;http://trac.webkit.org/changeset/75648&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333524</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-12 20:47:57 -0800</bug_when>
    <thetext>The test added by this patch (fast/canvas/canvas-large-dimensions.html) has been failing on Leopard, GTK, Qt, and Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333531</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-12 21:25:45 -0800</bug_when>
    <thetext>I didn&apos;t notice but https://bugs.webkit.org/show_bug.cgi?id=52341 had been filed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78472</attachid>
            <date>2011-01-10 16:55:23 -0800</date>
            <delta_ts>2011-01-10 17:40:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52172-20110110165518.patch</filename>
            <type>text/plain</type>
            <size>1914</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1NDU0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDEtMTAgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXggYXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24g
b2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVyQ0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjE3MgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBu
ZWVkZWQgLSBubyBvdXR3YXJkIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
QnVmZmVyOjpJbWFnZUJ1ZmZlcik6CisKIDIwMTEtMDEtMTAgIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZm
ZXJDRy5jcHAJKHJldmlzaW9uIDc1MzkyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDgg
QEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRShJ
T1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUpCitzdGF0aWMgY29uc3QgaW50IE1heElPU3Vy
ZmFjZURpbWVuc2lvbiA9IDQwOTY7CisKIHN0YXRpYyBSZXRhaW5QdHI8SU9TdXJmYWNlUmVmPiBj
cmVhdGVJT1N1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICB1bnNpZ25lZCBwaXhl
bEZvcm1hdCA9ICdCR1JBJzsKQEAgLTExMCwxMiArMTEyLDE1IEBAIEltYWdlQnVmZmVyOjpJbWFn
ZUJ1ZmZlcihjb25zdCBJbnRTaXplJiAKICAgICAsIG1fc2l6ZShzaXplKQogICAgICwgbV9hY2Nl
bGVyYXRlUmVuZGVyaW5nKHJlbmRlcmluZ01vZGUgPT0gQWNjZWxlcmF0ZWQpCiB7Ci0jaWYgIVVT
RShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdfU1RPUkUpCi0gICAgQVNTRVJUKHJlbmRlcmluZ01v
ZGUgPT0gVW5hY2NlbGVyYXRlZCk7Ci0jZW5kaWYKICAgICBzdWNjZXNzID0gZmFsc2U7ICAvLyBN
YWtlIGVhcmx5IHJldHVybiBtZWFuIGZhaWx1cmUuCiAgICAgaWYgKHNpemUud2lkdGgoKSA8IDAg
fHwgc2l6ZS5oZWlnaHQoKSA8IDApCiAgICAgICAgIHJldHVybjsKKyNpZiBVU0UoSU9TVVJGQUNF
X0NBTlZBU19CQUNLSU5HX1NUT1JFKQorICAgIGlmIChzaXplLndpZHRoKCkgPiBNYXhJT1N1cmZh
Y2VEaW1lbnNpb24gfHwgc2l6ZS5oZWlnaHQoKSA+IE1heElPU3VyZmFjZURpbWVuc2lvbikKKyAg
ICAgICAgbV9hY2NlbGVyYXRlUmVuZGVyaW5nID0gZmFsc2U7CisjZWxzZQorICAgIEFTU0VSVChy
ZW5kZXJpbmdNb2RlID09IFVuYWNjZWxlcmF0ZWQpOworI2VuZGlmCiAKICAgICB1bnNpZ25lZCBi
eXRlc1BlclJvdyA9IHNpemUud2lkdGgoKTsKICAgICBpZiAoYnl0ZXNQZXJSb3cgPiAweDNGRkZG
RkZGKSAvLyBQcm90ZWN0IGFnYWluc3Qgb3ZlcmZsb3cK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78478</attachid>
            <date>2011-01-10 17:41:01 -0800</date>
            <delta_ts>2011-01-11 12:03:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52172-20110110174059.patch</filename>
            <type>text/plain</type>
            <size>3826</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1NDU0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDEtMTAgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXggYXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24g
b2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVyQ0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjE3MgorCisgICAgICAgIEFkZGVkIHR3byB0ZXN0
cyAtIG9uZSBmb3IgZWFjaCBjYW52YXMud2lkdGgvaGVpZ2h0IHRvIGNoZWNrIGZvciBubyBjcmFz
aGVzIG9uIGxhcmdlIHZhbHVlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlQnVmZmVyQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OkltYWdlQnVm
ZmVyKToKKwogMjAxMS0wMS0xMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAkocmV2aXNp
b24gNzUzOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1
ZmZlckNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOCBAQCB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgVVNFKElPU1VSRkFDRV9DQU5WQVNf
QkFDS0lOR19TVE9SRSkKK3N0YXRpYyBjb25zdCBpbnQgbWF4SU9TdXJmYWNlRGltZW5zaW9uID0g
NDA5NjsKKwogc3RhdGljIFJldGFpblB0cjxJT1N1cmZhY2VSZWY+IGNyZWF0ZUlPU3VyZmFjZShj
b25zdCBJbnRTaXplJiBzaXplKQogewogICAgIHVuc2lnbmVkIHBpeGVsRm9ybWF0ID0gJ0JHUkEn
OwpAQCAtMTEwLDEyICsxMTIsMTUgQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVyKGNvbnN0IElu
dFNpemUmIAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2FjY2VsZXJhdGVSZW5kZXJpbmco
cmVuZGVyaW5nTW9kZSA9PSBBY2NlbGVyYXRlZCkKIHsKLSNpZiAhVVNFKElPU1VSRkFDRV9DQU5W
QVNfQkFDS0lOR19TVE9SRSkKLSAgICBBU1NFUlQocmVuZGVyaW5nTW9kZSA9PSBVbmFjY2VsZXJh
dGVkKTsKLSNlbmRpZgogICAgIHN1Y2Nlc3MgPSBmYWxzZTsgIC8vIE1ha2UgZWFybHkgcmV0dXJu
IG1lYW4gZmFpbHVyZS4KICAgICBpZiAoc2l6ZS53aWR0aCgpIDwgMCB8fCBzaXplLmhlaWdodCgp
IDwgMCkKICAgICAgICAgcmV0dXJuOworI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFTX0JBQ0tJTkdf
U1RPUkUpCisgICAgaWYgKHNpemUud2lkdGgoKSA+PSBNYXhJT1N1cmZhY2VEaW1lbnNpb24gfHwg
c2l6ZS5oZWlnaHQoKSA+PSBNYXhJT1N1cmZhY2VEaW1lbnNpb24pCisgICAgICAgIG1fYWNjZWxl
cmF0ZVJlbmRlcmluZyA9IGZhbHNlOworI2Vsc2UKKyAgICBBU1NFUlQocmVuZGVyaW5nTW9kZSA9
PSBVbmFjY2VsZXJhdGVkKTsKKyNlbmRpZgogCiAgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3cgPSBz
aXplLndpZHRoKCk7CiAgICAgaWYgKGJ5dGVzUGVyUm93ID4gMHgzRkZGRkZGRikgLy8gUHJvdGVj
dCBhZ2FpbnN0IG92ZXJmbG93CkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvcGhpbGlwL290aGVy
dGVzdHMvaGVpZ2h0LmxhcmdlVmFsdWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Y2FudmFzL3BoaWxpcC9vdGhlcnRlc3RzL2hlaWdodC5sYXJnZVZhbHVlcy5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3BoaWxpcC9vdGhlcnRlc3RzL2hlaWdodC5sYXJn
ZVZhbHVlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT5DYW52YXMgdGVzdDogaGVpZ2h0LmxhcmdlVmFsdWVzPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIuLi90ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uL3Rlc3RzLmNzcyI+Cis8Ym9keT4KKzxwIGlkPSJwYXNzdGV4dCI+UGFzczwvcD4KKzx1
bCBpZD0iZCI+PC91bD4KKzxjYW52YXMgaWQ9ImMiIGNsYXNzPSJvdXRwdXQiIHdpZHRoPSIxMDAi
IGhlaWdodD0iNTAiPjxwIGNsYXNzPSJmYWxsYmFjayI+RkFJTCAoZmFsbGJhY2sgY29udGVudCk8
L3A+PC9jYW52YXM+Cis8c2NyaXB0PgorX2FkZFRlc3QoZnVuY3Rpb24oY2FudmFzLCBjdHgpIHsK
KworY2FudmFzLmhlaWdodCA9IDEwMDA7CitfYXNzZXJ0KGNhbnZhcy5oZWlnaHQgPT0gMTAwMCwg
ImNhbnZhcy5oZWlnaHQgPT0gMTAwMCIpOworCitjYW52YXMuaGVpZ2h0ID0gNTAwMDsKK19hc3Nl
cnQoY2FudmFzLmhlaWdodCA9PSA1MDAwLCAiY2FudmFzLmhlaWdodCA9PSA1MDAwIik7CisKK2Nh
bnZhcy5oZWlnaHQgPSA1MDAwMDAwOworX2Fzc2VydChjYW52YXMuaGVpZ2h0ID09IDUwMDAwMDAs
ICJjYW52YXMuaGVpZ2h0ID09IDUwMDAwMDAiKTsKK30pOworPC9zY3JpcHQ+CisKSW5kZXg6IExh
eW91dFRlc3RzL2NhbnZhcy9waGlsaXAvb3RoZXJ0ZXN0cy93aWR0aC5sYXJnZVZhbHVlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9waGlsaXAvb3RoZXJ0ZXN0cy93aWR0
aC5sYXJnZVZhbHVlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY2FudmFzL3Bo
aWxpcC9vdGhlcnRlc3RzL3dpZHRoLmxhcmdlVmFsdWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkNhbnZhcyB0ZXN0OiB3aWR0aC5s
YXJnZVZhbHVlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vdGVzdHMuanMiPjwvc2NyaXB0Pgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi90ZXN0cy5jc3MiPgorPGJvZHk+Cis8cCBp
ZD0icGFzc3RleHQiPlBhc3M8L3A+Cis8dWwgaWQ9ImQiPjwvdWw+Cis8Y2FudmFzIGlkPSJjIiBj
bGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2si
PkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHNjcmlwdD4KK19hZGRUZXN0
KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CisKK2NhbnZhcy53aWR0aCA9IDEwMDA7CitfYXNzZXJ0
KGNhbnZhcy53aWR0aCA9PSAxMDAwLCAiY2FudmFzLndpZHRoID09IDEwMDAiKTsKKworY2FudmFz
LndpZHRoID0gNTAwMDsKK19hc3NlcnQoY2FudmFzLndpZHRoID09IDUwMDAsICJjYW52YXMud2lk
dGggPT0gNTAwMCIpOworCitjYW52YXMud2lkdGggPSA1MDAwMDAwOworX2Fzc2VydChjYW52YXMu
d2lkdGggPT0gNTAwMDAwMCwgImNhbnZhcy53aWR0aCA9PSA1MDAwMDAwIik7Cit9KTsKKzwvc2Ny
aXB0PgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78573</attachid>
            <date>2011-01-11 12:03:28 -0800</date>
            <delta_ts>2011-01-11 13:19:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52172-20110111120325.patch</filename>
            <type>text/plain</type>
            <size>11624</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1NTIzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMTEgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXggYXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24g
b2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVyQ0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjE3MgorCisgICAgICAgIFRlc3RzOiBjYW52YXMv
aGVpZ2h0LmxhcmdlVmFsdWVzLmh0bWwKKyAgICAgICAgICAgICAgIGNhbnZhcy93aWR0aC5sYXJn
ZVZhbHVlcy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZl
ckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6CisK
IDIwMTEtMDEtMTAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDRy5jcHAJKHJldmlz
aW9uIDc1MzkyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VC
dWZmZXJDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDggQEAgdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFT
X0JBQ0tJTkdfU1RPUkUpCitzdGF0aWMgY29uc3QgaW50IG1heElPU3VyZmFjZURpbWVuc2lvbiA9
IDQwOTY7CisKIHN0YXRpYyBSZXRhaW5QdHI8SU9TdXJmYWNlUmVmPiBjcmVhdGVJT1N1cmZhY2Uo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCA9ICdCR1JB
JzsKQEAgLTExMCwxMiArMTEyLDE1IEBAIEltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcihjb25zdCBJ
bnRTaXplJiAKICAgICAsIG1fc2l6ZShzaXplKQogICAgICwgbV9hY2NlbGVyYXRlUmVuZGVyaW5n
KHJlbmRlcmluZ01vZGUgPT0gQWNjZWxlcmF0ZWQpCiB7Ci0jaWYgIVVTRShJT1NVUkZBQ0VfQ0FO
VkFTX0JBQ0tJTkdfU1RPUkUpCi0gICAgQVNTRVJUKHJlbmRlcmluZ01vZGUgPT0gVW5hY2NlbGVy
YXRlZCk7Ci0jZW5kaWYKICAgICBzdWNjZXNzID0gZmFsc2U7ICAvLyBNYWtlIGVhcmx5IHJldHVy
biBtZWFuIGZhaWx1cmUuCiAgICAgaWYgKHNpemUud2lkdGgoKSA8IDAgfHwgc2l6ZS5oZWlnaHQo
KSA8IDApCiAgICAgICAgIHJldHVybjsKKyNpZiBVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5H
X1NUT1JFKQorICAgIGlmIChzaXplLndpZHRoKCkgPj0gTWF4SU9TdXJmYWNlRGltZW5zaW9uIHx8
IHNpemUuaGVpZ2h0KCkgPj0gTWF4SU9TdXJmYWNlRGltZW5zaW9uKQorICAgICAgICBtX2FjY2Vs
ZXJhdGVSZW5kZXJpbmcgPSBmYWxzZTsKKyNlbHNlCisgICAgQVNTRVJUKHJlbmRlcmluZ01vZGUg
PT0gVW5hY2NlbGVyYXRlZCk7CisjZW5kaWYKIAogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93ID0g
c2l6ZS53aWR0aCgpOwogICAgIGlmIChieXRlc1BlclJvdyA+IDB4M0ZGRkZGRkYpIC8vIFByb3Rl
Y3QgYWdhaW5zdCBvdmVyZmxvdwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzU1MjQpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMS0x
MSAgTWF0dGhldyBEZWxhbmV5ICA8bWRlbGFuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1heCBhcmVhIGJvdW5kIG5lZWRlZCBp
biBjcmVhdGlvbiBvZiBJT1N1cmZhY2UgaW4gSW1hZ2VCdWZmZXJDRy5jcHAKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMTcyCisKKyAgICAgICAgKiBj
YW52YXMvaGVpZ2h0LmxhcmdlVmFsdWVzLmh0bWw6IFRlc3RzIGxhcmdlIHZhbHVlcyBvZiBjYW52
YXMuaGVpZ2h0CisgICAgICAgICogY2FudmFzL3dpZHRoLmxhcmdlVmFsdWVzLmh0bWw6IERpdHRv
IF5eIGZvciB3aWR0aAorICAgICAgICAqIGNhbnZhcy90ZXN0cy5jc3M6IENvcGllZCBmcm9tIGNh
bnZhcy9waGlsaXAgZGlyIGZvciB1c2Ugd2l0aCBpbiBuZXcgY2FudmFzIHRlc3RzCisgICAgICAg
ICogY2FudmFzL3Rlc3RzLmpzOiBEaXR0byBeXgorCiAyMDExLTAxLTEwICBaaGVueWFvIE1vICA8
em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJ
bmRleDogTGF5b3V0VGVzdHMvY2FudmFzL2hlaWdodC5sYXJnZVZhbHVlcy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy9oZWlnaHQubGFyZ2VWYWx1ZXMuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2NhbnZhcy9oZWlnaHQubGFyZ2VWYWx1ZXMuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q2FudmFz
IHRlc3Q6IGhlaWdodC5sYXJnZVZhbHVlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0idGVzdHMuanMi
Pjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ0ZXN0cy5jc3MiPgorPGJv
ZHk+Cis8cCBpZD0icGFzc3RleHQiPlBhc3M8L3A+Cis8dWwgaWQ9ImQiPjwvdWw+Cis8Y2FudmFz
IGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0i
ZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHNjcmlwdD4K
K19hZGRUZXN0KGZ1bmN0aW9uKGNhbnZhcywgY3R4KSB7CisKK2NhbnZhcy5oZWlnaHQgPSAxMDAw
OworX2Fzc2VydChjYW52YXMuaGVpZ2h0ID09IDEwMDAsICJjYW52YXMuaGVpZ2h0ID09IDEwMDAi
KTsKKworY2FudmFzLmhlaWdodCA9IDUwMDA7CitfYXNzZXJ0KGNhbnZhcy5oZWlnaHQgPT0gNTAw
MCwgImNhbnZhcy5oZWlnaHQgPT0gNTAwMCIpOworCitjYW52YXMuaGVpZ2h0ID0gNTAwMDAwMDsK
K19hc3NlcnQoY2FudmFzLmhlaWdodCA9PSA1MDAwMDAwLCAiY2FudmFzLmhlaWdodCA9PSA1MDAw
MDAwIik7Cit9KTsKKzwvc2NyaXB0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvdGVzdHMu
Y3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NhbnZhcy90ZXN0cy5jc3MJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9jYW52YXMvdGVzdHMuY3NzCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEyOCBAQAoraHRtbC5mYWlsIHsKKyAgICBiYWNrZ3JvdW5kOiAjZjY2OworfQoraHRtbC5w
YXNzIHsKKyAgICBiYWNrZ3JvdW5kOiAjNmY2OworfQoraHRtbC5uZWVkc19jaGVjayB7CisgICAg
YmFja2dyb3VuZDogIzk5ZjsKK30KKworYm9keSB7CisgICAgZm9udC1zaXplOiBzbWFsbDsKKyAg
ICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKKyAgICBjb2xvcjogYmxhY2s7Cit9CisKK2E6bGlu
ayB7CisgICAgY29sb3I6ICMwMGM7Cit9CithOnZpc2l0ZWQgeworICAgIGNvbG9yOiAjODA4Owor
fQorCitib2R5LmZyYW1lZCB7CisgICAgZm9udC1zaXplOiB4LXNtYWxsOworfQorCitoMSB7Cisg
ICAgZm9udC1zaXplOiBsYXJnZXI7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmctbGVmdDog
MC41ZW07CisgICAgdGV4dC1pbmRlbnQ6IC0wLjVlbTsKK30KKworcCB7CisgICAgbWFyZ2luOiAw
OworfQorCitwLm5vdGVzIHsKKyAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKKyAgICBmb250LXN0
eWxlOiBpdGFsaWM7Cit9CisKK3VsIHsKKyAgICBtYXJnaW46IDA7CisgICAgbWFyZ2luLWJvdHRv
bTogMC41ZW07CisgICAgcGFkZGluZzogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKK30KKwor
LnJlZnMgeworICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKKyAgICBtYXJnaW4tYm90dG9tOiAwLjVl
bTsKK30KKworLnJlZnMgdWwgeworICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBtYXJnaW46IDA7
CisgICAgcGFkZGluZzogMDsKK30KKworLnJlZnMgbGkgeworICAgIGRpc3BsYXk6IGlubGluZTsK
KyAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6
IDA7Cit9CisKK2NhbnZhcyB7CisgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKKyAgICB2
aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyOiAycHggI2YwZiBzb2xp
ZDsKK30KKworaW1nLmV4cGVjdGVkIHsKKyAgICBkaXNwbGF5OiBub25lOworICAgIGJvcmRlcjog
MnB4ICNmMGYgc29saWQ7Cit9CisKK2lmcmFtZSB7CisgICAgYm9yZGVyOiAycHggI2YwZiBzb2xp
ZDsKK30KKworLm91dHB1dCB7CisgICAgZGlzcGxheTogbm9uZTsKKyAgICB2aXNpYmlsaXR5OiBu
b25lOworfQorCisuc2hvd19vdXRwdXQgI3Nob3dfb3V0cHV0IHsKKyAgICBkaXNwbGF5OiBub25l
OworfQorCisucmVzb3VyY2UgeworICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICBoZWlnaHQ6
IDA7Cit9CisKKy5mYWxsYmFjayB7CisgICAgZm9udC1zaXplOiAyZW07CisgICAgZm9udC13ZWln
aHQ6IGJvbGQ7CisgICAgY29sb3I6ICNhMDA7Cit9CisKKworaHRtbC5taW5pbWFsIGJvZHkgewor
ICAgIGNvbG9yOiB3aGl0ZTsKK30KK2h0bWwuZmFpbC5taW5pbWFsIHsKKyAgICBiYWNrZ3JvdW5k
OiAjZjAwOworfQoraHRtbC5wYXNzLm1pbmltYWwgeworICAgIGJhY2tncm91bmQ6ICMwODA7Cit9
CitodG1sLm5lZWRzX2NoZWNrLm1pbmltYWwgeworICAgIGJhY2tncm91bmQ6ICMwMDg7Cit9Cisu
bWluaW1hbCAjZCB7CisgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OworfQorLm1pbmltYWwg
LmV4cGVjdGVkdGV4dCB7CisgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cit9Cisj
cGFzc3RleHQsICNmYWlsdGV4dCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKy5taW5pbWFsLnBh
c3MgI3Bhc3N0ZXh0LCAubWluaW1hbC5mYWlsICNmYWlsdGV4dCB7CisgICAgZGlzcGxheTogYmxv
Y2s7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9jYW52YXMvdGVzdHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvY2FudmFzL3Rlc3RzLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
Y2FudmFzL3Rlc3RzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3NiBAQAorZnVuY3Rpb24g
X3ZhbFRvU3RyaW5nKHZhbCkKK3sKKyAgICBpZiAodmFsID09PSB1bmRlZmluZWQgfHwgdmFsID09
PSBudWxsKQorICAgICAgICByZXR1cm4gJ1snICsgdHlwZW9mKHZhbCkgKyAnXSc7CisgICAgcmV0
dXJuIHZhbC50b1N0cmluZygpICsgJ1snICsgdHlwZW9mKHZhbCkgKyAnXSc7Cit9CisKK3ZhciBf
ZmFpbGVkID0gZmFsc2U7Cit2YXIgX2Fzc2VydGVkID0gZmFsc2U7CisKK2Z1bmN0aW9uIF93YXJu
KHRleHQpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QnKS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSh0ZXh0KSk7Cit9CisKK2Z1bmN0aW9uIF9mYWlsKHRleHQpCit7CisgICAgX3dhcm4o
dGV4dCk7CisgICAgX2ZhaWxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnQoY29uZCwg
dGV4dCkKK3sKKyAgICBfYXNzZXJ0ZWQgPSB0cnVlOworICAgIGlmICghIGNvbmQpCisgICAgICAg
IF9mYWlsKCdGYWlsZWQgYXNzZXJ0aW9uOiAnICsgdGV4dCk7Cit9CisKK2Z1bmN0aW9uIF9hc3Nl
cnRTYW1lKGEsIGIsIHRleHRfYSwgdGV4dF9iKQoreworICAgIF9hc3NlcnRlZCA9IHRydWU7Cisg
ICAgaWYgKGEgIT09IGIpCisgICAgICAgIF9mYWlsKCdGYWlsZWQgYXNzZXJ0aW9uICcgKyB0ZXh0
X2EgKyAnID09PSAnICsgdGV4dF9iICsKKyAgICAgICAgICAgICAgICAnIChnb3QgJyArIF92YWxU
b1N0cmluZyhhKSArICcsIGV4cGVjdGVkICcgKyBfdmFsVG9TdHJpbmcoYikgKyAnKScpOworfQor
CitmdW5jdGlvbiBfYXNzZXJ0RGlmZmVyZW50KGEsIGIsIHRleHRfYSwgdGV4dF9iKQoreworICAg
IF9hc3NlcnRlZCA9IHRydWU7CisgICAgaWYgKGEgPT09IGIpCisgICAgICAgIF9mYWlsKCdGYWls
ZWQgYXNzZXJ0aW9uICcgKyB0ZXh0X2EgKyAnICE9PSAnICsgdGV4dF9iICsKKyAgICAgICAgICAg
ICAgICAnIChnb3QgJyArIF92YWxUb1N0cmluZyhhKSArICcsIGV4cGVjdGVkIG5vdCAnICsgX3Zh
bFRvU3RyaW5nKGIpICsgJyknKTsKK30KKworZnVuY3Rpb24gX2Fzc2VydEVxdWFsKGEsIGIsIHRl
eHRfYSwgdGV4dF9iKQoreworICAgIF9hc3NlcnRlZCA9IHRydWU7CisgICAgaWYgKGEgIT0gYikK
KyAgICAgICAgX2ZhaWwoJ0ZhaWxlZCBhc3NlcnRpb24gJyArIHRleHRfYSArICcgPT0gJyArIHRl
eHRfYiArCisgICAgICAgICAgICAgICAgJyAoZ290ICcgKyBfdmFsVG9TdHJpbmcoYSkgKyAnLCBl
eHBlY3RlZCAnICsgX3ZhbFRvU3RyaW5nKGIpICsgJyknKTsKK30KKworZnVuY3Rpb24gX2Fzc2Vy
dE1hdGNoKGEsIGIsIHRleHRfYSwgdGV4dF9iKQoreworICAgIF9hc3NlcnRlZCA9IHRydWU7Cisg
ICAgaWYgKCEgYS5tYXRjaChiKSkKKyAgICAgICAgX2ZhaWwoJ0ZhaWxlZCBhc3NlcnRpb24gJyAr
IHRleHRfYSArICcgbWF0Y2hlcyAnICsgdGV4dF9iICsKKyAgICAgICAgICAgICAgICAnIChnb3Qg
JyArIF92YWxUb1N0cmluZyhhKSArICcpJyk7Cit9CisKKwordmFyIF9tYW51YWxfY2hlY2sgPSBm
YWxzZTsKKworZnVuY3Rpb24gX3JlcXVpcmVNYW51YWxDaGVjaygpCit7CisgICAgX21hbnVhbF9j
aGVjayA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIF9jcmFzaCgpCit7CisgICAgX2ZhaWwoJ0Fib3J0
ZWQgZHVlIHRvIHByZWRpY3RlZCBjcmFzaCcpOworfQorCitmdW5jdGlvbiBfZ2V0UGl4ZWwoY2Fu
dmFzLCB4LHkpCit7CisgICAgdHJ5CisgICAgeworICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdl
dENvbnRleHQoJzJkJyk7CisgICAgICAgIHZhciBpbWdkYXRhID0gY3R4LmdldEltYWdlRGF0YSh4
LCB5LCAxLCAxKTsKKyAgICAgICAgcmV0dXJuIFsgaW1nZGF0YS5kYXRhWzBdLCBpbWdkYXRhLmRh
dGFbMV0sIGltZ2RhdGEuZGF0YVsyXSwgaW1nZGF0YS5kYXRhWzNdIF07CisgICAgfQorICAgIGNh
dGNoIChlKQorICAgIHsKKyAgICAgICAgLy8gcHJvYmFibHkgYSBzZWN1cml0eSBleGNlcHRpb24g
Y2F1c2VkIGJ5IGhhdmluZyBkcmF3bgorICAgICAgICAvLyBkYXRhOiBVUkxzIG9udG8gdGhlIGNh
bnZhcworICAgICAgICBfbWFudWFsX2NoZWNrID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHVuZGVm
aW5lZDsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnRQaXhlbChjYW52YXMsIHgseSwgcixn
LGIsYSwgcG9zLCBjb2xvdXIpCit7CisgICAgX2Fzc2VydGVkID0gdHJ1ZTsKKyAgICB2YXIgYyA9
IF9nZXRQaXhlbChjYW52YXMsIHgseSk7CisgICAgaWYgKGMgJiYgISAoY1swXSA9PSByICYmIGNb
MV0gPT0gZyAmJiBjWzJdID09IGIgJiYgY1szXSA9PSBhKSkKKyAgICAgICAgX2ZhaWwoJ0ZhaWxl
ZCBhc3NlcnRpb246IGdvdCBwaXhlbCBbJyArIGMgKyAnXSBhdCAoJyt4KycsJyt5KycpLCBleHBl
Y3RlZCBbJytyKycsJytnKycsJytiKycsJythKyddJyk7Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnRQ
aXhlbEFwcHJveChjYW52YXMsIHgseSwgcixnLGIsYSwgcG9zLCBjb2xvdXIsIHRvbGVyYW5jZSkK
K3sKKyAgICBfYXNzZXJ0ZWQgPSB0cnVlOworICAgIHZhciBjID0gX2dldFBpeGVsKGNhbnZhcywg
eCx5KTsKKyAgICBpZiAoYykKKyAgICB7CisgICAgICAgIHZhciBkaWZmID0gTWF0aC5tYXgoTWF0
aC5hYnMoY1swXS1yKSwgTWF0aC5hYnMoY1sxXS1nKSwgTWF0aC5hYnMoY1syXS1iKSwgTWF0aC5h
YnMoY1szXS1hKSk7CisgICAgICAgIGlmIChkaWZmID4gdG9sZXJhbmNlKQorICAgICAgICAgICAg
X2ZhaWwoJ0ZhaWxlZCBhc3NlcnRpb246IGdvdCBwaXhlbCBbJyArIGMgKyAnXSBhdCAoJyt4Kycs
Jyt5KycpLCBleHBlY3RlZCBbJytyKycsJytnKycsJytiKycsJythKyddICsvLSAnK3RvbGVyYW5j
ZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBfYWRkVGVzdCh0ZXN0KQoreworICAgIHZhciBkZWZl
cnJlZCA9IGZhbHNlOworICAgIHdpbmRvdy5kZWZlclRlc3QgPSBmdW5jdGlvbiAoKSB7IGRlZmVy
cmVkID0gdHJ1ZTsgfTsKKyAgICBmdW5jdGlvbiBlbmRUZXN0KCkKKyAgICB7CisgICAgICAgIGlm
IChfZmFpbGVkKSAvLyB0ZXN0IGZhaWxlZAorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuY2xhc3NOYW1lICs9ICcgZmFpbCc7CisgICAgICAgICAgICB3aW5k
b3cuX3Rlc3RTdGF0dXMgPSBbJ2ZhaWwnLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZCcpLmlu
bmVySFRNTF07CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoX21hbnVhbF9jaGVjayB8fCAh
X2Fzc2VydGVkKQorICAgICAgICB7IC8vIHRlc3QgY2FzZSBleHBsaWNpdGx5IGFza2VkIGZvciBh
IG1hbnVhbCBjaGVjaywgb3Igbm8gYXV0b21hdGljIGFzc2VydGlvbnMgd2VyZSBwZXJmb3JtZWQK
KyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkJykuaW5uZXJIVE1MICs9ICc8
bGk+Q2Fubm90IGF1dG9tYXRpY2FsbHkgdmVyaWZ5IHJlc3VsdCc7CisgICAgICAgICAgICBkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NOYW1lICs9ICcgbmVlZHNfY2hlY2snOworICAgICAg
ICAgICAgd2luZG93Ll90ZXN0U3RhdHVzID0gWydjaGVjaycsIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkJykuaW5uZXJIVE1MXTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8vIHRlc3Qgc3Vj
Y2VlZGVkCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
JykuaW5uZXJIVE1MICs9ICc8bGk+UGFzc2VkJzsKKyAgICAgICAgICAgIGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5jbGFzc05hbWUgKz0gJyBwYXNzJzsKKyAgICAgICAgICAgIHdpbmRvdy5fdGVz
dFN0YXR1cyA9IFsncGFzcycsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkJykuaW5uZXJIVE1M
XTsKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH07Cisg
ICAgd2luZG93LmVuZFRlc3QgPSBlbmRUZXN0OworICAgIHdpbmRvdy53cmFwRnVuY3Rpb24gPSBm
dW5jdGlvbiAoZikKKyAgICB7CisgICAgICAgIHJldHVybiBmdW5jdGlvbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHRyeQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGYuYXBwbHko
bnVsbCwgYXJndW1lbnRzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhdGNoIChlKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIF9mYWlsKCdBYm9ydGVkIHdpdGggZXhjZXB0
aW9uOiAnICsgZS5tZXNzYWdlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVuZFRlc3Qo
KTsKKyAgICAgICAgfTsKKyAgICB9OworCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgp
CisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAg
dHJ5CisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnYycpOworICAgICAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcy
ZCcpOworICAgICAgICAgICAgdGVzdChjYW52YXMsIGN0eCk7CisgICAgICAgIH0KKyAgICAgICAg
Y2F0Y2ggKGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIF9mYWlsKCdBYm9ydGVkIHdpdGggZXhj
ZXB0aW9uOiAnICsgZS5tZXNzYWdlKTsKKyAgICAgICAgICAgIGRlZmVycmVkID0gZmFsc2U7IC8v
IGNhbmNlbCBhbnkgZGVmZXJlbmNlCisgICAgICAgIH0KKworICAgICAgICBpZiAoISBkZWZlcnJl
ZCkKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICB9OworfQorCkluZGV4OiBMYXlvdXRUZXN0
cy9jYW52YXMvd2lkdGgubGFyZ2VWYWx1ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9jYW52YXMvd2lkdGgubGFyZ2VWYWx1ZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2NhbnZhcy93aWR0aC5sYXJnZVZhbHVlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYW52YXMgdGVzdDogd2lkdGgubGFyZ2VW
YWx1ZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9InRlc3RzLmpzIj48L3NjcmlwdD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0idGVzdHMuY3NzIj4KKzxib2R5PgorPHAgaWQ9InBhc3N0ZXh0
Ij5QYXNzPC9wPgorPHVsIGlkPSJkIj48L3VsPgorPGNhbnZhcyBpZD0iYyIgY2xhc3M9Im91dHB1
dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlMIChmYWxs
YmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KKzxzY3JpcHQ+CitfYWRkVGVzdChmdW5jdGlvbihj
YW52YXMsIGN0eCkgeworCitjYW52YXMud2lkdGggPSAxMDAwOworX2Fzc2VydChjYW52YXMud2lk
dGggPT0gMTAwMCwgImNhbnZhcy53aWR0aCA9PSAxMDAwIik7CisKK2NhbnZhcy53aWR0aCA9IDUw
MDA7CitfYXNzZXJ0KGNhbnZhcy53aWR0aCA9PSA1MDAwLCAiY2FudmFzLndpZHRoID09IDUwMDAi
KTsKKworY2FudmFzLndpZHRoID0gNTAwMDAwMDsKK19hc3NlcnQoY2FudmFzLndpZHRoID09IDUw
MDAwMDAsICJjYW52YXMud2lkdGggPT0gNTAwMDAwMCIpOworfSk7Cis8L3NjcmlwdD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78589</attachid>
            <date>2011-01-11 13:19:49 -0800</date>
            <delta_ts>2011-01-12 13:52:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52172-20110111131947.patch</filename>
            <type>text/plain</type>
            <size>5727</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1NTQ0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMTEgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXggYXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24g
b2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVyQ0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjE3MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nh
bnZhcy9oZWlnaHQubGFyZ2VWYWx1ZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMv
d2lkdGgubGFyZ2VWYWx1ZXMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VCdWZmZXJDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6SW1hZ2VC
dWZmZXIpOgorCiAyMDExLTAxLTA4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNw
cAkocmV2aXNpb24gNzUzOTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbWFnZUJ1ZmZlckNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOCBAQCB1c2lu
ZyBuYW1lc3BhY2Ugc3RkOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgVVNFKElPU1VSRkFD
RV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKK3N0YXRpYyBjb25zdCBpbnQgbWF4SU9TdXJmYWNlRGlt
ZW5zaW9uID0gNDA5NjsKKwogc3RhdGljIFJldGFpblB0cjxJT1N1cmZhY2VSZWY+IGNyZWF0ZUlP
U3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIHVuc2lnbmVkIHBpeGVsRm9ybWF0
ID0gJ0JHUkEnOwpAQCAtMTEwLDEyICsxMTIsMTUgQEAgSW1hZ2VCdWZmZXI6OkltYWdlQnVmZmVy
KGNvbnN0IEludFNpemUmIAogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2FjY2VsZXJhdGVS
ZW5kZXJpbmcocmVuZGVyaW5nTW9kZSA9PSBBY2NlbGVyYXRlZCkKIHsKLSNpZiAhVVNFKElPU1VS
RkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKLSAgICBBU1NFUlQocmVuZGVyaW5nTW9kZSA9PSBV
bmFjY2VsZXJhdGVkKTsKLSNlbmRpZgogICAgIHN1Y2Nlc3MgPSBmYWxzZTsgIC8vIE1ha2UgZWFy
bHkgcmV0dXJuIG1lYW4gZmFpbHVyZS4KICAgICBpZiAoc2l6ZS53aWR0aCgpIDwgMCB8fCBzaXpl
LmhlaWdodCgpIDwgMCkKICAgICAgICAgcmV0dXJuOworI2lmIFVTRShJT1NVUkZBQ0VfQ0FOVkFT
X0JBQ0tJTkdfU1RPUkUpCisgICAgaWYgKHNpemUud2lkdGgoKSA+PSBNYXhJT1N1cmZhY2VEaW1l
bnNpb24gfHwgc2l6ZS5oZWlnaHQoKSA+PSBNYXhJT1N1cmZhY2VEaW1lbnNpb24pCisgICAgICAg
IG1fYWNjZWxlcmF0ZVJlbmRlcmluZyA9IGZhbHNlOworI2Vsc2UKKyAgICBBU1NFUlQocmVuZGVy
aW5nTW9kZSA9PSBVbmFjY2VsZXJhdGVkKTsKKyNlbmRpZgogCiAgICAgdW5zaWduZWQgYnl0ZXNQ
ZXJSb3cgPSBzaXplLndpZHRoKCk7CiAgICAgaWYgKGJ5dGVzUGVyUm93ID4gMHgzRkZGRkZGRikg
Ly8gUHJvdGVjdCBhZ2FpbnN0IG92ZXJmbG93CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NTU0NCkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisy
MDExLTAxLTExICBNYXR0aGV3IERlbGFuZXkgIDxtZGVsYW5leUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWF4IGFyZWEgYm91bmQg
bmVlZGVkIGluIGNyZWF0aW9uIG9mIElPU3VyZmFjZSBpbiBJbWFnZUJ1ZmZlckNHLmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIxNzIKKworICAg
ICAgICAqIGZhc3QvY2FudmFzL2hlaWdodC5sYXJnZVZhbHVlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY2FudmFzL2hlaWdodC5sYXJnZVZhbHVlcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93aWR0aC5sYXJnZVZhbHVlcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dpZHRoLmxhcmdlVmFsdWVzLmh0bWw6IEFkZGVk
LgorCiAyMDExLTAxLTExICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9ucy4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2hlaWdodC5sYXJnZVZhbHVlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvaGVpZ2h0LmxhcmdlVmFsdWVzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2hlaWdodC5sYXJnZVZhbHVl
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorVGVzdHMgdGhhdCB1
c2luZyByZWFzb25hYmx5IGxhcmdlIHZhbHVlcyBmb3IgY2FudmFzLmhlaWdodCBkb2Vzbid0IGNh
dXNlIGEgY3Jhc2giCisKK1BBU1MgaGVpZ2h0ID09IDEwMDAKK1BBU1MgaGVpZ2h0ID09IDUwMDAK
K1BBU1MgaGVpZ2h0ID09IDUwMDAwMDAKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
aGVpZ2h0LmxhcmdlVmFsdWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvaGVpZ2h0LmxhcmdlVmFsdWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9oZWlnaHQubGFyZ2VWYWx1ZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+Q2FudmFzIHRlc3Q6IGhlaWdodC5s
YXJnZVZhbHVlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB1c2luZyByZWFzb25hYmx5
IGxhcmdlIHZhbHVlcyBmb3IgY2FudmFzLmhlaWdodCBkb2Vzbid0IGNhdXNlIGEgY3Jhc2giPC9w
PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8Y2FudmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0
IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFzcz0iZmFsbGJhY2siPkZBSUwgKGZhbGxi
YWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHNjcmlwdD4KK3ZhciBjYW52YXMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYyIpOworCitjYW52YXMuaGVpZ2h0ID0gMTAwMDsKK2lmIChjYW52
YXMuaGVpZ2h0ID09MTAwMCkKKwl0ZXN0UGFzc2VkKCJoZWlnaHQgPT0gMTAwMCIpOworZWxzZQor
CXRlc3RGYWlsZWQoImhlaWdodCA9PSAxMDAwIik7CisKK2NhbnZhcy5oZWlnaHQgPSA1MDAwOwor
aWYgKGNhbnZhcy5oZWlnaHQgPT0gNTAwMCkKKwl0ZXN0UGFzc2VkKCJoZWlnaHQgPT0gNTAwMCIp
OworZWxzZQorCXRlc3RGYWlsZWQoImhlaWdodCA9PSA1MDAwIik7CisKK2NhbnZhcy5oZWlnaHQg
PSA1MDAwMDAwOworaWYgKGNhbnZhcy5oZWlnaHQsIDUwMDAwMDApCisJdGVzdFBhc3NlZCgiaGVp
Z2h0ID09IDUwMDAwMDAiKTsKK2Vsc2UKKwl0ZXN0RmFpbGVkKCJoZWlnaHQgPT0gNTAwMDAwMCIp
OworPC9zY3JpcHQ+CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dpZHRoLmxhcmdl
VmFsdWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93aWR0aC5sYXJnZVZhbHVlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93aWR0aC5sYXJnZVZhbHVlcy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNiBAQAorVGVzdHMgdGhhdCB1c2luZyByZWFzb25hYmx5IGxhcmdlIHZh
bHVlcyBmb3IgY2FudmFzLndpZHRoIGRvZXNuJ3QgY2F1c2UgYSBjcmFzaCIKKworUEFTUyB3aWR0
aCA9PSAxMDAwCitQQVNTIHdpZHRoID09IDUwMDAKK1BBU1Mgd2lkdGggPT0gNTAwMDAwMAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93aWR0aC5sYXJnZVZhbHVlcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dpZHRoLmxhcmdlVmFsdWVzLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93aWR0aC5sYXJnZVZhbHVl
cy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0
aXRsZT5DYW52YXMgdGVzdDogd2lkdGgubGFyZ2VWYWx1ZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxwPlRl
c3RzIHRoYXQgdXNpbmcgcmVhc29uYWJseSBsYXJnZSB2YWx1ZXMgZm9yIGNhbnZhcy53aWR0aCBk
b2Vzbid0IGNhdXNlIGEgY3Jhc2giPC9wPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8Y2Fu
dmFzIGlkPSJjIiBjbGFzcz0ib3V0cHV0IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj48cCBjbGFz
cz0iZmFsbGJhY2siPkZBSUwgKGZhbGxiYWNrIGNvbnRlbnQpPC9wPjwvY2FudmFzPgorPHNjcmlw
dD4KK3ZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpOworCitjYW52YXMu
d2lkdGggPSAxMDAwOworaWYgKGNhbnZhcy53aWR0aCA9PTEwMDApCisJdGVzdFBhc3NlZCgid2lk
dGggPT0gMTAwMCIpOworZWxzZQorCXRlc3RGYWlsZWQoIndpZHRoID09IDEwMDAiKTsKKworY2Fu
dmFzLndpZHRoID0gNTAwMDsKK2lmIChjYW52YXMud2lkdGggPT0gNTAwMCkKKwl0ZXN0UGFzc2Vk
KCJ3aWR0aCA9PSA1MDAwIik7CitlbHNlCisJdGVzdEZhaWxlZCgid2lkdGggPT0gNTAwMCIpOwor
CitjYW52YXMud2lkdGggPSA1MDAwMDAwOworaWYgKGNhbnZhcy53aWR0aCwgNTAwMDAwMCkKKwl0
ZXN0UGFzc2VkKCJ3aWR0aCA9PSA1MDAwMDAwIik7CitlbHNlCisJdGVzdEZhaWxlZCgid2lkdGgg
PT0gNTAwMDAwMCIpOworPC9zY3JpcHQ+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78727</attachid>
            <date>2011-01-12 13:52:35 -0800</date>
            <delta_ts>2011-01-12 15:15:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52172-20110112135233.patch</filename>
            <type>text/plain</type>
            <size>6458</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc1NTQ0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDEtMTEgIE1hdHRoZXcg
RGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYXggYXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24g
b2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVyQ0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjE3MgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nh
bnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVm
ZmVyOjpJbWFnZUJ1ZmZlcik6CisKIDIwMTEtMDEtMDggIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6
a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
QnVmZmVyQ0cuY3BwCShyZXZpc2lvbiA3NTM5MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1
NCw4IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBV
U0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQorc3RhdGljIGNvbnN0IGludCBtYXhJ
T1N1cmZhY2VEaW1lbnNpb24gPSA0MDk2OworCiBzdGF0aWMgUmV0YWluUHRyPElPU3VyZmFjZVJl
Zj4gY3JlYXRlSU9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUpCiB7CiAgICAgdW5zaWduZWQg
cGl4ZWxGb3JtYXQgPSAnQkdSQSc7CkBAIC0xMTAsMTIgKzExMiwxNSBAQCBJbWFnZUJ1ZmZlcjo6
SW1hZ2VCdWZmZXIoY29uc3QgSW50U2l6ZSYgCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1f
YWNjZWxlcmF0ZVJlbmRlcmluZyhyZW5kZXJpbmdNb2RlID09IEFjY2VsZXJhdGVkKQogewotI2lm
ICFVU0UoSU9TVVJGQUNFX0NBTlZBU19CQUNLSU5HX1NUT1JFKQotICAgIEFTU0VSVChyZW5kZXJp
bmdNb2RlID09IFVuYWNjZWxlcmF0ZWQpOwotI2VuZGlmCiAgICAgc3VjY2VzcyA9IGZhbHNlOyAg
Ly8gTWFrZSBlYXJseSByZXR1cm4gbWVhbiBmYWlsdXJlLgogICAgIGlmIChzaXplLndpZHRoKCkg
PCAwIHx8IHNpemUuaGVpZ2h0KCkgPCAwKQogICAgICAgICByZXR1cm47CisjaWYgVVNFKElPU1VS
RkFDRV9DQU5WQVNfQkFDS0lOR19TVE9SRSkKKyAgICBpZiAoc2l6ZS53aWR0aCgpID49IE1heElP
U3VyZmFjZURpbWVuc2lvbiB8fCBzaXplLmhlaWdodCgpID49IE1heElPU3VyZmFjZURpbWVuc2lv
bikKKyAgICAgICAgbV9hY2NlbGVyYXRlUmVuZGVyaW5nID0gZmFsc2U7CisjZWxzZQorICAgIEFT
U0VSVChyZW5kZXJpbmdNb2RlID09IFVuYWNjZWxlcmF0ZWQpOworI2VuZGlmCiAKICAgICB1bnNp
Z25lZCBieXRlc1BlclJvdyA9IHNpemUud2lkdGgoKTsKICAgICBpZiAoYnl0ZXNQZXJSb3cgPiAw
eDNGRkZGRkZGKSAvLyBQcm90ZWN0IGFnYWluc3Qgb3ZlcmZsb3cKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDc1NTQ0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDEtMTEgIE1hdHRoZXcgRGVsYW5leSAgPG1kZWxhbmV5QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXgg
YXJlYSBib3VuZCBuZWVkZWQgaW4gY3JlYXRpb24gb2YgSU9TdXJmYWNlIGluIEltYWdlQnVmZmVy
Q0cuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjE3MgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRpbWVuc2lvbnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRpbWVuc2lvbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMS0wMS0xMSAgTmljbyBXZWJlciAgPHRoYWtpc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdGVzdCBleHBlY3RhdGlvbnMuCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWxh
cmdlLWRpbWVuc2lvbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRpbWVuc2lvbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDQ4IEBACitUZXN0cyB0aGF0IHVzaW5nIHJlYXNvbmFibHkgbGFyZ2Ug
dmFsdWVzIGZvciBjYW52YXMuaGVpZ2h0IGFuZCBjYW52YXMuaGVpZ2h0IGRvbid0IGNhdXNlIGEg
Y3Jhc2giCisKK1BBU1MgaGVpZ2h0ID09IDEwMDAKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6
IDI1NQorUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4
cGVjdGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBoZWlnaHQg
PT0gMTAwMDAKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1YWw6IDI1
NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKK1BBU1MgQWN0
dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBoZWlnaHQgPT0gMTAwMDAwCitQQVNTIEFjdHVh
bDogMjU1IEV4cGVjdGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFT
UyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAy
NTUKK1BBU1MgaGVpZ2h0ID09IDEwMDAwMDAKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1
NQorUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVj
dGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyB3aWR0aCA9PSAx
MDAKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1YWw6IDI1NSBFeHBl
Y3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAy
NTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyB3aWR0aCA9PSAxMDAwCitQQVNTIEFjdHVhbDogMjU1IEV4
cGVjdGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1YWw6
IDI1NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKK1BBU1Mg
d2lkdGggPT0gMTAwMDAKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1
YWw6IDI1NSBFeHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKK1BB
U1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyB3aWR0aCA9PSAxMDAwMDAKK1BBU1Mg
QWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1
CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0
ZWQ6IDI1NQorUEFTUyB3aWR0aCA9PSAxMDAwMDAwCitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVk
OiAyNTUKK1BBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQorUEFTUyBBY3R1YWw6IDI1NSBF
eHBlY3RlZDogMjU1CitQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRpbWVuc2lvbnMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWxhcmdl
LWRpbWVuc2lvbnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8dGl0bGU+Q2FudmFzIHRlc3Q6IHRlc3QgbGFyZ2Ugd2lkdGgvaGVpZ2h0IHZhbHVl
czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB1c2luZyByZWFzb25hYmx5IGxhcmdlIHZh
bHVlcyBmb3IgY2FudmFzLmhlaWdodCBhbmQgY2FudmFzLmhlaWdodCBkb24ndCBjYXVzZSBhIGNy
YXNoIjwvcD4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPGNhbnZhcyBpZD0iYyIgY2xhc3M9
Im91dHB1dCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+PHAgY2xhc3M9ImZhbGxiYWNrIj5GQUlM
IChmYWxsYmFjayBjb250ZW50KTwvcD48L2NhbnZhcz4KKzxzY3JpcHQ+Cit2YXIgY2FudmFzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKTsKK3ZhciB4LCB5LCB3PTEsIGg9MTsKKwordGVz
dEhlaWdodChjYW52YXMsIDEwMDApOwordGVzdEhlaWdodChjYW52YXMsIDEwMDAwKTsKK3Rlc3RI
ZWlnaHQoY2FudmFzLCAxMDAwMDApOwordGVzdEhlaWdodChjYW52YXMsIDEwMDAwMDApOworCit0
ZXN0V2lkdGgoY2FudmFzLCAxMDApOwordGVzdFdpZHRoKGNhbnZhcywgMTAwMCk7Cit0ZXN0V2lk
dGgoY2FudmFzLCAxMDAwMCk7Cit0ZXN0V2lkdGgoY2FudmFzLCAxMDAwMDApOwordGVzdFdpZHRo
KGNhbnZhcywgMTAwMDAwMCk7CisKK2Z1bmN0aW9uIHRlc3RIZWlnaHQoY2FudmFzLCBoZWlnaHQp
IHsKKwljYW52YXMud2lkdGggPSA1MDsKKwljYW52YXMuaGVpZ2h0ID0gaGVpZ2h0OworCXZhciBj
dHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKwljdHguZmlsbFN0eWxlID0gInJnYmEoMjU1
LCAyNTUsIDI1NSwgMSkiOworCXZhciBtc2cgPSAiaGVpZ2h0ID09ICIraGVpZ2h0OworCWlmIChj
YW52YXMuaGVpZ2h0ID09IGhlaWdodCkKKwkJdGVzdFBhc3NlZChtc2cpOworCWVsc2UKKwkJdGVz
dEZhaWxlZChtc2cpOworCXggPSBjYW52YXMud2lkdGgtMjsKKwl5ID0gY2FudmFzLmhlaWdodC0y
OworCWN0eC5maWxsUmVjdCh4LHksdyxoKTsKKwl2YXIgZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEo
eCx5LHcsaCk7CisJZm9yICh2YXIgeCA9IDA7IHggPCA0OyB4KyspIHsKKwkJdmFyIG1zZyA9ICJB
Y3R1YWw6ICIgKyBkYXRhLmRhdGFbeF0gKyAiIEV4cGVjdGVkOiAyNTUiOworCQlpZiAoZGF0YS5k
YXRhW3hdID09IDI1NSkKKwkJCXRlc3RQYXNzZWQobXNnKTsKKwkJZWxzZQorCQkJdGVzdEZhaWxl
ZChtc2cpOworCX0KK30KKworZnVuY3Rpb24gdGVzdFdpZHRoKGNhbnZhcywgd2lkdGgpIHsKKwlj
YW52YXMuaGVpZ2h0ID0gNTA7CisJY2FudmFzLndpZHRoID0gd2lkdGg7CisJdmFyIGN0eCA9IGNh
bnZhcy5nZXRDb250ZXh0KCIyZCIpOworCWN0eC5maWxsU3R5bGUgPSAicmdiYSgyNTUsIDI1NSwg
MjU1LCAxKSI7CisJdmFyIG1zZyA9ICJ3aWR0aCA9PSAiK3dpZHRoOworCWlmIChjYW52YXMud2lk
dGggPT0gd2lkdGgpCisJCXRlc3RQYXNzZWQobXNnKTsKKwllbHNlCisJCXRlc3RGYWlsZWQobXNn
KTsKKwl4ID0gY2FudmFzLndpZHRoLTI7CisJeSA9IGNhbnZhcy5oZWlnaHQtMjsKKwljdHguZmls
bFJlY3QoeCx5LHcsaCk7CisJdmFyIGRhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKHgseSx3LGgpOwor
CWZvciAodmFyIHggPSAwOyB4IDwgNDsgeCsrKSB7CisJCXZhciBtc2cgPSAiQWN0dWFsOiAiICsg
ZGF0YS5kYXRhW3hdICsgIiBFeHBlY3RlZDogMjU1IjsKKwkJaWYgKGRhdGEuZGF0YVt4XSA9PSAy
NTUpCisJCQl0ZXN0UGFzc2VkKG1zZyk7CisJCWVsc2UKKwkJCXRlc3RGYWlsZWQobXNnKTsKKwl9
Cit9Cis8L3NjcmlwdD4KKwo=
</data>
<flag name="review"
          id="70090"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>