<?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>63861</bug_id>
          
          <creation_ts>2011-07-02 11:37:18 -0700</creation_ts>
          <short_desc>value DOM property returns 1 for indeterminate progress bars</short_desc>
          <delta_ts>2011-07-06 06:25:20 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/leaverou/p3nHQ/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lea Verou">lea</reporter>
          <assigned_to name="Dominic Cooney">dominicc</assigned_to>
          <cc>dominicc</cc>
    
    <cc>jonlee</cc>
    
    <cc>morrita</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431612</commentid>
    <comment_count>0</comment_count>
    <who name="Lea Verou">lea</who>
    <bug_when>2011-07-02 11:37:18 -0700</bug_when>
    <thetext>It should return 0. The spec clearly states: &quot;If the progress bar is an indeterminate progress bar, then the value IDL attribute, on getting, must return 0.&quot;

Opera does it correctly and returns 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431783</commentid>
    <comment_count>1</comment_count>
      <attachid>99592</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 20:58:53 -0700</bug_when>
    <thetext>Created attachment 99592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431796</commentid>
    <comment_count>2</comment_count>
      <attachid>99592</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-03 22:07:18 -0700</bug_when>
    <thetext>Comment on attachment 99592
Patch

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

&gt; Source/WebCore/html/HTMLProgressElement.cpp:100
&gt; +    bool ok = parseToDoubleForNumberType(getAttribute(valueAttr), &amp;value);

You had better use fastGetAttribute().

&gt; Source/WebCore/html/HTMLProgressElement.cpp:108
&gt; +    if (value &gt; maxValue)
&gt; +        return maxValue;
&gt; +
&gt; +    return value;

No need to expand the original 1-line code to 4 lines.

