<?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>67976</bug_id>
          
          <creation_ts>2011-09-12 17:57:23 -0700</creation_ts>
          <short_desc>Remove remnants of code that assume Lengths are 28 bit integers.</short_desc>
          <delta_ts>2012-03-19 07:35:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>81509</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Luke Macpherson">macpherson</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465997</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-12 17:57:23 -0700</bug_when>
    <thetext>Remove remnants of code that assume Lengths are 28 bit integers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466004</commentid>
    <comment_count>1</comment_count>
      <attachid>107119</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-12 18:10:55 -0700</bug_when>
    <thetext>Created attachment 107119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466110</commentid>
    <comment_count>2</comment_count>
      <attachid>107119</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 21:30:09 -0700</bug_when>
    <thetext>Comment on attachment 107119
Patch

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

New failing tests:
fast/table/max-width-integer-overflow.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466193</commentid>
    <comment_count>3</comment_count>
      <attachid>107119</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-13 01:48:02 -0700</bug_when>
    <thetext>Comment on attachment 107119
Patch

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

&gt; Source/WebCore/rendering/AutoTableLayout.cpp:271
&gt; +        maxWidth = std::numeric_limits&lt;LayoutUnit&gt;::max();

Why is this LayoutUnit::max and the other is INT_MAX?  Does Length use LayoutUnit or int?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466630</commentid>
    <comment_count>4</comment_count>
      <attachid>107119</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-13 15:48:21 -0700</bug_when>
    <thetext>Comment on attachment 107119
Patch

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

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:333
&gt; +    return Length(roundForImpreciseConversion&lt;int, INT_MAX, INT_MIN&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);

I used INT_MAX here in order to be consistent with the existing code there that uses INT_MAX/SHRT_MAX/USHRT_MAX etc. for rounding. I&apos;ll make the computeLengthDouble macro take a single template parameter in a follow up change.

&gt;&gt; Source/WebCore/rendering/AutoTableLayout.cpp:271
&gt;&gt; +        maxWidth = std::numeric_limits&lt;LayoutUnit&gt;::max();
&gt; 
&gt; Why is this LayoutUnit::max and the other is INT_MAX?  Does Length use LayoutUnit or int?

Context: LayoutUnit is an intermediate typedef that is currently an int, and is intended to be switched to a float at some point in the future once eae is done refactoring to use floats everywhere.
As far as I can tell, using the 28 bit max here was incorrect, as mawWidth is a LayoutUnit, not a Length anyway, so it was using an irrelevant constant from a different type...
Now, to your questions:
1) I used numeric_limits&lt;LayoutUnit&gt;::max() here because the underlying type or LayoutUnit is intended to change in the future.
2) Length does not use LayoutUnit, but maxWidth is not a Length, it is a LayoutUnit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466633</commentid>
    <comment_count>5</comment_count>
      <attachid>107119</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-13 15:51:12 -0700</bug_when>
    <thetext>Comment on attachment 107119
Patch

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