&gt; Source/WebCore/html/HTMLProgressElement.cpp:148
&gt; +bool HTMLProgressElement::isDeterminate() const
&gt;  {
&gt; -    double currentPosition = position();
&gt; -    return (HTMLProgressElement::IndeterminatePosition != currentPosition &amp;&amp; HTMLProgressElement::InvalidPosition != currentPosition);
&gt; +    return hasAttribute(valueAttr);

This is incorrect.
isDeterminate() should return true if fastHasAttribute(value) &amp;&amp; the value is &lt;= the maximum value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431797</commentid>
    <comment_count>3</comment_count>
      <attachid>99595</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:19:55 -0700</bug_when>
    <thetext>Created attachment 99595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431801</commentid>
    <comment_count>4</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:22:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 99592 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=99592&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLProgressElement.cpp:100
&gt; &gt; +    bool ok = parseToDoubleForNumberType(getAttribute(valueAttr), &amp;value);
&gt; 
&gt; You had better use fastGetAttribute().

Done.

&gt; &gt; Source/WebCore/html/HTMLProgressElement.cpp:108
&gt; &gt; +    if (value &gt; maxValue)
&gt; &gt; +        return maxValue;
&gt; &gt; +
&gt; &gt; +    return value;
&gt; 
&gt; No need to expand the original 1-line code to 4 lines.

Fixed. I guess calling max() twice is OK on an unlikely code path.

&gt; &gt; Source/WebCore/html/HTMLProgressElement.cpp:148
&gt; &gt; +bool HTMLProgressElement::isDeterminate() const
&gt; &gt;  {
&gt; &gt; -    double currentPosition = position();
&gt; &gt; -    return (HTMLProgressElement::IndeterminatePosition != currentPosition &amp;&amp; HTMLProgressElement::InvalidPosition != currentPosition);
&gt; &gt; +    return hasAttribute(valueAttr);
&gt; 
&gt; This is incorrect.
&gt; isDeterminate() should return true if fastHasAttribute(value) &amp;&amp; the value is &lt;= the maximum value.

No, it is correct. Determinate/indeterminate does not depend on the relationship between value and max. See &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-progress-element&gt;:

&quot;If the value attribute is omitted, then the progress bar is an indeterminate progress bar. Otherwise, it is a determinate progress bar.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431804</commentid>
    <comment_count>5</comment_count>
      <attachid>99595</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:25:09 -0700</bug_when>
    <thetext>Comment on attachment 99595
Patch

Oops, forgot to use fastHasAttribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431805</commentid>
    <comment_count>6</comment_count>
      <attachid>99596</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:26:26 -0700</bug_when>
    <thetext>Created attachment 99596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431807</commentid>
    <comment_count>7</comment_count>
      <attachid>99592</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-03 22:35:53 -0700</bug_when>
    <thetext>Comment on attachment 99592
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLProgressElement.cpp:148
&gt;&gt;&gt; +    return hasAttribute(valueAttr);
&gt;&gt; 
&gt;&gt; This is incorrect.
&gt;&gt; isDeterminate() should return true if fastHasAttribute(value) &amp;&amp; the value is &lt;= the maximum value.
&gt; 
&gt; No, it is correct. Determinate/indeterminate does not depend on the relationship between value and max. See &lt;http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-progress-element&gt;:
&gt; 
&gt; &quot;If the value attribute is omitted, then the progress bar is an indeterminate progress bar. Otherwise, it is a determinate progress bar.&quot;

Oh, I see. I looked at the first paragraph of &lt;progress&gt;.

&gt; The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed.

This is a brief explanation of the concept.  The following sentences in the specification clearly says that it&apos;s determinate iff fastHasAttribute(valueAttr).

So, we have rendering bug about this. We should fix RenderProgress::isDeterminate() too, and fix or upadte rendering tests.
I think it should be a separated bug.  Can you remove the isDeterminate() change please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431810</commentid>
    <comment_count>8</comment_count>
      <attachid>99599</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:45:54 -0700</bug_when>
    <thetext>Created attachment 99599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431812</commentid>
    <comment_count>9</comment_count>
      <attachid>99599</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-03 22:47:47 -0700</bug_when>
    <thetext>Comment on attachment 99599
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431813</commentid>
    <comment_count>10</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-03 22:48:49 -0700</bug_when>
    <thetext>Thank you for many speedy reviews.

(In reply to comment #7)
&gt; So, we have rendering bug about this. We should fix RenderProgress::isDeterminate() too, and fix or upadte rendering tests.
&gt; I think it should be a separated bug.  Can you remove the isDeterminate() change please?

I have filed bug 63889 for updating isDeterminate and the rendering. I can work on that next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431815</commentid>
    <comment_count>11</comment_count>
      <attachid>99599</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-03 22:57:06 -0700</bug_when>
    <thetext>Comment on attachment 99599
Patch

Clearing flags on attachment: 99599

Committed r90351: &lt;http://trac.webkit.org/changeset/90351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431816</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-03 22:57:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432731</commentid>
    <comment_count>13</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2011-07-06 05:47:00 -0700</bug_when>
    <thetext>It seems the spec has it both ways, and should be fixed.
In http://dev.w3.org/html5/spec/Overview.html chapter 4.10.16, just above &quot;User agent requirements&quot; it says:

The value and max attributes, when present, must have values that are valid floating point numbers. The value attribute, if present, must have a value equal to or greater than zero, and less than or equal to the value of the max attribute, if present, or 1.0, otherwise. The max attribute, if present, must have a value greater than zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432743</commentid>
    <comment_count>14</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-07-06 06:25:20 -0700</bug_when>
    <thetext>I have filed &lt;http://www.w3.org/Bugs/Public/show_bug.cgi?id=13160&gt; for the spec issue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99592</attachid>
            <date>2011-07-03 20:58:53 -0700</date>
            <delta_ts>2011-07-03 22:35:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63861-20110704125851.patch</filename>
            <type>text/plain</type>
            <size>6012</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NWVjMjY0OWRiZGQzYTM4ZDk0OWYy
Yjg1ZWEyZTczZTZhNjFlYTUwLi5hNmNjNTVmMTM5NDI2MzMwNGUxYWU5YzY0ODA2M2MxZDcyOTAy
M2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBh
biBpbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyB0ZXN0IHJlc3Vs
dCwgYW5kIGFkZHMgYSB0ZXN0IGZvciBzZXR0aW5nIHZhbHVlIDwgMC4KKworICAgICAgICAqIGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1wcm9ncmVzcy1wcm9w
ZXJ0aWVzLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXBy
b2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA3LTAxICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNz
RWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jl
c3MtcHJvcGVydGllcy5qcwppbmRleCA4NDU1YzhkZDk1NGU4YjY0ZmZiYzYxOTk2YmFlMmFlMzAy
ZjkxM2NjLi41ZDhmMTkyZDM4NzE0OWFhN2Q1ZDJmY2NlYjBmYWYyNmM2NTcyZmE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0
cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5q
cwpAQCAtMyw3ICszLDcgQEAgZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52
YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQuJykKIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncHJvZ3Jlc3MnKTsKIAogZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9y
ZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7Ci1zaG91bGRCZSgicC52YWx1ZSIsICIxIik7CitzaG91
bGRCZSgicC52YWx1ZSIsICIwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMSIpOwogc2hvdWxkQmUo
InAucG9zaXRpb24iLCAiLTEiKTsKIApAQCAtMjEsNiArMjEsMTEgQEAgc2hvdWxkQmUoInAudmFs
dWUiLCAiMTAwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMTAwIik7CiBzaG91bGRCZSgicC5wb3Np
dGlvbiIsICIxIik7CiAKK2RlYnVnKCJTZXQgdmFsdWUgbGVzcyB0aGFuIHplcm8iKTsKK3AudmFs
dWUgPSAtNDI7CitzaG91bGRCZSgncC52YWx1ZScsICcwJyk7CitzaG91bGRCZSgncC5wb3NpdGlv
bicsICcwJyk7CisKIGRlYnVnKCJTZXQgaW52YWxpZCB2YWx1ZSwgc2hvdWxkIHRocm93Iik7CiBz
aG91bGRUaHJvdygncC52YWx1ZSA9ICIyMDBBIjsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VS
UjogRE9NIEV4Y2VwdGlvbiA5IicpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNz
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDdkNTYzM2Y0MjM2MDljMmM1MjkyMjY2MGVi
NzZiZmY4M2YzODNlOTQuLjdmMTdmNzc5NzJhZWFmM2EyMzkxM2YxNTM1OWI4MDM3MGEzZDNmOGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgdmFs
dWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Ci1QQVNTIHAudmFsdWUgaXMgMQorUEFTUyBw
LnZhbHVlIGlzIDAKIFBBU1MgcC5tYXggaXMgMQogUEFTUyBwLnBvc2l0aW9uIGlzIC0xCiBTZXQg
dmFsaWQgdmFsdWVzCkBAIC0xNSw2ICsxNSw5IEBAIFNldCB2YWx1ZSBiaWdnZXIgdGhhbiBtYXgK
IFBBU1MgcC52YWx1ZSBpcyAxMDAKIFBBU1MgcC5tYXggaXMgMTAwCiBQQVNTIHAucG9zaXRpb24g
aXMgMQorU2V0IHZhbHVlIGxlc3MgdGhhbiB6ZXJvCitQQVNTIHAudmFsdWUgaXMgMAorUEFTUyBw
LnBvc2l0aW9uIGlzIDAKIFNldCBpbnZhbGlkIHZhbHVlLCBzaG91bGQgdGhyb3cKIFBBU1MgcC52
YWx1ZSA9ICIyMDBBIjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgogU2V0IGludmFsaWQgbWF4LCBzaG91bGQgdGhyb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBkNzZhNDgyOGY4ZjJhN2ZiZGIyODA2YzVkMTg1MDZmNTY2YWU2Yzk1Li5hMGEwY2Q5Yzk3
YTBlNTE1NGU3ZjUxYzlkZGQxNDA4MjZkZjNmZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBhbiBpbmRldGVybWluYXRlIHByb2dyZXNz
IGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJv
Z3Jlc3MtcHJvcGVydGllcy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24pOiBkb24ndCBk
dXBsaWNhdGUgaXNEZXRlcm1pbmF0ZSBsb2dpYworICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dy
ZXNzRWxlbWVudDo6aXNEZXRlcm1pbmF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MUHJvZ3Jlc3NF
bGVtZW50Lmg6CisKIDIwMTEtMDctMDMgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlc3RvcmUgc2Nyb2xsIHBvc2l0aW9uIG9uIHBhZ2UgcmVsb2FkcyBzY2hl
ZHVsZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iWFgiLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCmluZGV4IDAxODMxZjk4Yzhm
MjA1ZTk3MGZmMjQyMjlhM2RmMjE0NmY0N2MzOTQuLmY0YmZmMmEwMmU5NTg3YTkzOGYwNWFiMjQw
N2VmYjA1YTBlOGQ0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dy
ZXNzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmNwcApAQCAtOTMsMTIgKzkzLDE5IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6YXR0
YWNoKCkKIAogZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnZhbHVlKCkgY29uc3QKIHsKLSAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlU3RyaW5nID0gZ2V0QXR0cmlidXRlKHZhbHVlQXR0
cik7CisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAg
ZG91YmxlIHZhbHVlOwotICAgIGJvb2wgb2sgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2
YWx1ZVN0cmluZywgJnZhbHVlKTsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoZ2V0QXR0cmlidXRlKHZhbHVlQXR0ciksICZ2YWx1ZSk7CiAgICAgaWYgKCFvayB8fCB2
YWx1ZSA8IDApCi0gICAgICAgIHJldHVybiB2YWx1ZVN0cmluZy5pc051bGwoKSA/IDEgOiAwOwot
ICAgIHJldHVybiAodmFsdWUgPiBtYXgoKSkgPyBtYXgoKSA6IHZhbHVlOworICAgICAgICByZXR1
cm4gMDsKKworICAgIGRvdWJsZSBtYXhWYWx1ZSA9IG1heCgpOworICAgIGlmICh2YWx1ZSA+IG1h
eFZhbHVlKQorICAgICAgICByZXR1cm4gbWF4VmFsdWU7CisKKyAgICByZXR1cm4gdmFsdWU7CiB9
CiAKIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKQEAgLTEzMCwxNSArMTM3LDE1IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxl
bWVudDo6c2V0TWF4KGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBkb3VibGUgSFRN
TFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24oKSBjb25zdAogewotICAgIGlmICghaGFzQXR0cmli
dXRlKHZhbHVlQXR0cikpCisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCiAgICAgICAgIHJldHVy
biBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJbmRldGVybWluYXRlUG9zaXRpb247CisKICAgICByZXR1
cm4gdmFsdWUoKSAvIG1heCgpOwogfQogCi1ib29sIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OmlzRGV0
ZXJtaW5hdGUoKQorYm9vbCBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojppc0RldGVybWluYXRlKCkgY29u
c3QKIHsKLSAgICBkb3VibGUgY3VycmVudFBvc2l0aW9uID0gcG9zaXRpb24oKTsKLSAgICByZXR1
cm4gKEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkluZGV0ZXJtaW5hdGVQb3NpdGlvbiAhPSBjdXJyZW50
UG9zaXRpb24gJiYgSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9uICE9IGN1cnJl
bnRQb3NpdGlvbik7CisgICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh2YWx1ZUF0dHIpOwogfQogICAg
IAogdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpkaWRFbGVtZW50U3RhdGVDaGFuZ2UoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaAppbmRleCA4ZGViZTVjOWJhOTUy
Yjk3Y2ZkN2U3MGJlZGJmNWY5Y2VjZjhlMDA5Li4yZWU0YzZiYTg1ODlhNjQ1YWUxMDMxZTg4NGUz
YTNmNWM0YzJmMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVz
c0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQu
aApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgcG9zaXRpb24oKSBjb25z
dDsKIAotICAgIGJvb2wgaXNEZXRlcm1pbmF0ZSgpOworICAgIGJvb2wgaXNEZXRlcm1pbmF0ZSgp
IGNvbnN0OwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99595</attachid>
            <date>2011-07-03 22:19:55 -0700</date>
            <delta_ts>2011-07-03 22:26:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63861-20110704141953.patch</filename>
            <type>text/plain</type>
            <size>5955</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NWVjMjY0OWRiZGQzYTM4ZDk0OWYy
Yjg1ZWEyZTczZTZhNjFlYTUwLi5hNmNjNTVmMTM5NDI2MzMwNGUxYWU5YzY0ODA2M2MxZDcyOTAy
M2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBh
biBpbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyB0ZXN0IHJlc3Vs
dCwgYW5kIGFkZHMgYSB0ZXN0IGZvciBzZXR0aW5nIHZhbHVlIDwgMC4KKworICAgICAgICAqIGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1wcm9ncmVzcy1wcm9w
ZXJ0aWVzLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXBy
b2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA3LTAxICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNz
RWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jl
c3MtcHJvcGVydGllcy5qcwppbmRleCA4NDU1YzhkZDk1NGU4YjY0ZmZiYzYxOTk2YmFlMmFlMzAy
ZjkxM2NjLi41ZDhmMTkyZDM4NzE0OWFhN2Q1ZDJmY2NlYjBmYWYyNmM2NTcyZmE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0
cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5q
cwpAQCAtMyw3ICszLDcgQEAgZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52
YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQuJykKIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncHJvZ3Jlc3MnKTsKIAogZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9y
ZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7Ci1zaG91bGRCZSgicC52YWx1ZSIsICIxIik7CitzaG91
bGRCZSgicC52YWx1ZSIsICIwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMSIpOwogc2hvdWxkQmUo
InAucG9zaXRpb24iLCAiLTEiKTsKIApAQCAtMjEsNiArMjEsMTEgQEAgc2hvdWxkQmUoInAudmFs
dWUiLCAiMTAwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMTAwIik7CiBzaG91bGRCZSgicC5wb3Np
dGlvbiIsICIxIik7CiAKK2RlYnVnKCJTZXQgdmFsdWUgbGVzcyB0aGFuIHplcm8iKTsKK3AudmFs
dWUgPSAtNDI7CitzaG91bGRCZSgncC52YWx1ZScsICcwJyk7CitzaG91bGRCZSgncC5wb3NpdGlv
bicsICcwJyk7CisKIGRlYnVnKCJTZXQgaW52YWxpZCB2YWx1ZSwgc2hvdWxkIHRocm93Iik7CiBz
aG91bGRUaHJvdygncC52YWx1ZSA9ICIyMDBBIjsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VS
UjogRE9NIEV4Y2VwdGlvbiA5IicpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNz
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDdkNTYzM2Y0MjM2MDljMmM1MjkyMjY2MGVi
NzZiZmY4M2YzODNlOTQuLjdmMTdmNzc5NzJhZWFmM2EyMzkxM2YxNTM1OWI4MDM3MGEzZDNmOGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgdmFs
dWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Ci1QQVNTIHAudmFsdWUgaXMgMQorUEFTUyBw
LnZhbHVlIGlzIDAKIFBBU1MgcC5tYXggaXMgMQogUEFTUyBwLnBvc2l0aW9uIGlzIC0xCiBTZXQg
dmFsaWQgdmFsdWVzCkBAIC0xNSw2ICsxNSw5IEBAIFNldCB2YWx1ZSBiaWdnZXIgdGhhbiBtYXgK
IFBBU1MgcC52YWx1ZSBpcyAxMDAKIFBBU1MgcC5tYXggaXMgMTAwCiBQQVNTIHAucG9zaXRpb24g
aXMgMQorU2V0IHZhbHVlIGxlc3MgdGhhbiB6ZXJvCitQQVNTIHAudmFsdWUgaXMgMAorUEFTUyBw
LnBvc2l0aW9uIGlzIDAKIFNldCBpbnZhbGlkIHZhbHVlLCBzaG91bGQgdGhyb3cKIFBBU1MgcC52
YWx1ZSA9ICIyMDBBIjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgogU2V0IGludmFsaWQgbWF4LCBzaG91bGQgdGhyb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBkNzZhNDgyOGY4ZjJhN2ZiZGIyODA2YzVkMTg1MDZmNTY2YWU2Yzk1Li5hMGEwY2Q5Yzk3
YTBlNTE1NGU3ZjUxYzlkZGQxNDA4MjZkZjNmZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBhbiBpbmRldGVybWluYXRlIHByb2dyZXNz
IGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJv
Z3Jlc3MtcHJvcGVydGllcy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24pOiBkb24ndCBk
dXBsaWNhdGUgaXNEZXRlcm1pbmF0ZSBsb2dpYworICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dy
ZXNzRWxlbWVudDo6aXNEZXRlcm1pbmF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MUHJvZ3Jlc3NF
bGVtZW50Lmg6CisKIDIwMTEtMDctMDMgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlc3RvcmUgc2Nyb2xsIHBvc2l0aW9uIG9uIHBhZ2UgcmVsb2FkcyBzY2hl
ZHVsZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iWFgiLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCmluZGV4IDAxODMxZjk4Yzhm
MjA1ZTk3MGZmMjQyMjlhM2RmMjE0NmY0N2MzOTQuLjllZDIxMWE2OGYwMzM5MGY2Mjk2MmU2NTY0
OTZhNDRiM2VkNzdiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dy
ZXNzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmNwcApAQCAtOTMsMTIgKzkzLDE1IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6YXR0
YWNoKCkKIAogZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnZhbHVlKCkgY29uc3QKIHsKLSAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlU3RyaW5nID0gZ2V0QXR0cmlidXRlKHZhbHVlQXR0
cik7CisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAg
ZG91YmxlIHZhbHVlOwotICAgIGJvb2wgb2sgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2
YWx1ZVN0cmluZywgJnZhbHVlKTsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoZmFzdEdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpLCAmdmFsdWUpOwogICAgIGlmICghb2sg
fHwgdmFsdWUgPCAwKQotICAgICAgICByZXR1cm4gdmFsdWVTdHJpbmcuaXNOdWxsKCkgPyAxIDog
MDsKLSAgICByZXR1cm4gKHZhbHVlID4gbWF4KCkpID8gbWF4KCkgOiB2YWx1ZTsKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICByZXR1cm4gdmFsdWUgPiBtYXgoKSA/IG1heCgpIDogdmFsdWU7CiB9
CiAKIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKQEAgLTEzMCwxNSArMTMzLDE1IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxl
bWVudDo6c2V0TWF4KGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBkb3VibGUgSFRN
TFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24oKSBjb25zdAogewotICAgIGlmICghaGFzQXR0cmli
dXRlKHZhbHVlQXR0cikpCisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCiAgICAgICAgIHJldHVy
biBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJbmRldGVybWluYXRlUG9zaXRpb247CisKICAgICByZXR1
cm4gdmFsdWUoKSAvIG1heCgpOwogfQogCi1ib29sIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OmlzRGV0
ZXJtaW5hdGUoKQorYm9vbCBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojppc0RldGVybWluYXRlKCkgY29u
c3QKIHsKLSAgICBkb3VibGUgY3VycmVudFBvc2l0aW9uID0gcG9zaXRpb24oKTsKLSAgICByZXR1
cm4gKEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkluZGV0ZXJtaW5hdGVQb3NpdGlvbiAhPSBjdXJyZW50
UG9zaXRpb24gJiYgSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9uICE9IGN1cnJl
bnRQb3NpdGlvbik7CisgICAgcmV0dXJuIGhhc0F0dHJpYnV0ZSh2YWx1ZUF0dHIpOwogfQogICAg
IAogdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpkaWRFbGVtZW50U3RhdGVDaGFuZ2UoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaAppbmRleCA4ZGViZTVjOWJhOTUy
Yjk3Y2ZkN2U3MGJlZGJmNWY5Y2VjZjhlMDA5Li4yZWU0YzZiYTg1ODlhNjQ1YWUxMDMxZTg4NGUz
YTNmNWM0YzJmMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVz
c0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQu
aApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgcG9zaXRpb24oKSBjb25z
dDsKIAotICAgIGJvb2wgaXNEZXRlcm1pbmF0ZSgpOworICAgIGJvb2wgaXNEZXRlcm1pbmF0ZSgp
IGNvbnN0OwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99596</attachid>
            <date>2011-07-03 22:26:26 -0700</date>
            <delta_ts>2011-07-03 22:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63861-20110704142624.patch</filename>
            <type>text/plain</type>
            <size>5959</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NWVjMjY0OWRiZGQzYTM4ZDk0OWYy
Yjg1ZWEyZTczZTZhNjFlYTUwLi5hNmNjNTVmMTM5NDI2MzMwNGUxYWU5YzY0ODA2M2MxZDcyOTAy
M2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBh
biBpbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyB0ZXN0IHJlc3Vs
dCwgYW5kIGFkZHMgYSB0ZXN0IGZvciBzZXR0aW5nIHZhbHVlIDwgMC4KKworICAgICAgICAqIGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1wcm9ncmVzcy1wcm9w
ZXJ0aWVzLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXBy
b2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA3LTAxICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNz
RWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jl
c3MtcHJvcGVydGllcy5qcwppbmRleCA4NDU1YzhkZDk1NGU4YjY0ZmZiYzYxOTk2YmFlMmFlMzAy
ZjkxM2NjLi41ZDhmMTkyZDM4NzE0OWFhN2Q1ZDJmY2NlYjBmYWYyNmM2NTcyZmE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0
cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5q
cwpAQCAtMyw3ICszLDcgQEAgZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52
YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQuJykKIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncHJvZ3Jlc3MnKTsKIAogZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9y
ZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7Ci1zaG91bGRCZSgicC52YWx1ZSIsICIxIik7CitzaG91
bGRCZSgicC52YWx1ZSIsICIwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMSIpOwogc2hvdWxkQmUo
InAucG9zaXRpb24iLCAiLTEiKTsKIApAQCAtMjEsNiArMjEsMTEgQEAgc2hvdWxkQmUoInAudmFs
dWUiLCAiMTAwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMTAwIik7CiBzaG91bGRCZSgicC5wb3Np
dGlvbiIsICIxIik7CiAKK2RlYnVnKCJTZXQgdmFsdWUgbGVzcyB0aGFuIHplcm8iKTsKK3AudmFs
dWUgPSAtNDI7CitzaG91bGRCZSgncC52YWx1ZScsICcwJyk7CitzaG91bGRCZSgncC5wb3NpdGlv
bicsICcwJyk7CisKIGRlYnVnKCJTZXQgaW52YWxpZCB2YWx1ZSwgc2hvdWxkIHRocm93Iik7CiBz
aG91bGRUaHJvdygncC52YWx1ZSA9ICIyMDBBIjsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VS
UjogRE9NIEV4Y2VwdGlvbiA5IicpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNz
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDdkNTYzM2Y0MjM2MDljMmM1MjkyMjY2MGVi
NzZiZmY4M2YzODNlOTQuLjdmMTdmNzc5NzJhZWFmM2EyMzkxM2YxNTM1OWI4MDM3MGEzZDNmOGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgdmFs
dWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Ci1QQVNTIHAudmFsdWUgaXMgMQorUEFTUyBw
LnZhbHVlIGlzIDAKIFBBU1MgcC5tYXggaXMgMQogUEFTUyBwLnBvc2l0aW9uIGlzIC0xCiBTZXQg
dmFsaWQgdmFsdWVzCkBAIC0xNSw2ICsxNSw5IEBAIFNldCB2YWx1ZSBiaWdnZXIgdGhhbiBtYXgK
IFBBU1MgcC52YWx1ZSBpcyAxMDAKIFBBU1MgcC5tYXggaXMgMTAwCiBQQVNTIHAucG9zaXRpb24g
aXMgMQorU2V0IHZhbHVlIGxlc3MgdGhhbiB6ZXJvCitQQVNTIHAudmFsdWUgaXMgMAorUEFTUyBw
LnBvc2l0aW9uIGlzIDAKIFNldCBpbnZhbGlkIHZhbHVlLCBzaG91bGQgdGhyb3cKIFBBU1MgcC52
YWx1ZSA9ICIyMDBBIjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgogU2V0IGludmFsaWQgbWF4LCBzaG91bGQgdGhyb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBkNzZhNDgyOGY4ZjJhN2ZiZGIyODA2YzVkMTg1MDZmNTY2YWU2Yzk1Li5hMGEwY2Q5Yzk3
YTBlNTE1NGU3ZjUxYzlkZGQxNDA4MjZkZjNmZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBhbiBpbmRldGVybWluYXRlIHByb2dyZXNz
IGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJv
Z3Jlc3MtcHJvcGVydGllcy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24pOiBkb24ndCBk
dXBsaWNhdGUgaXNEZXRlcm1pbmF0ZSBsb2dpYworICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dy
ZXNzRWxlbWVudDo6aXNEZXRlcm1pbmF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MUHJvZ3Jlc3NF
bGVtZW50Lmg6CisKIDIwMTEtMDctMDMgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlc3RvcmUgc2Nyb2xsIHBvc2l0aW9uIG9uIHBhZ2UgcmVsb2FkcyBzY2hl
ZHVsZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iWFgiLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCmluZGV4IDAxODMxZjk4Yzhm
MjA1ZTk3MGZmMjQyMjlhM2RmMjE0NmY0N2MzOTQuLmJlMWQxNzZjZjkxZWZhMWRjOWNhMmMzNDY4
YTU1NjgyYmU1M2I4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dy
ZXNzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmNwcApAQCAtOTMsMTIgKzkzLDE1IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6YXR0
YWNoKCkKIAogZG91YmxlIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OnZhbHVlKCkgY29uc3QKIHsKLSAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlU3RyaW5nID0gZ2V0QXR0cmlidXRlKHZhbHVlQXR0
cik7CisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCisgICAgICAgIHJldHVybiAwOworCiAgICAg
ZG91YmxlIHZhbHVlOwotICAgIGJvb2wgb2sgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2
YWx1ZVN0cmluZywgJnZhbHVlKTsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoZmFzdEdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpLCAmdmFsdWUpOwogICAgIGlmICghb2sg
fHwgdmFsdWUgPCAwKQotICAgICAgICByZXR1cm4gdmFsdWVTdHJpbmcuaXNOdWxsKCkgPyAxIDog
MDsKLSAgICByZXR1cm4gKHZhbHVlID4gbWF4KCkpID8gbWF4KCkgOiB2YWx1ZTsKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICByZXR1cm4gdmFsdWUgPiBtYXgoKSA/IG1heCgpIDogdmFsdWU7CiB9
CiAKIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKQEAgLTEzMCwxNSArMTMzLDE1IEBAIHZvaWQgSFRNTFByb2dyZXNzRWxl
bWVudDo6c2V0TWF4KGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQogCiBkb3VibGUgSFRN
TFByb2dyZXNzRWxlbWVudDo6cG9zaXRpb24oKSBjb25zdAogewotICAgIGlmICghaGFzQXR0cmli
dXRlKHZhbHVlQXR0cikpCisgICAgaWYgKCFpc0RldGVybWluYXRlKCkpCiAgICAgICAgIHJldHVy
biBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpJbmRldGVybWluYXRlUG9zaXRpb247CisKICAgICByZXR1
cm4gdmFsdWUoKSAvIG1heCgpOwogfQogCi1ib29sIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OmlzRGV0
ZXJtaW5hdGUoKQorYm9vbCBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojppc0RldGVybWluYXRlKCkgY29u
c3QKIHsKLSAgICBkb3VibGUgY3VycmVudFBvc2l0aW9uID0gcG9zaXRpb24oKTsKLSAgICByZXR1
cm4gKEhUTUxQcm9ncmVzc0VsZW1lbnQ6OkluZGV0ZXJtaW5hdGVQb3NpdGlvbiAhPSBjdXJyZW50
UG9zaXRpb24gJiYgSFRNTFByb2dyZXNzRWxlbWVudDo6SW52YWxpZFBvc2l0aW9uICE9IGN1cnJl
bnRQb3NpdGlvbik7CisgICAgcmV0dXJuIGZhc3RIYXNBdHRyaWJ1dGUodmFsdWVBdHRyKTsKIH0K
ICAgICAKIHZvaWQgSFRNTFByb2dyZXNzRWxlbWVudDo6ZGlkRWxlbWVudFN0YXRlQ2hhbmdlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmgKaW5kZXggOGRlYmU1Yzli
YTk1MmI5N2NmZDdlNzBiZWRiZjVmOWNlY2Y4ZTAwOS4uMmVlNGM2YmE4NTg5YTY0NWFlMTAzMWU4
ODRlM2EzZjVjNGMyZjEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJv
Z3Jlc3NFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogCiAgICAgZG91YmxlIHBvc2l0aW9uKCkg
Y29uc3Q7CiAKLSAgICBib29sIGlzRGV0ZXJtaW5hdGUoKTsKKyAgICBib29sIGlzRGV0ZXJtaW5h
dGUoKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9p
bnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99599</attachid>
            <date>2011-07-03 22:45:54 -0700</date>
            <delta_ts>2011-07-03 22:57:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63861-20110704144552.patch</filename>
            <type>text/plain</type>
            <size>4459</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NWVjMjY0OWRiZGQzYTM4ZDk0OWYy
Yjg1ZWEyZTczZTZhNjFlYTUwLi5hNmNjNTVmMTM5NDI2MzMwNGUxYWU5YzY0ODA2M2MxZDcyOTAy
M2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBh
biBpbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyB0ZXN0IHJlc3Vs
dCwgYW5kIGFkZHMgYSB0ZXN0IGZvciBzZXR0aW5nIHZhbHVlIDwgMC4KKworICAgICAgICAqIGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1wcm9ncmVzcy1wcm9w
ZXJ0aWVzLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXBy
b2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA3LTAxICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
YW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFByb2dyZXNz
RWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jl
c3MtcHJvcGVydGllcy5qcwppbmRleCA4NDU1YzhkZDk1NGU4YjY0ZmZiYzYxOTk2YmFlMmFlMzAy
ZjkxM2NjLi41ZDhmMTkyZDM4NzE0OWFhN2Q1ZDJmY2NlYjBmYWYyNmM2NTcyZmE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0
cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5q
cwpAQCAtMyw3ICszLDcgQEAgZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52
YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxQcm9ncmVzc0VsZW1lbnQuJykKIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncHJvZ3Jlc3MnKTsKIAogZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9y
ZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7Ci1zaG91bGRCZSgicC52YWx1ZSIsICIxIik7CitzaG91
bGRCZSgicC52YWx1ZSIsICIwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMSIpOwogc2hvdWxkQmUo
InAucG9zaXRpb24iLCAiLTEiKTsKIApAQCAtMjEsNiArMjEsMTEgQEAgc2hvdWxkQmUoInAudmFs
dWUiLCAiMTAwIik7CiBzaG91bGRCZSgicC5tYXgiLCAiMTAwIik7CiBzaG91bGRCZSgicC5wb3Np
dGlvbiIsICIxIik7CiAKK2RlYnVnKCJTZXQgdmFsdWUgbGVzcyB0aGFuIHplcm8iKTsKK3AudmFs
dWUgPSAtNDI7CitzaG91bGRCZSgncC52YWx1ZScsICcwJyk7CitzaG91bGRCZSgncC5wb3NpdGlv
bicsICcwJyk7CisKIGRlYnVnKCJTZXQgaW52YWxpZCB2YWx1ZSwgc2hvdWxkIHRocm93Iik7CiBz
aG91bGRUaHJvdygncC52YWx1ZSA9ICIyMDBBIjsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VS
UjogRE9NIEV4Y2VwdGlvbiA5IicpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNz
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDdkNTYzM2Y0MjM2MDljMmM1MjkyMjY2MGVi
NzZiZmY4M2YzODNlOTQuLjdmMTdmNzc5NzJhZWFmM2EyMzkxM2YxNTM1OWI4MDM3MGEzZDNmOGMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC00LDcgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFRlc3QgdmFs
dWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Ci1QQVNTIHAudmFsdWUgaXMgMQorUEFTUyBw
LnZhbHVlIGlzIDAKIFBBU1MgcC5tYXggaXMgMQogUEFTUyBwLnBvc2l0aW9uIGlzIC0xCiBTZXQg
dmFsaWQgdmFsdWVzCkBAIC0xNSw2ICsxNSw5IEBAIFNldCB2YWx1ZSBiaWdnZXIgdGhhbiBtYXgK
IFBBU1MgcC52YWx1ZSBpcyAxMDAKIFBBU1MgcC5tYXggaXMgMTAwCiBQQVNTIHAucG9zaXRpb24g
aXMgMQorU2V0IHZhbHVlIGxlc3MgdGhhbiB6ZXJvCitQQVNTIHAudmFsdWUgaXMgMAorUEFTUyBw
LnBvc2l0aW9uIGlzIDAKIFNldCBpbnZhbGlkIHZhbHVlLCBzaG91bGQgdGhyb3cKIFBBU1MgcC52
YWx1ZSA9ICIyMDBBIjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgogU2V0IGludmFsaWQgbWF4LCBzaG91bGQgdGhyb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBkNzZhNDgyOGY4ZjJhN2ZiZGIyODA2YzVkMTg1MDZmNTY2YWU2Yzk1Li44ZWNiYTMxMjBi
N2ZjYjZiMDhkMmM3YzZkNjg0YWFiMmVlZWU2NzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDctMDMgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFRoZSB2YWx1ZSBwcm9wZXJ0eSBvZiBhbiBpbmRldGVybWluYXRlIHByb2dyZXNz
IGVsZW1lbnQgc2hvdWxkIGJlIHplcm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzODYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJv
Z3Jlc3MtcHJvcGVydGllcy5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNzRWxlbWVudDo6dmFsdWUpOgor
CiAyMDExLTA3LTAzICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXN0b3JlIHNjcm9sbCBwb3NpdGlvbiBvbiBwYWdlIHJlbG9hZHMgc2NoZWR1bGVkIGJ5IDxt
ZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IlhYIi8+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAppbmRleCAwMTgzMWY5OGM4ZjIwNWU5NzBmZjI0
MjI5YTNkZjIxNDZmNDdjMzk0Li5iNDZhODlkNjk2NTJlNGYwNzlmYzcwYzQzMTE3Y2EzOTEyMmUx
MGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKQEAg
LTkzLDExICs5MywxMCBAQCB2b2lkIEhUTUxQcm9ncmVzc0VsZW1lbnQ6OmF0dGFjaCgpCiAKIGRv
dWJsZSBIVE1MUHJvZ3Jlc3NFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CiB7Ci0gICAgY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZVN0cmluZyA9IGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpOwogICAgIGRv
dWJsZSB2YWx1ZTsKLSAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUodmFs
dWVTdHJpbmcsICZ2YWx1ZSk7CisgICAgYm9vbCBvayA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlKGZhc3RHZXRBdHRyaWJ1dGUodmFsdWVBdHRyKSwgJnZhbHVlKTsKICAgICBpZiAoIW9rIHx8
IHZhbHVlIDwgMCkKLSAgICAgICAgcmV0dXJuIHZhbHVlU3RyaW5nLmlzTnVsbCgpID8gMSA6IDA7
CisgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiAodmFsdWUgPiBtYXgoKSkgPyBtYXgoKSA6
IHZhbHVlOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>