&gt;&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:333
&gt;&gt; +    return Length(roundForImpreciseConversion&lt;int, INT_MAX, INT_MIN&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
&gt; 
&gt; I used INT_MAX here in order to be consistent with the existing code there that uses INT_MAX/SHRT_MAX/USHRT_MAX etc. for rounding. I&apos;ll make the computeLengthDouble macro take a single template parameter in a follow up change.

That should have been roundForImpreciseConversion, and it&apos;s not a macro, it&apos;s a function. I think I need caffeine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469913</commentid>
    <comment_count>6</comment_count>
      <attachid>107966</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-09-19 21:48:50 -0700</bug_when>
    <thetext>Created attachment 107966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469990</commentid>
    <comment_count>7</comment_count>
      <attachid>107966</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-20 05:06:18 -0700</bug_when>
    <thetext>Comment on attachment 107966
Patch

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

New failing tests:
fast/table/max-width-integer-overflow.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567428</commentid>
    <comment_count>8</comment_count>
      <attachid>107966</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-28 23:41:51 -0800</bug_when>
    <thetext>Comment on attachment 107966
Patch

Looks like this breaks a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581576</commentid>
    <comment_count>9</comment_count>
      <attachid>132527</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2012-03-18 19:59:48 -0700</bug_when>
    <thetext>Created attachment 132527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581609</commentid>
    <comment_count>10</comment_count>
      <attachid>132527</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 20:54:38 -0700</bug_when>
    <thetext>Comment on attachment 132527
Patch

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

New failing tests:
fast/table/max-width-integer-overflow.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581618</commentid>
    <comment_count>11</comment_count>
      <attachid>132540</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2012-03-18 21:33:04 -0700</bug_when>
    <thetext>Created attachment 132540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581637</commentid>
    <comment_count>12</comment_count>
      <attachid>132540</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-18 23:06:06 -0700</bug_when>
    <thetext>Comment on attachment 132540
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581648</commentid>
    <comment_count>13</comment_count>
      <attachid>132540</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 23:38:10 -0700</bug_when>
    <thetext>Comment on attachment 132540
Patch

Clearing flags on attachment: 132540

Committed r111156: &lt;http://trac.webkit.org/changeset/111156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581649</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-18 23:38:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107119</attachid>
            <date>2011-09-12 18:10:55 -0700</date>
            <delta_ts>2011-09-19 21:48:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67976-20110913111052.patch</filename>
            <type>text/plain</type>
            <size>7945</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0OTk0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMTIgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgcmVt
bmFudHMgb2YgY29kZSB0aGF0IGFzc3VtZSBMZW5ndGhzIGFyZSAyOCBiaXQgaW50ZWdlcnMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IExheW91
dFRlc3RzL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQuaHRt
bAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgQm91bmQgYnkg
SU5UX01BWCBhbmQgSU5UX01JTiBpbnN0ZWFkIG9mIDI4IGJpdCBib3VuZHMuCisgICAgICAgICog
Y3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5Qm9yZGVyUmFkaXVzOjphcHBseVZhbHVlKToKKyAgICAgICAgVXNlIFByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoIGZ1bmN0aW9uIGRpcmVjdGx5LgorICAgICAgICAqIHBsYXRmb3Jt
L0xlbmd0aC5oOgorICAgICAgICBSZW1vdmUgMjggYml0IGludGVnZXIgbGltaXQgY29uc3RhbnRz
LgorICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6Cisg
ICAgICAgIFVzZSBzdGQ6Om51bWVyaWNfbGltaXRzLgorCiAyMDExLTA5LTEyICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwMDU0NjE1
PiBGbG9hdHMgaW4gcnVieSB0ZXh0IGludHJ1ZGUgaW50byB0aGUgYmFzZQpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCShyZXZpc2lvbiA5NDk5MykKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMzMCw4ICszMzAsNyBAQCB0ZW1wbGF0ZTw+IGludCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0
CiAKIHRlbXBsYXRlPD4gTGVuZ3RoIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxp
ZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7Ci0gICAgLy8gRklYTUU6IExlbmd0aC5oIG5v
IGxvbmdlciBleHBlY3RzIDI4IGJpdCBpbnRlZ2Vycywgc28gdGhlc2UgYm91bmRzIHNob3VsZCBi
ZSBJTlRfTUFYIGFuZCBJTlRfTUlOCi0gICAgcmV0dXJuIExlbmd0aChyb3VuZEZvckltcHJlY2lz
ZUNvbnZlcnNpb248aW50LCBpbnRNYXhGb3JMZW5ndGgsIGludE1pbkZvckxlbmd0aD4oY29tcHV0
ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250
U2l6ZSkpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChyb3VuZEZvckltcHJlY2lzZUNvbnZl
cnNpb248aW50LCBJTlRfTUFYLCBJTlRfTUlOPihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCBy
b290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSksIEZpeGVkKTsKIH0KIAog
dGVtcGxhdGU8PiBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJT
dHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBi
b29sIGNvbXB1dGluZ0ZvbnRTaXplKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
QXBwbHlQcm9wZXJ0eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlQXBwbHlQcm9wZXJ0eS5jcHAJKHJldmlzaW9uIDk0OTkzKQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5NCwxMSAr
Mzk0LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGlmIChwYWlyLT5maXJzdCgpLT5wcmltaXRpdmVU
eXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQogICAgICAgICAgICAg
cmFkaXVzV2lkdGggPSBMZW5ndGgocGFpci0+Zmlyc3QoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVy
Y2VudCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJhZGl1c1dpZHRoID0gTGVuZ3RoKG1h
eChpbnRNaW5Gb3JMZW5ndGgsIG1pbihpbnRNYXhGb3JMZW5ndGgsIHBhaXItPmZpcnN0KCktPmNv
bXB1dGVMZW5ndGg8aW50PihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50
U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkpKSwgRml4ZWQpOwor
ICAgICAgICAgICAgcmFkaXVzV2lkdGggPSBwYWlyLT5maXJzdCgpLT5jb21wdXRlTGVuZ3RoPExl
bmd0aD4oc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVjdG9yLT5yb290RWxlbWVudFN0eWxlKCksIHNl
bGVjdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwogICAgICAgICBpZiAocGFpci0+c2Vj
b25kKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRB
R0UpCiAgICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgocGFpci0+c2Vjb25kKCktPmdl
dERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByYWRp
dXNIZWlnaHQgPSBMZW5ndGgobWF4KGludE1pbkZvckxlbmd0aCwgbWluKGludE1heEZvckxlbmd0
aCwgcGFpci0+c2Vjb25kKCktPmNvbXB1dGVMZW5ndGg8aW50PihzZWxlY3Rvci0+c3R5bGUoKSwg
c2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2
ZVpvb20oKSkpKSwgRml4ZWQpOworICAgICAgICAgICAgcmFkaXVzSGVpZ2h0ID0gcGFpci0+c2Vj
b25kKCktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3It
PnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7
CiAgICAgICAgIGludCB3aWR0aCA9IHJhZGl1c1dpZHRoLnZhbHVlKCk7CiAgICAgICAgIGludCBo
ZWlnaHQgPSByYWRpdXNIZWlnaHQudmFsdWUoKTsKICAgICAgICAgaWYgKHdpZHRoIDwgMCB8fCBo
ZWlnaHQgPCAwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgJKHJldmlzaW9uIDk0OTkz
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDggKzMxLDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgaW50IHVuZGVmaW5l
ZExlbmd0aCA9IC0xOwotY29uc3QgaW50IGludE1heEZvckxlbmd0aCA9IDB4N2ZmZmZmZjsgLy8g
bWF4IHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKLWNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAo
LTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExl
bmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIEludHJpbnNpYywgTWlu
SW50cmluc2ljIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVM
YXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFi
bGVMYXlvdXQuY3BwCShyZXZpc2lvbiA5NDk5MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9BdXRvVGFibGVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjcsOCArMjY3LDggQEAg
dm9pZCBBdXRvVGFibGVMYXlvdXQ6OmNvbXB1dGVQcmVmZXJyZWRMbwogICAgICAgICBtaW5XaWR0
aCA9IG1heDxMYXlvdXRVbml0PihtaW5XaWR0aCwgdGFibGVMb2dpY2FsV2lkdGgudmFsdWUoKSk7
CiAgICAgICAgIG1heFdpZHRoID0gbWluV2lkdGg7CiAgICAgfSBlbHNlIGlmICghcmVtYWluaW5n
UGVyY2VudCAmJiBtYXhOb25QZXJjZW50KSB7Ci0gICAgICAgIC8vIGlmIHRoZXJlIHdhcyBubyBy
ZW1haW5pbmcgcGVyY2VudCwgbWF4V2lkdGggaXMgaW52YWxpZC4KLSAgICAgICAgbWF4V2lkdGgg
PSBpbnRNYXhGb3JMZW5ndGg7ICAgICAgICAKKyAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vIHJl
bWFpbmluZyBwZXJjZW50LCBtYXhXaWR0aCBpcyBpbnZhbGlkCisgICAgICAgIG1heFdpZHRoID0g
c3RkOjpudW1lcmljX2xpbWl0czxMYXlvdXRVbml0Pjo6bWF4KCk7CiAgICAgfQogfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA5NDk5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDExLTA5LTEyICBMdWtlIE1hY3BoZXJzb24gICA8bWFj
cGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHJlbW5hbnRzIG9mIGNvZGUg
dGhhdCBhc3N1bWUgTGVuZ3RocyBhcmUgMjggYml0IGludGVnZXJzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RhYmxl
L21heC13aWR0aC1pbnRlZ2VyLW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wOS0xMiAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMDA1NDYxNT4gRmxvYXRzIGluIHJ1YnkgdGV4dCBpbnRydWRlIGludG8gdGhlIGJhc2UKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL21heC13aWR0aC1pbnRlZ2Vy
LW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90YWJsZS9tYXgtd2lkdGgtaW50ZWdlci1vdmVyZmxvdy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDk0OTkzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUv
bWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC02LDE2ICs2LDE2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVy
VGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDc4MHgyNCBbYmdjb2xvcj0jRkYwMDAwXQogICAg
ICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc4MHgyNAogICAg
ICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKLSAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDApIHNpemUgNzcweDI0IFtyPTAgYz0wIHJz
PTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDc3MHgyNAotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgw
LDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgwLDApIHNpemUgNzcweDI0IFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc3MHgyNAotICAgICAg
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDc3MHgy
NCBbYmdjb2xvcj0jMDA4MDAwXQotICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc3MHgyNAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMikgc2l6ZSA3NzB4MjAKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDExKSBz
aXplIDc2MngyIFtyPTAgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg3NjYsMTEpIHNpemUgMngyIFtyPTAgYz0xIHJz
PTEgY3M9MV0KLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg3NzAsMCkgc2l6
ZSAxMHgyNCBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMCwwKSBzaXplIDc4MHgyNCBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKKyAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc4MHgyNAorICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwwKSBzaXplIDc4MHgyNAor
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDc4
MHgyNCBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKKyAgICAgICAgICAgICAgICAgICAgICAgIFJl
bmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQgW2JnY29sb3I9IzAwODAwMF0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQg
KDAsMCkgc2l6ZSA3ODB4MjQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgNzgweDIwCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwxMSkgc2l6ZSA3NzJ4MiBbcj0wIGM9MCBy
cz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoNzc2LDExKSBzaXplIDJ4MiBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNzgwLDApIHNpemUgMTB4MjQgW3I9MCBjPTEgcnM9
MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEw
eDI0IFtiZ2NvbG9yPSMwMDgwMDBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107966</attachid>
            <date>2011-09-19 21:48:50 -0700</date>
            <delta_ts>2012-03-18 19:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67976-20110920144847.patch</filename>
            <type>text/plain</type>
            <size>7934</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1NTExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMTkgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgcmVt
bmFudHMgb2YgY29kZSB0aGF0IGFzc3VtZSBMZW5ndGhzIGFyZSAyOCBiaXQgaW50ZWdlcnMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IExheW91
dFRlc3RzL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQuaHRt
bAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgQm91bmQgYnkg
SU5UX01BWCBhbmQgSU5UX01JTiBpbnN0ZWFkIG9mIDI4IGJpdCBib3VuZHMuCisgICAgICAgICog
Y3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5Qm9yZGVyUmFkaXVzOjphcHBseVZhbHVlKToKKyAgICAgICAgVXNlIFByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoIGZ1bmN0aW9uIGRpcmVjdGx5LgorICAgICAgICAqIHBsYXRmb3Jt
L0xlbmd0aC5oOgorICAgICAgICBSZW1vdmUgMjggYml0IGludGVnZXIgbGltaXQgY29uc3RhbnRz
LgorICAgICAgICAqIHJlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0b1RhYmxlTGF5b3V0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6Cisg
ICAgICAgIFVzZSBzdGQ6Om51bWVyaWNfbGltaXRzLgorCiAyMDExLTA5LTE5ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhpdCB0ZXN0aW5nIG9uIG1hcmdpbnMg
b2YgYm9keSBhbmQgaGVhZCBlbGVtZW50cyBkb2Vzbid0IHJlY3VyCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDk1NTExKQorKysgU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMx
LDggKzMzMSw3IEBAIHRlbXBsYXRlPD4gaW50IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXQKIAog
dGVtcGxhdGU8PiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgoUmVuZGVy
U3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwg
Ym9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKLSAgICAvLyBGSVhNRTogTGVuZ3RoLmggbm8gbG9u
Z2VyIGV4cGVjdHMgMjggYml0IGludGVnZXJzLCBzbyB0aGVzZSBib3VuZHMgc2hvdWxkIGJlIElO
VF9NQVggYW5kIElOVF9NSU4KLSAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29u
dmVyc2lvbjxpbnQsIGludE1heEZvckxlbmd0aCwgaW50TWluRm9yTGVuZ3RoPihjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lv
bjxpbnQsIElOVF9NQVgsIElOVF9NSU4+KGNvbXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RT
dHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpKSwgRml4ZWQpOwogfQogCiB0ZW1w
bGF0ZTw+IHNob3J0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxl
KiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wg
Y29tcHV0aW5nRm9udFNpemUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBs
eVByb3BlcnR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVB
cHBseVByb3BlcnR5LmNwcAkocmV2aXNpb24gOTU1MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk0LDExICszOTQs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKHBhaXItPmZpcnN0KCktPnByaW1pdGl2ZVR5cGUo
KSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgICAgICByYWRp
dXNXaWR0aCA9IExlbmd0aChwYWlyLT5maXJzdCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmFkaXVzV2lkdGggPSBMZW5ndGgobWF4KGlu
dE1pbkZvckxlbmd0aCwgbWluKGludE1heEZvckxlbmd0aCwgcGFpci0+Zmlyc3QoKS0+Y29tcHV0
ZUxlbmd0aDxpbnQ+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHls
ZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSkpLCBGaXhlZCk7CisgICAg
ICAgICAgICByYWRpdXNXaWR0aCA9IHBhaXItPmZpcnN0KCktPmNvbXB1dGVMZW5ndGg8TGVuZ3Ro
PihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0
b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgICAgIGlmIChwYWlyLT5zZWNvbmQo
KS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkK
ICAgICAgICAgICAgIHJhZGl1c0hlaWdodCA9IExlbmd0aChwYWlyLT5zZWNvbmQoKS0+Z2V0RG91
YmxlVmFsdWUoKSwgUGVyY2VudCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJhZGl1c0hl
aWdodCA9IExlbmd0aChtYXgoaW50TWluRm9yTGVuZ3RoLCBtaW4oaW50TWF4Rm9yTGVuZ3RoLCBw
YWlyLT5zZWNvbmQoKS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxl
Y3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9v
bSgpKSkpLCBGaXhlZCk7CisgICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBwYWlyLT5zZWNvbmQo
KS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9v
dEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAg
ICAgICAgaW50IHdpZHRoID0gcmFkaXVzV2lkdGgudmFsdWUoKTsKICAgICAgICAgaW50IGhlaWdo
dCA9IHJhZGl1c0hlaWdodC52YWx1ZSgpOwogICAgICAgICBpZiAod2lkdGggPCAwIHx8IGhlaWdo
dCA8IDApCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAkocmV2aXNpb24gOTU1MTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGludCBpbnRNYXhGb3JM
ZW5ndGggPSAweDdmZmZmZmY7IC8vIG1heCB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50Ci1jb25zdCBp
bnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBh
IDI4LWJpdCBpbnQKLQogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQs
IEZpeGVkLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYywgVW5kZWZpbmVkIH07CiAKIHN0cnVjdCBM
ZW5ndGggewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91
dC5jcHAJKHJldmlzaW9uIDk1NTExKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9U
YWJsZUxheW91dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Nyw4ICsyNjcsOCBAQCB2b2lkIEF1
dG9UYWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvCiAgICAgICAgIG1pbldpZHRoID0gbWF4
PExheW91dFVuaXQ+KG1pbldpZHRoLCB0YWJsZUxvZ2ljYWxXaWR0aC52YWx1ZSgpKTsKICAgICAg
ICAgbWF4V2lkdGggPSBtaW5XaWR0aDsKICAgICB9IGVsc2UgaWYgKCFyZW1haW5pbmdQZXJjZW50
ICYmIG1heE5vblBlcmNlbnQpIHsKLSAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vIHJlbWFpbmlu
ZyBwZXJjZW50LCBtYXhXaWR0aCBpcyBpbnZhbGlkLgotICAgICAgICBtYXhXaWR0aCA9IGludE1h
eEZvckxlbmd0aDsgICAgICAgIAorICAgICAgICAvLyBpZiB0aGVyZSB3YXMgbm8gcmVtYWluaW5n
IHBlcmNlbnQsIG1heFdpZHRoIGlzIGludmFsaWQKKyAgICAgICAgbWF4V2lkdGggPSBzdGQ6Om51
bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKTsKICAgICB9CiB9CiAKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk1NTExKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMTkgIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29u
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgcmVtbmFudHMgb2YgY29kZSB0aGF0IGFz
c3VtZSBMZW5ndGhzIGFyZSAyOCBiaXQgaW50ZWdlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdp
ZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OgorCiAyMDExLTA5LTE5ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhpdCB0ZXN0aW5nIG9uIG1hcmdp
bnMgb2YgYm9keSBhbmQgaGVhZCBlbGVtZW50cyBkb2Vzbid0IHJlY3VyCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9tYXgtd2lkdGgtaW50ZWdlci1vdmVyZmxvdy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
NTUxMSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL21heC13aWR0aC1p
bnRlZ2VyLW92ZXJmbG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwxNiArNiwx
NiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJM
RX0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQgW2JnY29sb3I9I0ZGMDAwMF0KICAgICAgICAgUmVuZGVy
VGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKICAgICAgICAgICBSZW5k
ZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNzgweDI0Ci0gICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDc3MHgyNCBbcj0wIGM9MCBycz0xIGNzPTFdCi0g
ICAgICAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQKLSAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc3
MHgyNAotICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwwKSBzaXpl
IDc3MHgyNAotICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCww
KSBzaXplIDc3MHgyNCBbcj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQKLSAgICAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQgW2JnY29sb3I9
IzAwODAwMF0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtU
Qk9EWX0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgNzcweDIwCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwxMSkgc2l6ZSA3NjJ4MiBb
cj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoNzY2LDExKSBzaXplIDJ4MiBbcj0wIGM9MSBycz0xIGNzPTFdCi0g
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNzcwLDApIHNpemUgMTB4MjQgW3I9
MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAs
MCkgc2l6ZSA3ODB4MjQgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJU
YWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAgICAgUmVuZGVy
VGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQKKyAgICAgICAgICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMCkgc2l6ZSA3ODB4MjQgW3I9MCBj
PTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZSB7
VEFCTEV9IGF0ICgwLDApIHNpemUgNzgweDI0IFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUg
NzgweDI0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBh
dCAoMCwyKSBzaXplIDc4MHgyMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHtURH0gYXQgKDIsMTEpIHNpemUgNzcyeDIgW3I9MCBjPTAgcnM9MSBjcz0xXQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDc3
NiwxMSkgc2l6ZSAyeDIgW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDc4MCwwKSBzaXplIDEweDI0IFtyPTAgYz0xIHJzPTEgY3M9MV0KICAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMHgyNCBbYmdjb2xv
cj0jMDA4MDAwXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132527</attachid>
            <date>2012-03-18 19:59:48 -0700</date>
            <delta_ts>2012-03-18 21:32:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67976-20120319135945.patch</filename>
            <type>text/plain</type>
            <size>8496</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNhMGQyMWY2NWJmYjZm
YzQ3ZWEzZWQyNmRkZTdkZWNlMjM5YjQ0NS4uMGVjOThlNDAwNGMzM2E4ZWM5NjM1ZWZjYjY3ZDhi
NmM4YmQ0MWI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTE4ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IHJlbW5hbnRzIG9mIGNvZGUgdGhhdCBhc3N1bWUgTGVuZ3RocyBhcmUgMjggYml0IGludGVnZXJz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBM
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL21heC13aWR0aC1pbnRlZ2VyLW92ZXJmbG93LWV4cGVjdGVk
Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIEJvdW5k
IGJ5IElOVF9NQVggYW5kIElOVF9NSU4gaW5zdGVhZCBvZiAyOCBiaXQgYm91bmRzLgorICAgICAg
ICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bHlQcm9wZXJ0eUJvcmRlclJhZGl1czo6YXBwbHlWYWx1ZSk6CisgICAgICAgIFVzZSBQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aCBmdW5jdGlvbiBkaXJlY3RseS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgUmVtb3ZlIDI4IGJpdCBpbnRlZ2VyIGxpbWl0IGNvbnN0
YW50cy4KKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMp
OgorICAgICAgICBVc2Ugc3RkOjpudW1lcmljX2xpbWl0cy4KKwogMjAxMi0wMy0xOCAgS2VudGFy
byBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjExMDk5NCBkdWUgdG8gQ2hyb21pdW0gY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDlkMjEzZGNkZDE0OWI0MGRmZjgxYjBmZDhlOGU0
MmQ4NzQwMjczYzQuLmExZGQ3ZWZkZTMzZjQ2OTUwYzFlYjhiZTljNmVkMGE5MjE1NzJlZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNDA0LDggKzQwNCw3
IEBAIHRlbXBsYXRlPD4gdW5zaWduZWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgo
UmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTCiAKIHRlbXBsYXRlPD4gTGVuZ3RoIENTU1ByaW1p
dGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUq
IHJvb3RTdHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsK
LSAgICAvLyBGSVhNRTogTGVuZ3RoLmggbm8gbG9uZ2VyIGV4cGVjdHMgMjggYml0IGludGVnZXJz
LCBzbyB0aGVzZSBib3VuZHMgc2hvdWxkIGJlIElOVF9NQVggYW5kIElOVF9NSU4KLSAgICByZXR1
cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxpbnQsIGludE1heEZvckxlbmd0
aCwgaW50TWluRm9yTGVuZ3RoPihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUs
IG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVu
Z3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxpbnQsIElOVF9NQVgsIElOVF9NSU4+KGNv
bXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5n
Rm9udFNpemUpKSwgRml4ZWQpOwogfQogCiB0ZW1wbGF0ZTw+IHNob3J0IENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKaW5kZXggZTU3YTNmYjQ3Y2Fl
NjNmMzFjZGRkNzk4ZDRmNDVjMzkzNDRmNjdjNS4uMGE5MmFkNWFkODJjZTExNjg1YjE2ZGZjM2Vk
ZmZmMDI3Y2Q4ODQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBw
bHlQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9w
ZXJ0eS5jcHAKQEAgLTQ0OCw3ICs0NDgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAvLyBoYW5k
bGUgdGhpcyBjYXNlCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgcmFkaXVzV2lkdGggPSBMZW5ndGgobWF4KGludE1pbkZvckxlbmd0aCwgbWluKGludE1h
eEZvckxlbmd0aCwgcGFpci0+Zmlyc3QoKS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHNlbGVjdG9yLT5z
dHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+
ZWZmZWN0aXZlWm9vbSgpKSkpLCBGaXhlZCk7CisgICAgICAgICAgICByYWRpdXNXaWR0aCA9IHBh
aXItPmZpcnN0KCktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzZWxlY3Rvci0+c3R5bGUoKSwgc2Vs
ZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSk7CiAgICAgICAgIGlmIChwYWlyLT5zZWNvbmQoKS0+aXNQZXJjZW50YWdlKCkpCiAgICAg
ICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgocGFpci0+c2Vjb25kKCktPmdldERvdWJsZVZh
bHVlKCksIFBlcmNlbnQpOwogICAgICAgICBlbHNlIGlmIChwYWlyLT5zZWNvbmQoKS0+aXNDYWxj
dWxhdGVkUGVyY2VudGFnZVdpdGhMZW5ndGgoKSkgewpAQCAtNDU2LDcgKzQ1Niw3IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGlzIGNhc2UKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgobWF4KGlu
dE1pbkZvckxlbmd0aCwgbWluKGludE1heEZvckxlbmd0aCwgcGFpci0+c2Vjb25kKCktPmNvbXB1
dGVMZW5ndGg8aW50PihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5
bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkpKSwgRml4ZWQpOworICAg
ICAgICAgICAgcmFkaXVzSGVpZ2h0ID0gcGFpci0+c2Vjb25kKCktPmNvbXB1dGVMZW5ndGg8TGVu
Z3RoPihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2Vs
ZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgICAgIGludCB3aWR0aCA9IHJh
ZGl1c1dpZHRoLnZhbHVlKCk7CiAgICAgICAgIGludCBoZWlnaHQgPSByYWRpdXNIZWlnaHQudmFs
dWUoKTsKICAgICAgICAgaWYgKHdpZHRoIDwgMCB8fCBoZWlnaHQgPCAwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaAppbmRleCBiMmMzYjExNmFiYWQwNjdmMGM3MTFmMjg2YzA1NWI4Yjc1MjY1ODY1
Li41NjM0ZGRhMTVmZWI2MmI0OTU3YTljNDhhN2NkMDQ0MzA0ZmRmMDRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9MZW5ndGguaApAQCAtMzMsOSArMzMsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNvbnN0IGludCBpbnRNYXhGb3JMZW5ndGggPSAweDdmZmZmZmY7IC8vIG1heCB2YWx1ZSBmb3Ig
YSAyOC1iaXQgaW50Ci1jb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAx
KTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKLQogZW51bSBMZW5ndGhUeXBlIHsgQXV0
bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYywgQ2Fs
Y3VsYXRlZCwgVW5kZWZpbmVkIH07CiAgCiBjbGFzcyBDYWxjdWxhdGlvblZhbHVlOyAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKaW5kZXggNzA3NmNk
ZjJhYmM2NjFmOGU4NTY1NTk1ZGEyNDAwNWUzNzFjMThkZC4uMDM5MjMyNDE3MDA0YWQ0YjE3YTY5
MGEzM2NhNTU4OTVkNDEyMDhkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0F1dG9UYWJsZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9U
YWJsZUxheW91dC5jcHAKQEAgLTI2Niw4ICsyNjYsOCBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluV2lkdGgsIExheW91
dAogICAgICAgICBtaW5XaWR0aCA9IG1heDxpbnQ+KG1pbldpZHRoLCB0YWJsZUxvZ2ljYWxXaWR0
aC52YWx1ZSgpKTsKICAgICAgICAgbWF4V2lkdGggPSBtaW5XaWR0aDsKICAgICB9IGVsc2UgaWYg
KCFyZW1haW5pbmdQZXJjZW50ICYmIG1heE5vblBlcmNlbnQpIHsKLSAgICAgICAgLy8gaWYgdGhl
cmUgd2FzIG5vIHJlbWFpbmluZyBwZXJjZW50LCBtYXhXaWR0aCBpcyBpbnZhbGlkLgotICAgICAg
ICBtYXhXaWR0aCA9IGludE1heEZvckxlbmd0aDsgICAgICAgIAorICAgICAgICAvLyBpZiB0aGVy
ZSB3YXMgbm8gcmVtYWluaW5nIHBlcmNlbnQsIG1heFdpZHRoIGlzIGludmFsaWQKKyAgICAgICAg
bWF4V2lkdGggPSBzdGQ6Om51bWVyaWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKTsKICAgICB9
CiAKICAgICBMZW5ndGggdGFibGVMb2dpY2FsTWluV2lkdGggPSBtX3RhYmxlLT5zdHlsZSgpLT5s
b2dpY2FsTWluV2lkdGgoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MTc0YmI2Mjk1MjY4NDBkYjEyODc3YzQ2OTcyNWYz
ZmYyN2Q0YWMxLi4xM2U5ZTcxYzY4YTg5MDNmODg3NmM4ZTE4OWQ5ZmRiMmYwNGY2YjEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDMtMTggIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVy
c29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgcmVtbmFudHMgb2YgY29kZSB0aGF0
IGFzc3VtZSBMZW5ndGhzIGFyZSAyOCBiaXQgaW50ZWdlcnMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4
LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OgorCiAyMDEyLTAzLTE4ICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW52YWxpZGF0aW9u
IGlzc3VlIHdoZW4gY3JlYXRpbmcgYmFja2luZyBsYXllciBmb3IgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUv
bWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQu
dHh0CmluZGV4IDkxNzE2NTU3ZTI5YzlkOGE5MmFkZDAzYmFiMzljOGVkZWVkNzgyYTYuLjM5MmVj
NGNlODY3ZTA5OGY5NTRjNDA0NWVjYzBlMjY2NGRlNjVlMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL21heC13aWR0aC1pbnRlZ2VyLW92ZXJmbG93LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9tYXgt
d2lkdGgtaW50ZWdlci1vdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTYsMTYgKzYsMTYgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgNzgweDI0IFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNzgweDI0CiAgICAgICAgICAgUmVuZGVyVGFibGVS
b3cge1RSfSBhdCAoMCwwKSBzaXplIDc4MHgyNAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQgW3I9MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQKLSAg
ICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQK
LSAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMCkgc2l6ZSA3
NzB4MjQgW3I9MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzcweDI0IFtiZ2NvbG9yPSMwMDgwMDBd
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0
ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDc3MHgyMAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMTEpIHNpemUgNzYyeDIgW3I9MCBjPTAg
cnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDc2NiwxMSkgc2l6ZSAyeDIgW3I9MCBjPTEgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDc3MCwwKSBzaXplIDEweDI0IFtyPTAgYz0xIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDApIHNpemUg
NzgweDI0IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFibGUge1RB
QkxFfSBhdCAoMCwwKSBzaXplIDc4MHgyNAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAgICAgICBSZW5k
ZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDApIHNpemUgNzgweDI0IFtyPTAgYz0wIHJzPTEg
Y3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDc4MHgyNAorICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBh
dCAoMCwwKSBzaXplIDc4MHgyNCBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc4MHgyNAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMikg
c2l6ZSA3ODB4MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgyLDExKSBzaXplIDc3MngyIFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg3NzYsMTEpIHNp
emUgMngyIFtyPTAgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICg3ODAsMCkgc2l6ZSAxMHgyNCBbcj0wIGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTB4MjQgW2JnY29sb3I9IzAwODAw
MF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132540</attachid>
            <date>2012-03-18 21:33:04 -0700</date>
            <delta_ts>2012-03-18 23:38:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67976-20120319153301.patch</filename>
            <type>text/plain</type>
            <size>11409</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhkZDhjOThhNDJkYjZi
Zjc5M2Q0OTgxNWIzMDMxYjE3OWY5Yjk4Mi4uZjk5ZTAwNzhhYmRjMjZmZThkNTIxOTEzMDk3NTNj
ZmY2MDRjNDhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAzLTE4ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IHJlbW5hbnRzIG9mIGNvZGUgdGhhdCBhc3N1bWUgTGVuZ3RocyBhcmUgMjggYml0IGludGVnZXJz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBM
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL21heC13aWR0aC1pbnRlZ2VyLW92ZXJmbG93LWV4cGVjdGVk
Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIEJvdW5k
IGJ5IElOVF9NQVggYW5kIElOVF9NSU4gaW5zdGVhZCBvZiAyOCBiaXQgYm91bmRzLgorICAgICAg
ICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bHlQcm9wZXJ0eUJvcmRlclJhZGl1czo6YXBwbHlWYWx1ZSk6CisgICAgICAgIFVzZSBQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aCBmdW5jdGlvbiBkaXJlY3RseS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgUmVtb3ZlIDI4IGJpdCBpbnRlZ2VyIGxpbWl0IGNvbnN0
YW50cy4KKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMp
OgorICAgICAgICBVc2Ugc3RkOjpudW1lcmljX2xpbWl0cy4KKwogMjAxMi0wMy0xOCAgRGFuYSBK
YW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERvbid0
IG9jY2x1ZGUgb24gbWFpbi10aHJlYWQgYmVoaW5kIGxheWVycy9zdXJmYWNlcyB3aXRoIGltcGwt
dGhyZWFkIGFuaW1hdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
CmluZGV4IDlkMjEzZGNkZDE0OWI0MGRmZjgxYjBmZDhlOGU0MmQ4NzQwMjczYzQuLmExZGQ3ZWZk
ZTMzZjQ2OTUwYzFlYjhiZTljNmVkMGE5MjE1NzJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNDA0LDggKzQwNCw3IEBAIHRlbXBsYXRlPD4gdW5zaWdu
ZWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBS
ZW5kZXJTCiAKIHRlbXBsYXRlPD4gTGVuZ3RoIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVu
Z3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbXVs
dGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKLSAgICAvLyBGSVhNRTogTGVuZ3Ro
Lmggbm8gbG9uZ2VyIGV4cGVjdHMgMjggYml0IGludGVnZXJzLCBzbyB0aGVzZSBib3VuZHMgc2hv
dWxkIGJlIElOVF9NQVggYW5kIElOVF9NSU4KLSAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1w
cmVjaXNlQ29udmVyc2lvbjxpbnQsIGludE1heEZvckxlbmd0aCwgaW50TWluRm9yTGVuZ3RoPihj
b21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGlu
Z0ZvbnRTaXplKSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNl
Q29udmVyc2lvbjxpbnQsIElOVF9NQVgsIElOVF9NSU4+KGNvbXB1dGVMZW5ndGhEb3VibGUoc3R5
bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpKSwgRml4ZWQpOwog
fQogCiB0ZW1wbGF0ZTw+IHNob3J0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbXVsdGlwbGll
ciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
QXBwbHlQcm9wZXJ0eS5jcHAKaW5kZXggZTU3YTNmYjQ3Y2FlNjNmMzFjZGRkNzk4ZDRmNDVjMzkz
NDRmNjdjNS4uMGE5MmFkNWFkODJjZTExNjg1YjE2ZGZjM2VkZmZmMDI3Y2Q4ODQ2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKQEAgLTQ0OCw3ICs0
NDgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAvLyBoYW5kbGUgdGhpcyBjYXNlCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgcmFkaXVzV2lkdGggPSBM
ZW5ndGgobWF4KGludE1pbkZvckxlbmd0aCwgbWluKGludE1heEZvckxlbmd0aCwgcGFpci0+Zmly
c3QoKS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9v
dEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSkpLCBG
aXhlZCk7CisgICAgICAgICAgICByYWRpdXNXaWR0aCA9IHBhaXItPmZpcnN0KCktPmNvbXB1dGVM
ZW5ndGg8TGVuZ3RoPihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5
bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAgICAgIGlmIChw
YWlyLT5zZWNvbmQoKS0+aXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICByYWRpdXNIZWlnaHQg
PSBMZW5ndGgocGFpci0+c2Vjb25kKCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwogICAg
ICAgICBlbHNlIGlmIChwYWlyLT5zZWNvbmQoKS0+aXNDYWxjdWxhdGVkUGVyY2VudGFnZVdpdGhM
ZW5ndGgoKSkgewpAQCAtNDU2LDcgKzQ1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIC8vIGhh
bmRsZSB0aGlzIGNhc2UKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgobWF4KGludE1pbkZvckxlbmd0aCwgbWluKGlu
dE1heEZvckxlbmd0aCwgcGFpci0+c2Vjb25kKCktPmNvbXB1dGVMZW5ndGg8aW50PihzZWxlY3Rv
ci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxl
KCktPmVmZmVjdGl2ZVpvb20oKSkpKSwgRml4ZWQpOworICAgICAgICAgICAgcmFkaXVzSGVpZ2h0
ID0gcGFpci0+c2Vjb25kKCktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzZWxlY3Rvci0+c3R5bGUo
KSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVj
dGl2ZVpvb20oKSk7CiAgICAgICAgIGludCB3aWR0aCA9IHJhZGl1c1dpZHRoLnZhbHVlKCk7CiAg
ICAgICAgIGludCBoZWlnaHQgPSByYWRpdXNIZWlnaHQudmFsdWUoKTsKICAgICAgICAgaWYgKHdp
ZHRoIDwgMCB8fCBoZWlnaHQgPCAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCBiMmMz
YjExNmFiYWQwNjdmMGM3MTFmMjg2YzA1NWI4Yjc1MjY1ODY1Li41NjM0ZGRhMTVmZWI2MmI0OTU3
YTljNDhhN2NkMDQ0MzA0ZmRmMDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMzMs
OSArMzMsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGludCBpbnRNYXhGb3JM
ZW5ndGggPSAweDdmZmZmZmY7IC8vIG1heCB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50Ci1jb25zdCBp
bnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBh
IDI4LWJpdCBpbnQKLQogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQs
IEZpeGVkLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYywgQ2FsY3VsYXRlZCwgVW5kZWZpbmVkIH07
CiAgCiBjbGFzcyBDYWxjdWxhdGlvblZhbHVlOyAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0F1dG9UYWJsZUxheW91dC5jcHAKaW5kZXggNzA3NmNkZjJhYmM2NjFmOGU4NTY1NTk1ZGEy
NDAwNWUzNzFjMThkZC4uMDM5MjMyNDE3MDA0YWQ0YjE3YTY5MGEzM2NhNTU4OTVkNDEyMDhkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAKQEAgLTI2
Niw4ICsyNjYsOCBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluV2lkdGgsIExheW91dAogICAgICAgICBtaW5XaWR0aCA9
IG1heDxpbnQ+KG1pbldpZHRoLCB0YWJsZUxvZ2ljYWxXaWR0aC52YWx1ZSgpKTsKICAgICAgICAg
bWF4V2lkdGggPSBtaW5XaWR0aDsKICAgICB9IGVsc2UgaWYgKCFyZW1haW5pbmdQZXJjZW50ICYm
IG1heE5vblBlcmNlbnQpIHsKLSAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vIHJlbWFpbmluZyBw
ZXJjZW50LCBtYXhXaWR0aCBpcyBpbnZhbGlkLgotICAgICAgICBtYXhXaWR0aCA9IGludE1heEZv
ckxlbmd0aDsgICAgICAgIAorICAgICAgICAvLyBpZiB0aGVyZSB3YXMgbm8gcmVtYWluaW5nIHBl
cmNlbnQsIG1heFdpZHRoIGlzIGludmFsaWQKKyAgICAgICAgbWF4V2lkdGggPSBzdGQ6Om51bWVy
aWNfbGltaXRzPExheW91dFVuaXQ+OjptYXgoKTsKICAgICB9CiAKICAgICBMZW5ndGggdGFibGVM
b2dpY2FsTWluV2lkdGggPSBtX3RhYmxlLT5zdHlsZSgpLT5sb2dpY2FsTWluV2lkdGgoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBmNTJiNjlhODEwMGNiNDdiODMzZjBmYjg0NjI3NjJiN2UzMzc2OWQxLi44MzU0N2U1YjYz
MmQ2MjNiZTQ4ZDNiNGZmYjFjODI4MWZmZDA5NGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDMtMTggIEx1a2UgTWFjcGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZW1vdmUgcmVtbmFudHMgb2YgY29kZSB0aGF0IGFzc3VtZSBMZW5ndGhzIGFyZSAy
OCBiaXQgaW50ZWdlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02Nzk3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZs
b3ctZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RhYmxlL21heC13
aWR0aC1pbnRlZ2VyLW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wMy0xOCAgSGF5YXRv
IEl0byAgPGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU2tpcCBmYXN0L2RvbS9zaGFk
b3cvZ2V0LWVsZW1lbnQtaWQtaW4tc2hhZG93LXJvb3RzIG9uIHNvbWUgcG9ydHMgd2hlcmUgU0hB
RE9XX0RPTSBmbGFnIGlzIGRpc2FibGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXIt
b3ZlcmZsb3ctZXhwZWN0ZWQucG5nCmluZGV4IDViMTUwMjA4NGFlYzVjOGQwMDkyNzA0OWMwNjIz
NjE5NmIzNGRmMzcuLmRlMzE4MTJkYWUxMzgxOTBmMjEwMjI4NTM5ZjQzY2IwNTdmZWYzYTMgMTAw
NjQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMDU3NAp6Y21lQVNATj8ob2xIeWB1VkJxIWlh
MHl+eVV7K3ZZVjJhPmkxQiVRbFlicFJ6bmtCOWdDQ000NyQ9U3VGeGVSOGgKenNwaVFrREhjaEkk
dz8rQGg2WUklTnY3dE83R3tZaTdLU09RaEwjKCYxJVl9TDcoODdaTG47e0ctcmJsTDlWcEB3Cnpj
PjJlRj1ZMjZ8cDA+eCZKYDQ0SngtKmY1K2YtVi1hJk50enlkNFhOZlB6QjwxMHhmVlFRYDM1Ykww
Q0RxUjMpRAp6KUQ7fjUycH11K2FjSG57ZCl0ajlCJW5+b2pISmcjT35GQktAaSRpX0FyNjg0VT5s
JVQkcTVUNl5hdVZ7MCRCPGIKeitFPUdzQHdmS3hIfiY0dGFRNyVVSlBAaCl8TVVOU3skSmNEUENs
NmthVjFFKUcwMzR8JUIqZDAtNWRmSXRTbCFeCnpKfDB5PHd7VXN6XzIxN2EmQiMlcHV6fT9kWXMk
JFRORCgtSm5gNlM5RCspKylAOW9mX0JVejNWQGtOWWBsT3t7NAp6enx4P0NMam90cTFsN2xXJkA+
NSpaM2pJQ2hvWWNuTHxXbXtWUHhFdGEpJVJeYn5wcjF1KEVqZ1dsY2F6QWdUJXUKeih8Vzl0RVoq
NmBhTUZgazIkOHJwdSZ8dCVSSCUteVNWM0dzIUUmVnxsR347PUZobS0/TCRkZUA2TylSJXNSelBz
CnoyWlJJXnlwUFJBdk4qPH07bUh5PEIpM0h7Rl52WXdYclBSeTZjJiFyPzhDJHxUQmJPUjdQSkR1
eF5sR2s4TGc1VAp6OGJ7a0hxbTRJVWkqdkxeSktEPyNjNHRRV0sxP2o1OVlSSz8oTyRCYD0rRlUm
ITA2QmNMKndYcE8yZz5UIVJYS2QKelhvUFdlPXdOaXswNjY2X0kme0Z1RyYqIUpJJj1WPm1sPlYr
ODY3JHBvZ29CSVBAKWVWPT1TUlVVfGBfNTAkS3wmCnpJPF8pOHdnUjVCOXZ4ZDU5YXttbUFWPGVt
TSNva190RWZpRFJ6fUJHZlJqJXtZKzElV00qRitgRHt0RV9ZNm1XTQpPV2JrekxiNk13PCY7JFZD
OCglOGAKCmxpdGVyYWwgMTExMzkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5p
MUIlUWxZYnBSem5rQjlnQ0NNNDckPVN1RnhlVXE0CnpybTNrWlgoXzJETm9me29zWSN+Qj0wPlJ8
N0t2c2xNeTRzb1gtNFZtYjtFJXN5dnVaVTQpQW4jUnRQQXtQc198bgp6V25pZGFZejtZfEUka0By
Jm4kMXsxdHBIQ1lgI3F1Nk89cTdTNyozaEc1YWYrbCtBTm5ldyp1cjZsMmU4ZDFrTlEKenNjbGBf
QCNONyh0JFZJLTdxYjZ2a2dOS1RxVkxyajwqSVJTd01Ob0hhb3Z3K15MKH1+ZVJiZW0tUkZEZT9g
IWtSCno/bGJUZlR7OExGITE5Rm1jK2V1aiUkeXBodFVuekxlVHo2OU87a2Z+end1TEhiOElnRFNe
Zk0qNkBPIU4qeH5CbQp6PCh0YWEmYnFYMTdKSktJaFg/TW5aZmIzS0ZKOHpNRGE2IWFiQU9AY0Bl
Kz52azhnWj4oe0pmbFMjZllIenFhaj4Kek5UbkpGUXs4aip6Ql9gP3MkTzx6X09PYHB3Sl53VCZo
X3BvKkphcj1eVXt1OzVaTFFLVmNHNjg/XlkpKm9hNlY2CnpaXkdXV1UrVmxlLT9LWlVjISpuYXQt
YWZoLWcjZXB1RyY5SmU3Tk08a3YzWnkzRFlrPjU9Nkk0dF44cW5ORi1qcwp6U0E5YFA7WX5mPmsy
QlcmNGcyS1BSNH5FZlI3enEpYWc+TXViKVVRK3lWX1o2KXZnUCNlXmVlOF9eYDVISVFgejAKenlZ
RjNaRnw5WT9salZgKG5aQGY3QW1HWjlJQWNTQUx6fDcxcH48RXFkKiMoXih2eiE9Tj4jRlVtbjZB
dGJnVllKCnpXNGs/WSR6N1gmOGNLeXpvVlJqSmBzNFVkWXlDPDhyPEZmWCQ4NUx9X0k9OVEqfFQ8
aWRTSEZAPkNCeHthQFF9UAp6Y3dGb29TMk9pVysybkJkWD1eSTBfUk0tQ1cmYjk4eTVYfVgpQllw
SDgtOVAoamh9akV4QE0yYShaYHttVXdPQmIKek1qNHZscFB5NTJaVG0+P3l4IUpwI2NNbWUmQkpD
LVB5ZF9jQCUhRFhKKEhoPntgOE9nYHRlV3QqKDFyMUchNTB0Cnp4fUdhYFBDdSZtYW5jUiUpIWRI
fmEqdVAmbyFYeyhEUjwmOG04JUh9di1XKHxrRn00ayp5fm8kXkVHZ2E8ZTV0JAp6byF7I1pYe0RJ
Vi1OfjIjdE4tQCNLaktmbWNSaW80IUs5el87S2E7Ynh4dDArMXMwfColYDBCVkIpPFAqP1QybDcK
eipeQkVlezspKll0UUsxdldJQTdBNTJIKzNkeklWXiVeOD1jTyo/QkQpVUdwc0B+KVNzbDdofHor
OyRFTXh+X1VYCnopbXY9eSUrUkVsV2pBSkNtZCVxe1h6QkYqJGExZ0wkLW1acjZ4e0g0TCh0RWtZ
bDNkcGBBSj1Db2M9NVN6QEVSWgp6MlAoUWQ4NWs1OEpZNV9eRGo0NzFIUzlZU0FtU1hAbHkrWV5Z
QFh3ME13aWRBY1A1TGVvUE5HXnFzRVNSLSM+cDQKelA7aDhxVX1SJDkwNVRwbDlRZj9lI3NUMyNN
RWBKMEQ4I1dLaVMlKHdDPiZxR0R1fmRRJmBgaysoaFc3bkxNQD58CnpYMGV6SCt8LTUhI3ooU25Y
YG40TDhXQFh1cTZEQ3BnNEVnMT1VOHxCPnF+N3JiKGtwJTRobVdZfExlWVFaPm5TTAp6K14zTngz
XnlReExxZFZPYlNCdXJVXl5CdXYzWSM/RnNjRjsxdkNuZW5ENChNU3gmMVVCNH5tNzFNdnk+JllH
JmgKemckI3JaOU1abHRhbCV9fUByOHdGUks7amB6PjAjPV5mOChuTXN2ZXhaVUREOE0oYypyeF5s
R2IwQmhFYz03IVBTCnpGcSNgaWF8NWBpSj0jdGxaNn1ZbWxTa1hocXdRbj9oMChIYnZAOUdnM3JF
WXMoWHchfkVGN0lwN0BiYGlvbyN8bgp6d35kWSVqZ0E9TUEyQi1LempPcnkwfCE1N0V4X25KP0M4
QW89c1oyNzg5aUVaaitVSkdPVX17S2E8c0dAcmxzVyUKYT1FYlN9RCs+Z2t7fDJ0QVckPCtNYjZN
dzwmOyRVRnZPJilQCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvbWF4LXdpZHRoLWludGVnZXItb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CmluZGV4IDkxNzE2NTU3ZTI5YzlkOGE5MmFkZDAzYmFiMzljOGVkZWVkNzgyYTYu
LjM5MmVjNGNlODY3ZTA5OGY5NTRjNDA0NWVjYzBlMjY2NGRlNjVlMDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL21heC13aWR0aC1pbnRlZ2VyLW92ZXJm
bG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJs
ZS9tYXgtd2lkdGgtaW50ZWdlci1vdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTYsMTYgKzYsMTYg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9
IGF0ICgwLDApIHNpemUgNzgweDI0IFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgICAgIFJlbmRlclRh
YmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNzgweDI0CiAgICAgICAgICAgUmVuZGVy
VGFibGVSb3cge1RSfSBhdCAoMCwwKSBzaXplIDc4MHgyNAotICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDAsMCkgc2l6ZSA3NzB4MjQgW3I9MCBjPTAgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzcweDI0Ci0gICAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA3NzB4
MjQKLSAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMCkgc2l6ZSA3
NzB4MjQKLSAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMCkg
c2l6ZSA3NzB4MjQgW3I9MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzcweDI0IFtiZ2NvbG9yPSMw
MDgwMDBdCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJP
RFl9IGF0ICgwLDApIHNpemUgNzcweDI0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDc3MHgyMAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMTEpIHNpemUgNzYyeDIgW3I9
MCBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDc2NiwxMSkgc2l6ZSAyeDIgW3I9MCBjPTEgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDc3MCwwKSBzaXplIDEweDI0IFtyPTAg
Yz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDAp
IHNpemUgNzgweDI0IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGFi
bGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDc4MHgyNAorICAgICAgICAgICAgICAgIFJlbmRlclRh
YmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNzgweDI0CisgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDApIHNpemUgNzgweDI0IFtyPTAgYz0w
IHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDc4MHgyNAorICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGUge1RB
QkxFfSBhdCAoMCwwKSBzaXplIDc4MHgyNCBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDc4
MHgyNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMikgc2l6ZSA3ODB4MjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgyLDExKSBzaXplIDc3MngyIFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg3NzYs
MTEpIHNpemUgMngyIFtyPTAgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICg3ODAsMCkgc2l6ZSAxMHgyNCBbcj0wIGM9MSBycz0xIGNzPTFdCiAgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTB4MjQgW2JnY29sb3I9
IzAwODAwMF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>