<?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>76995</bug_id>
          
          <creation_ts>2012-01-25 02:20:18 -0800</creation_ts>
          <short_desc>WebKit fails IETC :indeterminate and input type=radio test</short_desc>
          <delta_ts>2012-02-06 02:19:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76198</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>joepeck</cc>
    
    <cc>joethomas</cc>
    
    <cc>jonlee</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>542106</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-25 02:20:18 -0800</bug_when>
    <thetext>WebKit fails IETC :indeterminate and input type=radio test

http://samples.msdn.microsoft.com/ietestcenter/css3/showselectorstest.htm?indeterminate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542121</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-25 02:44:15 -0800</bug_when>
    <thetext>We need a type check in HTMLInputElement::isIndeterminate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542312</commentid>
    <comment_count>2</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-25 08:50:30 -0800</bug_when>
    <thetext>what should be the correct behavior when indeterminate state is set for a radio button? I checked the spec at http://www.w3.org/TR/css3-selectors/#indeterminate, but did not get much information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542704</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-25 15:35:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; what should be the correct behavior when indeterminate state is set for a radio button? I checked the spec at http://www.w3.org/TR/css3-selectors/#indeterminate, but did not get much information.

The CSS3 specification says &quot;Radio and checkbox&quot;. I think it is a mistake.

The HTML specification says only checkbox type respects indeterminate state.
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542725</commentid>
    <comment_count>4</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-25 15:57:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
 
&gt; The CSS3 specification says &quot;Radio and checkbox&quot;. I think it is a mistake.
&gt; 
&gt; The HTML specification says only checkbox type respects indeterminate state.
&gt; http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate

Thanks! I will create a patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542751</commentid>
    <comment_count>5</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-25 16:27:44 -0800</bug_when>
    <thetext>Webkit started supporting indeterminate for radio button as per bug https://bugs.webkit.org/show_bug.cgi?id=36273. The url mentioned in the bug 36273 is http://samples.msdn.microsoft.com/ietestcenter/css3/selectors/indeterminate.htm and it is the same IETC test link for this bug. Looks like IE updated their test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542867</commentid>
    <comment_count>6</comment_count>
      <attachid>124061</attachid>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-25 21:20:11 -0800</bug_when>
    <thetext>Created attachment 124061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542872</commentid>
    <comment_count>7</comment_count>
      <attachid>124061</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-25 21:45:55 -0800</bug_when>
    <thetext>Comment on attachment 124061
Patch

SGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542909</commentid>
    <comment_count>8</comment_count>
      <attachid>124061</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 00:06:30 -0800</bug_when>
    <thetext>Comment on attachment 124061
Patch

Clearing flags on attachment: 124061

Committed r105968: &lt;http://trac.webkit.org/changeset/105968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542910</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 00:06:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542972</commentid>
    <comment_count>10</comment_count>
      <attachid>124061</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-26 01:51:04 -0800</bug_when>
    <thetext>Comment on attachment 124061
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:949
&gt; -    if (!m_inputType-&gt;isCheckable() || indeterminate() == newValue)
&gt; +    if (!isCheckbox() || indeterminate() == newValue)

This is wrong.
According to the specification, setter/getter of HTMLInputElement::indeterminate should work regardless of the type.  IE9, Firefox, and Opera work so.

As I already wrote, we need to update HTMLInputElement::isIndeterminate() so that :indeterminate pseudo class doesn&apos;t match to non-checkbox types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542981</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-26 02:07:34 -0800</bug_when>
    <thetext>Reverted r105968 for reason:

Incorrect behavior change

Committed r105980: &lt;http://trac.webkit.org/changeset/105980&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542995</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-26 02:46:52 -0800</bug_when>
    <thetext>Thank you tkent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543165</commentid>
    <comment_count>13</comment_count>
      <attachid>124121</attachid>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-26 08:31:17 -0800</bug_when>
    <thetext>Created attachment 124121
Patch2

Modified the patch as per the review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543166</commentid>
    <comment_count>14</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-26 08:32:14 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 124061 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=124061&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.cpp:949
&gt; &gt; -    if (!m_inputType-&gt;isCheckable() || indeterminate() == newValue)
&gt; &gt; +    if (!isCheckbox() || indeterminate() == newValue)
&gt; 
&gt; This is wrong.
&gt; According to the specification, setter/getter of HTMLInputElement::indeterminate should work regardless of the type.  IE9, Firefox, and Opera work so.
&gt; 
&gt; As I already wrote, we need to update HTMLInputElement::isIndeterminate() so that :indeterminate pseudo class doesn&apos;t match to non-checkbox types.

Thanks for the review. Modified patch is attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543215</commentid>
    <comment_count>15</comment_count>
      <attachid>124121</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-01-26 09:54:44 -0800</bug_when>
    <thetext>Comment on attachment 124121
Patch2

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

While this patch seems OK, I have a few problems with it, things that seem to be loose ends. Mainly, this seems to leave the indeterminate feature half-implemented for radio buttons in quite a few ways that seem random and some of those are probably wrong. The comments make it seem like we are trying to change indeterminate only from the point of view of CSS pseudo-classes, but the patch does more than that.

1) HTMLInputElement::setIndeterminate goes out of its way to allow setting indeterminate on radio buttons as well as check boxes. If setting a radio button to indeterminate should not be allowed, then the best fix for this bug might be right there. We need a test covering this.

2) The isIndeterminate function is used in the RenderTheme::isIndeterminate function, so this means that radio buttons likely won’t be rendering as indeterminate any more. Is that change intentional? Either way, that change should be covered by a test.

3) The isIndeterminate function is used for accessibility code in AccessibilityRenderObject as well. Thus, after this patch radio buttons will no longer show up as indeterminate for screen reader users. We should figure out if this change is desirable or not, and make sure that we have test coverage for it.

4) I can see by inspection of SelectorChecker::checkOneSelector that the isIndeterminate function is used for the pseudo-style :checked as well as for the pseudo-style :indeterminate, so this patch affects that style too in certain cases. We should have a test case showing that behavior has changed to make sure the change is for the better.

5) There is some radio-button-specific code to track indeterminate state in RadioInputType::willDispatchClick and RadioInputType::didDispatchClick. Perhaps that code is now dead and should be removed. We should figure out which tests cover that code.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1837
&gt; +    if (!isCheckbox())
&gt; +        return false;
&gt; +    return indeterminate();

I would write this with &amp;&amp;

    return isCheckBox() &amp;&amp; indeterminate();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543218</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-01-26 09:56:00 -0800</bug_when>
    <thetext>Sorry, I didn’t see Kent’s earlier comment. It seems that Kent guided you to change CSS, but nothing else. If so, we should make a patch that does not affect appearance, does not affect accessibility APIs, and we should figure out if there is anything we need to do for :checked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543682</commentid>
    <comment_count>17</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-26 17:24:38 -0800</bug_when>
    <thetext>Are there any platforms supporting indeterminate appearance of radio buttons? At least Safari/OSX and Chromium on all platforms don&apos;t support it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544248</commentid>
    <comment_count>18</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-27 12:16:53 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Sorry, I didn’t see Kent’s earlier comment. It seems that Kent guided you to change CSS, but nothing else. If so, we should make a patch that does not affect appearance, does not affect accessibility APIs, and we should figure out if there is anything we need to do for :checked.

Checked with Safari, Chrome, Firefox and IE and none of them have special appearance for indeterminate radio buttons. 

I do not have much idea about Accessibility component but since there is no special appearance for indeterminate radio buttons, I think the change will not affect Accessibility APIs.

For :checked pseudo class in SelectorChecker.cpp, we should respect the :checked property irrespective of radio button having indeterminate set (as indeterminate property does not have any appearance on its own). This patch does the same.

Please provide your feedback. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544845</commentid>
    <comment_count>19</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-29 19:53:26 -0800</bug_when>
    <thetext>Safari/Windows doesn&apos;t support indeterminate radio button.  However I found Safari/iOS supports it.

We had better introduce a compile-time flag or a RenderTheme function for indeterminate radio button support, and HTMLInputElement::isIndeterminate() should change its behavior according to the flag or the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545226</commentid>
    <comment_count>20</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-01-30 11:14:57 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Safari/Windows doesn&apos;t support indeterminate radio button.  However I found Safari/iOS supports it.
&gt; 
If I try the indeterminate getter function on Safari on windows, I get the value which I set. And I don&apos;t see any difference in radio button appearance between Safari on Windows or on Mac if the indeterminate property is set.

I am not sure I missed something here, could you please give more details on what part of the indeterminate property is not supported on Safari/Windows?

&gt; We had better introduce a compile-time flag or a RenderTheme function for indeterminate radio button support, and HTMLInputElement::isIndeterminate() should change its behavior according to the flag or the function.

Is it not better to have uniform behavior across all webkit browser on all platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547669</commentid>
    <comment_count>21</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-01 22:52:41 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; Safari/Windows doesn&apos;t support indeterminate radio button.  However I found Safari/iOS supports it.
&gt; &gt; 
&gt; If I try the indeterminate getter function on Safari on windows, I get the value which I set. And I don&apos;t see any difference in radio button appearance between Safari on Windows or on Mac if the indeterminate property is set.
&gt; 
&gt; I am not sure I missed something here, could you please give more details on what part of the indeterminate property is not supported on Safari/Windows?

I meant the appearance of indeterminate radio buttons.  Supporting indeterminate IDL attribute without the indeterminate appearance makes no sense.

&gt; Is it not better to have uniform behavior across all webkit browser on all platforms?

It&apos;s better.  We need feedback from iOS developers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547865</commentid>
    <comment_count>22</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-02 07:56:01 -0800</bug_when>
    <thetext>(In reply to comment #21)

&gt; &gt; I am not sure I missed something here, could you please give more details on what part of the indeterminate property is not supported on Safari/Windows?
&gt; 
&gt; I meant the appearance of indeterminate radio buttons.  Supporting indeterminate IDL attribute without the indeterminate appearance makes no sense.
&gt; 
Thanks for the clarification. I too agree on that.

&gt; &gt; Is it not better to have uniform behavior across all webkit browser on all platforms?
&gt; 
&gt; It&apos;s better.  We need feedback from iOS developers.

Since iOS supports indeterminate appearance, it might not be good to break it. As you mentioned in comment #19, it would be good to variate the feature. I will introduce the compile time flag in HTMLInputElement::isIndeterminate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549118</commentid>
    <comment_count>23</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-03 14:48:02 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; 
&gt; Since iOS supports indeterminate appearance, it might not be good to break it. As you mentioned in comment #19, it would be good to variate the feature. I will introduce the compile time flag in HTMLInputElement::isIndeterminate().

The feature variation has to be done in HTMLInputElement::setIndeterminate as per the comment #21.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549159</commentid>
    <comment_count>24</comment_count>
      <attachid>125433</attachid>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-03 15:31:23 -0800</bug_when>
    <thetext>Created attachment 125433
patch3

Compile time flag added for IOS platform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549658</commentid>
    <comment_count>25</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-05 18:10:53 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; 
&gt; &gt; Since iOS supports indeterminate appearance, it might not be good to break it. As you mentioned in comment #19, it would be good to variate the feature. I will introduce the compile time flag in HTMLInputElement::isIndeterminate().
&gt; 
&gt; The feature variation has to be done in HTMLInputElement::setIndeterminate as per the comment #21.

An, My comment #21 was confusing.  I meant that non-iOS platforms didn&apos;t support indeterminate radio buttons because they didn&apos;t support indeterminate appearance.  It didn&apos;t mean we didn&apos;t need to support HTMLInputELement::indeterminate in non-checkbox types.

- We need to support HTMLInputELement::indeterminate() and setIndetermiante() regardless of types.  This is defined by the standard and other browsers work so.
  So, We should remove !m_inputType-&gt;isCheckable() in HTMLInputElement::setIndetermiante().

- We don&apos;t need to support indeterminate radio button appearance except iOS.
 -- We should not return true from HTMLInputELement::isIndetermiante() except type=checkbox
 -- We don&apos;t need indeterminate-related code in RadioInputType.cpp

Additionally, we should not add branches by types like &quot;if (isRadioButton())&quot;.  We should introduce InputType::supportsIndeterminateAppearance(), CheckboxInputType should return true for it, and RadioInputType should return true for it only on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549659</commentid>
    <comment_count>26</comment_count>
      <attachid>125433</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-05 18:11:14 -0800</bug_when>
    <thetext>Comment on attachment 125433
patch3

See comment #25.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549698</commentid>
    <comment_count>27</comment_count>
      <attachid>125559</attachid>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-05 20:34:51 -0800</bug_when>
    <thetext>Created attachment 125559
Patch-BasedOn-ReviewComments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549699</commentid>
    <comment_count>28</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-05 20:37:38 -0800</bug_when>
    <thetext>(In reply to comment #25)

&gt; An, My comment #21 was confusing.  I meant that non-iOS platforms didn&apos;t support indeterminate radio buttons because they didn&apos;t support indeterminate appearance.  It didn&apos;t mean we didn&apos;t need to support HTMLInputELement::indeterminate in non-checkbox types.
&gt; 
&gt; - We need to support HTMLInputELement::indeterminate() and setIndetermiante() regardless of types.  This is defined by the standard and other browsers work so.
&gt;   So, We should remove !m_inputType-&gt;isCheckable() in HTMLInputElement::setIndetermiante().
&gt; 
&gt; - We don&apos;t need to support indeterminate radio button appearance except iOS.
&gt;  -- We should not return true from HTMLInputELement::isIndetermiante() except type=checkbox
&gt;  -- We don&apos;t need indeterminate-related code in RadioInputType.cpp
&gt; 
&gt; Additionally, we should not add branches by types like &quot;if (isRadioButton())&quot;.  We should introduce InputType::supportsIndeterminateAppearance(), CheckboxInputType should return true for it, and RadioInputType should return true for it only on iOS.

Thanks for the clarification. A new patch is submitted based on the suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549703</commentid>
    <comment_count>29</comment_count>
      <attachid>125559</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-05 20:52:47 -0800</bug_when>
    <thetext>Comment on attachment 125559
Patch-BasedOn-ReviewComments

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:950
&gt;  {
&gt; -    if (!m_inputType-&gt;isCheckable() || indeterminate() == newValue)
&gt; +    if (indeterminate() == newValue)
&gt;          return;

We need a test for this new behavior.

&gt; Source/WebCore/html/RadioInputType.cpp:157
&gt;      state-&gt;checked = element()-&gt;checked();
&gt; -    state-&gt;indeterminate = element()-&gt;indeterminate();
&gt;      state-&gt;checkedRadioButton = element()-&gt;checkedRadioButtons().checkedButtonForGroup(element()-&gt;name());
&gt;  
&gt; -    if (element()-&gt;indeterminate())
&gt; -        element()-&gt;setIndeterminate(false);
&gt;      element()-&gt;setChecked(true, true);

Need to enclose PLATFORM(IOS)?

&gt; Source/WebCore/html/RadioInputType.cpp:174
&gt;          }
&gt; -        element()-&gt;setIndeterminate(state.indeterminate);
&gt;      }

ditto.

&gt; Source/WebCore/html/RadioInputType.cpp:191
&gt; +#if PLATFORM(IOS)
&gt; +    return true;
&gt; +#endif
&gt; +
&gt; +    return false;

There are two returns if PLATFORM(IOS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549763</commentid>
    <comment_count>30</comment_count>
      <attachid>125581</attachid>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-05 23:29:28 -0800</bug_when>
    <thetext>Created attachment 125581
PatchWithNewTestCase

New test case added
Review comments fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549771</commentid>
    <comment_count>31</comment_count>
      <attachid>125581</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-05 23:52:25 -0800</bug_when>
    <thetext>Comment on attachment 125581
PatchWithNewTestCase

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549775</commentid>
    <comment_count>32</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-02-05 23:54:19 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 125581 [details])
&gt; ok

Thanks Kent. Could you please help me to land this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549852</commentid>
    <comment_count>33</comment_count>
      <attachid>125581</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 02:19:14 -0800</bug_when>
    <thetext>Comment on attachment 125581
PatchWithNewTestCase

Clearing flags on attachment: 125581

Committed r106792: &lt;http://trac.webkit.org/changeset/106792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549853</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 02:19:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124061</attachid>
            <date>2012-01-25 21:20:11 -0800</date>
            <delta_ts>2012-01-26 08:31:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch1</filename>
            <type>text/plain</type>
            <size>4099</size>
            <attacher name="Joe Thomas">joethomas</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNTk2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTI1ICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgQXMg
cGVyIHRoZSBIVE1MIHNwZWMgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1
cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWlucHV0LWVsZW1lbnQuaHRtbCNkb20taW5wdXQtaW5k
ZXRlcm1pbmF0ZSwKKyAgICAgICAgb25seSBjaGVja2JveCBpbnB1dCB0eXBlIHNob3VsZCByZXNw
ZWN0IHRoZSBpbmRldGVybWluYXRlIHN0YXRlLgorICAgICAgICBSZW1vdmVkIHRoZSBzdXBwb3J0
IGZvciBpbmRldGVybWluYXRlIHN0YXRlIGZvciByYWRpbyBpbnB1dCB0eXBlcy4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb2RpZmllZCB0aGUgZXhp
c3RpbmcgdGVzdCBjYXNlcy4KKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRJbmRldGVybWluYXRlKTog
SW5kZXRlcm1pbmF0ZSBzdGF0ZSBpcyBzdXBwb3J0ZWQgb25seSBmb3IgY2hlY2tib3ggaW5wdXQg
dHlwZS4KKwogMjAxMi0wMS0yNSAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEZpeCBDbGlwYm9hcmRDaHJvbWl1bTo6dmFsaWRhdGVGaWxl
bmFtZSB0byBhY3R1YWxseSBvcGVyYXRlIG9uIGV4dGVuc2lvbnMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTA1OTQ5KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQ2
LDcgKzk0Niw3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0Q2hlY2tlZChib29sIG4KIAog
dm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbmRldGVybWluYXRlKGJvb2wgbmV3VmFsdWUpCiB7
Ci0gICAgaWYgKCFtX2lucHV0VHlwZS0+aXNDaGVja2FibGUoKSB8fCBpbmRldGVybWluYXRlKCkg
PT0gbmV3VmFsdWUpCisgICAgaWYgKCFpc0NoZWNrYm94KCkgfHwgaW5kZXRlcm1pbmF0ZSgpID09
IG5ld1ZhbHVlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2lzSW5kZXRlcm1pbmF0ZSA9IG5l
d1ZhbHVlOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTA1OTYyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDEtMjUgIEpvZSBUaG9t
YXMgIDxqb2V0aG9tYXNAbW90b3JvbGEuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk5NS4KKyAgICAgICAgV2ViS2l0IGZhaWxzIElFVEMg
OmluZGV0ZXJtaW5hdGUgYW5kIGlucHV0IHR5cGU9cmFkaW8gdGVzdC4KKworICAgICAgICBBcyBw
ZXIgdGhlIEhUTUwgc3BlYyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3Vy
cmVudC13b3JrL211bHRpcGFnZS90aGUtaW5wdXQtZWxlbWVudC5odG1sI2RvbS1pbnB1dC1pbmRl
dGVybWluYXRlLAorICAgICAgICBvbmx5IGNoZWNrYm94IGlucHV0IHR5cGUgc2hvdWxkIHJlc3Bl
Y3QgdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUuCisgICAgICAgIFJlbW92ZWQgdGhlIHN1cHBvcnQg
Zm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgZm9yIHJhZGlvIGlucHV0IHR5cGVzLgorCisgICAgICAg
IE1vZGlmaWVkIHRoZSBleGlzdGluZyB0ZXN0IGNhc2VzLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbmRldGVybWluYXRlLXJh
ZGlvLmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9yYWRpby1jaGVja2JveC1yZXN0b3JlLWlu
ZGV0ZXJtaW5hdGUuaHRtbDoKKwogMjAxMi0wMS0yNSAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUmV2ZXJ0aW5nIHRoZSBhZGRpdGlv
biBvZiBzdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sCShy
ZXZpc2lvbiAxMDU5NDkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUt
cmFkaW8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSwxMSArNSwxMSBAQAogICAgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CiAgICAgZGl2CiAgICAgewotICAgICAgICBjb2xvcjogcmVkOworICAg
ICAgICBjb2xvcjogZ3JlZW47CiAgICAgfQogICAgIGlucHV0OmluZGV0ZXJtaW5hdGUgKyAjdGVz
dAogICAgIHsKLSAgICAgICAgY29sb3I6IGdyZWVuOworICAgICAgICBjb2xvcjogcmVkOwogICAg
IH0KIDwvc3R5bGU+CiA8L2hlYWQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlv
LWNoZWNrYm94LXJlc3RvcmUtaW5kZXRlcm1pbmF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tY2hlY2tib3gtcmVzdG9yZS1pbmRldGVybWluYXRlLmh0
bWwJKHJldmlzaW9uIDEwNTk0OSkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tY2hl
Y2tib3gtcmVzdG9yZS1pbmRldGVybWluYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY3LDgg
KzY3LDggQEAKICAgICAgICAgbG9nKCdDbGljayB1bnNlbGVjdGVkIGFsbCByYWRpbyBidXR0b25z
OiBGQUlMJyk7CiAKICAgICAgICAgbG9nKCc8YnI+Q2hlY2tpbmcgd2hldGhlciBkZWZhdWx0LXBy
ZXZlbnRlZCBjbGljayBjbG9iYmVyZWQgaW5kZXRlcm1pbmF0ZSBzdGF0ZTonKQotICAgICAgICBs
b2coJ09uIGNoZWNrZWQgcmFkaW8gYnV0dG9uOiAnICsgKHJhZGlvMy5pbmRldGVybWluYXRlID8g
J1BBU1MnIDogJ0ZBSUwnKSk7Ci0gICAgICAgIGxvZygnT24gdW5jaGVja2VkIHJhZGlvIGJ1dHRv
bjogJyArIChyYWRpbzQuaW5kZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlMJykpOworICAgICAg
ICBsb2coJ09uIGNoZWNrZWQgcmFkaW8gYnV0dG9uOiAnICsgKCFyYWRpbzMuaW5kZXRlcm1pbmF0
ZSA/ICdQQVNTJyA6ICdGQUlMJykpOworICAgICAgICBsb2coJ09uIHVuY2hlY2tlZCByYWRpbyBi
dXR0b246ICcgKyAoIXJhZGlvNC5pbmRldGVybWluYXRlID8gJ1BBU1MnIDogJ0ZBSUwnKSk7CiAg
ICAgICAgIGxvZygnT24gY2hlY2tlZCBjaGVja2JveDogJyArIChjaGVjazEuaW5kZXRlcm1pbmF0
ZSA/ICdQQVNTJyA6ICdGQUlMJykpOwogICAgICAgICBsb2coJ09uIHVuY2hlY2tlZCBjaGVja2Jv
eDogJyArIChjaGVjazIuaW5kZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlMJykpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124121</attachid>
            <date>2012-01-26 08:31:17 -0800</date>
            <delta_ts>2012-02-03 15:31:23 -0800</delta_ts>
            <desc>Patch2</desc>
            <filename>patch2</filename>
            <type>text/plain</type>
            <size>3303</size>
            <attacher name="Joe Thomas">joethomas</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjAwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAxLTI2ICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgVGhl
IDppbmRldGVybWluYXRlIHBzZXVkby1jbGFzcyBzaG91bGQgbm90IGFwcGx5IHRvIHJhZGlvIGlu
cHV0IHR5cGUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW9kaWZpZWQgdGhlIGV4aXN0aW5nIHRlc3QgY2FzZS4KKworICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpp
c0luZGV0ZXJtaW5hdGUpOiBSZXR1cm4gZmFsc2UgaWYgdGhlIGlucHV0IHR5cGUgaXMgb3RoZXIg
dGhhbiBjaGVja2JveC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTElu
cHV0RWxlbWVudC5oOgorICAgICAgICAoSFRNTElucHV0RWxlbWVudCk6CisKIDIwMTItMDEtMjYg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgU1ZH
ICsgPG9iamVjdD4gdGVzdHMgYXJlIGZsYWtleQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxMDYwMDEpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODI5LDQgKzE4Mjks
MTIgQEAgU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRUb29sVGlwKAogICAgIHJldHVy
biBtX2lucHV0VHlwZS0+ZGVmYXVsdFRvb2xUaXAoKTsKIH0KIAorYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdCAKK3sKKyAgICAvLyA6aW5kZXRlcm1pbmF0ZSBw
c2V1ZG8gY2xhc3Mgc2hvdWxkIGFwcGx5IG9ubHkgdG8gY2hlY2tib3ggaW5wdXQgdHlwZS4KKyAg
ICBpZiAoIWlzQ2hlY2tib3goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBp
bmRldGVybWluYXRlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaAkocmV2aXNpb24gMTA2MDAxKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw3ICsxMjgs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbmRldGVybWluYXRlKGJvb2wpOwogICAgIC8vIHNo
b3VsZEFwcGVhckNoZWNrZWQgaXMgdXNlZCBieSB0aGUgcmVuZGVyaW5nIHRyZWUvQ1NTIHdoaWxl
IGNoZWNrZWQoKSBpcyB1c2VkIGJ5IEpTIHRvIGRldGVybWluZSBjaGVja2VkIHN0YXRlCiAgICAg
Ym9vbCBzaG91bGRBcHBlYXJDaGVja2VkKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzSW5k
ZXRlcm1pbmF0ZSgpIGNvbnN0IHsgcmV0dXJuIGluZGV0ZXJtaW5hdGUoKTsgfQorICAgIHZpcnR1
YWwgYm9vbCBpc0luZGV0ZXJtaW5hdGUoKSBjb25zdDsKIAogICAgIGludCBzaXplKCkgY29uc3Q7
CiAgICAgYm9vbCBzaXplU2hvdWxkSW5jbHVkZURlY29yYXRpb24oaW50JiBwcmVmZXJyZWRTaXpl
KSBjb25zdDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjAwNCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAxLTI2ICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgVGhl
IDppbmRldGVybWluYXRlIHBzZXVkby1jbGFzcyBzaG91bGQgbm90IGFwcGx5IHRvIHJhZGlvIGlu
cHV0IHR5cGUuCisgICAgICAgIE1vZGlmaWVkIHRoZSBleGlzdGluZyB0ZXN0IGNhc2UuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbDoKKwogMjAxMi0wMS0yNiAgQmFsYXpzIEtlbGVtZW4g
IDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIFN0aWxsIGZhaWxpbmcg
dGVzdHMgYWZ0ZXIgbW92aW5nIHRvIElDVQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9p
bmRldGVybWluYXRlLXJhZGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbmRldGVybWluYXRlLXJhZGlvLmh0bWwJKHJldmlzaW9uIDEwNjAwMSkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC01LDExICs1LDExIEBACiAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICBkaXYK
ICAgICB7Ci0gICAgICAgIGNvbG9yOiByZWQ7CisgICAgICAgIGNvbG9yOiBncmVlbjsKICAgICB9
CiAgICAgaW5wdXQ6aW5kZXRlcm1pbmF0ZSArICN0ZXN0CiAgICAgewotICAgICAgICBjb2xvcjog
Z3JlZW47CisgICAgICAgIGNvbG9yOiByZWQ7CiAgICAgfQogPC9zdHlsZT4KIDwvaGVhZD4K
</data>
<flag name="review"
          id="125306"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="125307"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125433</attachid>
            <date>2012-02-03 15:31:23 -0800</date>
            <delta_ts>2012-02-05 20:34:51 -0800</delta_ts>
            <desc>patch3</desc>
            <filename>patch3</filename>
            <type>text/plain</type>
            <size>4252</size>
            <attacher name="Joe Thomas">joethomas</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjY5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTAzICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgQXMg
cGVyIHRoZSBIVE1MIHNwZWMgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1
cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWlucHV0LWVsZW1lbnQuaHRtbCNkb20taW5wdXQtaW5k
ZXRlcm1pbmF0ZSwKKyAgICAgICAgb25seSBjaGVja2JveCBpbnB1dCB0eXBlIHNob3VsZCByZXNw
ZWN0IHRoZSBpbmRldGVybWluYXRlIHN0YXRlLgorICAgICAgICBJT1MgcGxhdGZvcm0gYWxyZWFk
eSBzdXBwb3J0cyBpbmRldGVybWluYXRlIGFwcGVhcmFuY2UgZm9yIHJhZGlvIGJ1dHRvbnMuIFNv
IHJlbW92aW5nIHRoZSBzdXBwb3J0IGZvciBpbmRldGVybWluYXRlIHN0YXRlCisgICAgICAgIGZv
ciByYWRpbyBpbnB1dCB0eXBlcyBvbiBhbGwgcGxhdGZvcm1zIGV4Y2VwdCBJT1MuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9kaWZpZWQgdGhlIGV4
aXN0aW5nIHRlc3QgY2FzZXMuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0SW5kZXRlcm1pbmF0ZSk6
IEluZGV0ZXJtaW5hdGUgc3RhdGUgZm9yIHJhZGlvIGlucHV0IHR5cGUgaXMgc3VwcG9ydGVkIG9u
bHkgaW4gSU9TLgorCiAyMDEyLTAyLTAzICBBbmRyZWFzIEtsaW5nICA8YXdlc29tZWtsaW5nQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhdHRlbXB0IGFmdGVyIHIx
MDY2OTUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHJl
dmlzaW9uIDEwNjY5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk0OSw2ICs5NDksMTEgQEAgdm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjpzZXRJbmRldGVybWluYXRlKAogICAgIGlmICghbV9pbnB1dFR5cGUtPmlzQ2hlY2thYmxl
KCkgfHwgaW5kZXRlcm1pbmF0ZSgpID09IG5ld1ZhbHVlKQogICAgICAgICByZXR1cm47CiAKKyNp
ZiAhUExBVEZPUk0oSU9TKQorICAgIGlmIChpc1JhZGlvQnV0dG9uKCkpCisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgorCiAgICAgbV9pc0luZGV0ZXJtaW5hdGUgPSBuZXdWYWx1ZTsKIAogICAgIHNl
dE5lZWRzU3R5bGVSZWNhbGMoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjY5OCkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAy
LTAzICBKb2UgVGhvbWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktp
dCBmYWlscyBJRVRDIDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisK
KyAgICAgICAgQXMgcGVyIHRoZSBIVE1MIHNwZWMgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNz
L3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWlucHV0LWVsZW1lbnQuaHRtbCNk
b20taW5wdXQtaW5kZXRlcm1pbmF0ZSwKKyAgICAgICAgb25seSBjaGVja2JveCBpbnB1dCB0eXBl
IHNob3VsZCByZXNwZWN0IHRoZSBpbmRldGVybWluYXRlIHN0YXRlLgorICAgICAgICBJT1MgcGxh
dGZvcm0gYWxyZWFkeSBzdXBwb3J0cyBpbmRldGVybWluYXRlIGFwcGVhcmFuY2UgZm9yIHJhZGlv
IGJ1dHRvbnMuIFNvIHJlbW92aW5nIHRoZSBzdXBwb3J0IGZvciBpbmRldGVybWluYXRlIHN0YXRl
CisgICAgICAgIGZvciByYWRpbyBpbnB1dCB0eXBlcyBvbiBhbGwgcGxhdGZvcm1zIGV4Y2VwdCBJ
T1MuCisKKyAgICAgICAgTW9kaWZpZWQgdGhlIGV4aXN0aW5nIHRlc3QgY2FzZXMuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lu
ZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvLWNoZWNr
Ym94LXJlc3RvcmUtaW5kZXRlcm1pbmF0ZS5odG1sOgorCiAyMDEyLTAyLTAzICBNaWhuZWEgT3Zp
ZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFJlbmRlckZsb3dU
aHJlYWQ6OnNldFJlZ2lvbkJveGVzUmVnaW9uU3R5bGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sCShyZXZpc2lvbiAxMDY2OTIpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtNSwxMSArNSwxMSBAQAogICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAg
ICAgZGl2CiAgICAgewotICAgICAgICBjb2xvcjogcmVkOworICAgICAgICBjb2xvcjogZ3JlZW47
CiAgICAgfQogICAgIGlucHV0OmluZGV0ZXJtaW5hdGUgKyAjdGVzdAogICAgIHsKLSAgICAgICAg
Y29sb3I6IGdyZWVuOworICAgICAgICBjb2xvcjogcmVkOwogICAgIH0KIDwvc3R5bGU+CiA8L2hl
YWQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3JhZGlvLWNoZWNrYm94LXJlc3RvcmUt
aW5kZXRlcm1pbmF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
cmFkaW8tY2hlY2tib3gtcmVzdG9yZS1pbmRldGVybWluYXRlLmh0bWwJKHJldmlzaW9uIDEwNjY5
MikKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tY2hlY2tib3gtcmVzdG9yZS1pbmRl
dGVybWluYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTY3LDggKzY3LDggQEAKICAgICAgICAg
bG9nKCdDbGljayB1bnNlbGVjdGVkIGFsbCByYWRpbyBidXR0b25zOiBGQUlMJyk7CiAKICAgICAg
ICAgbG9nKCc8YnI+Q2hlY2tpbmcgd2hldGhlciBkZWZhdWx0LXByZXZlbnRlZCBjbGljayBjbG9i
YmVyZWQgaW5kZXRlcm1pbmF0ZSBzdGF0ZTonKQotICAgICAgICBsb2coJ09uIGNoZWNrZWQgcmFk
aW8gYnV0dG9uOiAnICsgKHJhZGlvMy5pbmRldGVybWluYXRlID8gJ1BBU1MnIDogJ0ZBSUwnKSk7
Ci0gICAgICAgIGxvZygnT24gdW5jaGVja2VkIHJhZGlvIGJ1dHRvbjogJyArIChyYWRpbzQuaW5k
ZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlMJykpOworICAgICAgICBsb2coJ09uIGNoZWNrZWQg
cmFkaW8gYnV0dG9uOiAnICsgKCFyYWRpbzMuaW5kZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlM
JykpOworICAgICAgICBsb2coJ09uIHVuY2hlY2tlZCByYWRpbyBidXR0b246ICcgKyAoIXJhZGlv
NC5pbmRldGVybWluYXRlID8gJ1BBU1MnIDogJ0ZBSUwnKSk7CiAgICAgICAgIGxvZygnT24gY2hl
Y2tlZCBjaGVja2JveDogJyArIChjaGVjazEuaW5kZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlM
JykpOwogICAgICAgICBsb2coJ09uIHVuY2hlY2tlZCBjaGVja2JveDogJyArIChjaGVjazIuaW5k
ZXRlcm1pbmF0ZSA/ICdQQVNTJyA6ICdGQUlMJykpOwogCg==
</data>
<flag name="review"
          id="126933"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125559</attachid>
            <date>2012-02-05 20:34:51 -0800</date>
            <delta_ts>2012-02-05 23:29:28 -0800</delta_ts>
            <desc>Patch-BasedOn-ReviewComments</desc>
            <filename>patch4</filename>
            <type>text/plain</type>
            <size>8815</size>
            <attacher name="Joe Thomas">joethomas</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjc3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAyLTA1ICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgQWxs
IGlucHV0IHR5cGVzIHNob3VsZCByZXNwZWN0IGluZGV0ZXJtaW5hdGUgcHJvcGVydHkoZ2V0dGVy
IGFuZCBzZXR0ZXIpLiBUaGlzIGlzIHRydWUgd2l0aCBvdGhlciBicm93c2Vycy4KKyAgICAgICAg
SW5kZXRlcm1pbmF0ZSBhcHBlYXJhbmNlIGZvciByYWRpbyBpbnB1dCB0eXBlIGlzIHN1cHBvcnRl
ZCBieSBJT1MgcGxhdGZvcm0uIFdlYmtpdCBuZWVkIG5vdCBzdXBwb3J0IGluZGV0ZXJtaW5hdGUg
YXBwZWFyYW5jZQorICAgICAgICBmb3IgcmFkaW8gaW5wdXQgdHlwZSBvbiBvdGhlciBwbGF0Zm9y
bXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW9k
aWZpZWQgdGhlIGV4aXN0aW5nIHRlc3QgY2FzZS4KKworICAgICAgICAqIGh0bWwvQ2hlY2tib3hJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hlY2tib3hJbnB1dFR5cGU6OnN1cHBv
cnRzSW5kZXRlcm1pbmF0ZUFwcGVhcmFuY2UpOiBDaGVja3MgaW5kZXRlcm1pbmF0ZSBhcHBlYXJh
bmNlIGlzIHN1cHBvcnRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvQ2hl
Y2tib3hJbnB1dFR5cGUuaDoKKyAgICAgICAgKENoZWNrYm94SW5wdXRUeXBlKToKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6c2V0SW5kZXRlcm1pbmF0ZSk6IFJlbW92ZWQgdGhlIGNoZWNrIGlzQ2hlY2thYmxl
KCkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUp
OiBDaGVja3MgaW5kZXRlcm1pbmF0ZSBhcHBlYXJhbmNlIGlzIHN1cHBvcnRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdXBwb3J0c0luZGV0ZXJtaW5hdGVBcHBlYXJhbmNlKTog
Q2hlY2tzIGluZGV0ZXJtaW5hdGUgYXBwZWFyYW5jZSBpcyBzdXBwb3J0ZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAoSW5wdXRUeXBl
KToKKyAgICAgICAgKiBodG1sL1JhZGlvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJhZGlvSW5wdXRUeXBlOjp3aWxsRGlzcGF0Y2hDbGljayk6IFJlbW92ZWQgdGhlIGluZGV0ZXJt
aW5hdGUgcmVsYXRlZCBjb2RlLgorICAgICAgICAoV2ViQ29yZTo6UmFkaW9JbnB1dFR5cGU6OmRp
ZERpc3BhdGNoQ2xpY2spOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJhZGlvSW5wdXRUeXBl
OjpzdXBwb3J0c0luZGV0ZXJtaW5hdGVBcHBlYXJhbmNlKTogQ2hlY2tzIGluZGV0ZXJtaW5hdGUg
YXBwZWFyYW5jZSBpcyBzdXBwb3J0ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBo
dG1sL1JhZGlvSW5wdXRUeXBlLmg6CisgICAgICAgIChSYWRpb0lucHV0VHlwZSk6CisKIDIwMTIt
MDItMDUgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
cmFzaCBpbiBGb3JtU3VibWlzc2lvbjo6Y3JlYXRlLgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9DaGVja2JveElucHV0VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9DaGVja2JveElucHV0VHlwZS5jcHAJKHJldmlzaW9uIDEwNjY5MikKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNCAr
MTAxLDkgQEAgYm9vbCBDaGVja2JveElucHV0VHlwZTo6aXNDaGVja2JveCgpIGNvbgogICAgIHJl
dHVybiB0cnVlOwogfQogCitib29sIENoZWNrYm94SW5wdXRUeXBlOjpzdXBwb3J0c0luZGV0ZXJt
aW5hdGVBcHBlYXJhbmNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0
VHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5
cGUuaAkocmV2aXNpb24gMTA2NjkyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9DaGVja2JveElu
cHV0VHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCBQYXNzT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gd2lsbERpc3BhdGNoQ2xpY2so
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGF0Y2hDbGljayhFdmVudCosIGNv
bnN0IENsaWNrSGFuZGxpbmdTdGF0ZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0No
ZWNrYm94KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHN1cHBvcnRzSW5kZXRl
cm1pbmF0ZUFwcGVhcmFuY2UoKSBjb25zdCBPVkVSUklERTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAko
cmV2aXNpb24gMTA2NjkyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQ2LDcgKzk0Niw3IEBAIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6c2V0Q2hlY2tlZChib29sIG4KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbmRl
dGVybWluYXRlKGJvb2wgbmV3VmFsdWUpCiB7Ci0gICAgaWYgKCFtX2lucHV0VHlwZS0+aXNDaGVj
a2FibGUoKSB8fCBpbmRldGVybWluYXRlKCkgPT0gbmV3VmFsdWUpCisgICAgaWYgKGluZGV0ZXJt
aW5hdGUoKSA9PSBuZXdWYWx1ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9pc0luZGV0ZXJt
aW5hdGUgPSBuZXdWYWx1ZTsKQEAgLTE4MjksNCArMTgyOSw5IEBAIFN0cmluZyBIVE1MSW5wdXRF
bGVtZW50OjpkZWZhdWx0VG9vbFRpcCgKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmRlZmF1bHRU
b29sVGlwKCk7CiB9CiAKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJbmRldGVybWluYXRlKCkg
Y29uc3QgCit7CisgICAgcmV0dXJuIG1faW5wdXRUeXBlLT5zdXBwb3J0c0luZGV0ZXJtaW5hdGVB
cHBlYXJhbmNlKCkgJiYgaW5kZXRlcm1pbmF0ZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHJldmlzaW9uIDEwNjY5MikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjgsNyArMTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5kZXRlcm1pbmF0ZShi
b29sKTsKICAgICAvLyBzaG91bGRBcHBlYXJDaGVja2VkIGlzIHVzZWQgYnkgdGhlIHJlbmRlcmlu
ZyB0cmVlL0NTUyB3aGlsZSBjaGVja2VkKCkgaXMgdXNlZCBieSBKUyB0byBkZXRlcm1pbmUgY2hl
Y2tlZCBzdGF0ZQogICAgIGJvb2wgc2hvdWxkQXBwZWFyQ2hlY2tlZCgpIGNvbnN0OwotICAgIHZp
cnR1YWwgYm9vbCBpc0luZGV0ZXJtaW5hdGUoKSBjb25zdCB7IHJldHVybiBpbmRldGVybWluYXRl
KCk7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNJbmRldGVybWluYXRlKCkgY29uc3Q7CiAKICAgICBp
bnQgc2l6ZSgpIGNvbnN0OwogICAgIGJvb2wgc2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGlu
dCYgcHJlZmVycmVkU2l6ZSkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3Bw
CShyZXZpc2lvbiAxMDY2OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTczMSw2ICs3MzEsMTEgQEAgU3RyaW5nIElucHV0VHlwZTo6ZGVm
YXVsdFRvb2xUaXAoKSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorYm9vbCBJbnB1
dFR5cGU6OnN1cHBvcnRzSW5kZXRlcm1pbmF0ZUFwcGVhcmFuY2UoKSBjb25zdAoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogbmFtZXNwYWNlIElucHV0VHlwZU5hbWVzIHsKIAogLy8gVGhlIHR5
cGUgbmFtZXMgbXVzdCBiZSBsb3dlcmNhc2VkIGJlY2F1c2UgdGhleSB3aWxsIGJlIHRoZSByZXR1
cm4gdmFsdWVzIG9mCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgJKHJldmlzaW9uIDEwNjY5
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI2Myw2ICsyNjMsOCBAQCBwdWJsaWM6CiAgICAgLy8gc3RyaW5nLiBUaGlzIHNob3VsZCBub3Qg
YmUgY2FsbGVkIGZvciB0eXBlcyB3aXRob3V0IHZhbHVlQXNOdW1iZXIuCiAgICAgdmlydHVhbCBT
dHJpbmcgc2VyaWFsaXplKGRvdWJsZSkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNJbmRldGVybWluYXRlQXBwZWFyYW5jZSgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgSW5w
dXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpIDogbV9lbGVtZW50KGVsZW1lbnQpIHsg
fQogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2VsZW1l
bnQ7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuY3BwCShyZXZpc2lv
biAxMDY2OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTUyLDExICsxNTIsOCBAQCBQYXNzT3duUHRyPENsaWNrSGFuZGxpbmdT
dGF0ZT4gUmFkaW9JbnB1CiAgICAgT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gc3RhdGUgPSBh
ZG9wdFB0cihuZXcgQ2xpY2tIYW5kbGluZ1N0YXRlKTsKIAogICAgIHN0YXRlLT5jaGVja2VkID0g
ZWxlbWVudCgpLT5jaGVja2VkKCk7Ci0gICAgc3RhdGUtPmluZGV0ZXJtaW5hdGUgPSBlbGVtZW50
KCktPmluZGV0ZXJtaW5hdGUoKTsKICAgICBzdGF0ZS0+Y2hlY2tlZFJhZGlvQnV0dG9uID0gZWxl
bWVudCgpLT5jaGVja2VkUmFkaW9CdXR0b25zKCkuY2hlY2tlZEJ1dHRvbkZvckdyb3VwKGVsZW1l
bnQoKS0+bmFtZSgpKTsKIAotICAgIGlmIChlbGVtZW50KCktPmluZGV0ZXJtaW5hdGUoKSkKLSAg
ICAgICAgZWxlbWVudCgpLT5zZXRJbmRldGVybWluYXRlKGZhbHNlKTsKICAgICBlbGVtZW50KCkt
PnNldENoZWNrZWQodHJ1ZSwgdHJ1ZSk7CiAKICAgICByZXR1cm4gc3RhdGUucmVsZWFzZSgpOwpA
QCAtMTc0LDcgKzE3MSw2IEBAIHZvaWQgUmFkaW9JbnB1dFR5cGU6OmRpZERpc3BhdGNoQ2xpY2so
RXYKICAgICAgICAgICAgICAgICAmJiBjaGVja2VkUmFkaW9CdXR0b24tPm5hbWUoKSA9PSBlbGVt
ZW50KCktPm5hbWUoKSkgewogICAgICAgICAgICAgY2hlY2tlZFJhZGlvQnV0dG9uLT5zZXRDaGVj
a2VkKHRydWUpOwogICAgICAgICB9Ci0gICAgICAgIGVsZW1lbnQoKS0+c2V0SW5kZXRlcm1pbmF0
ZShzdGF0ZS5pbmRldGVybWluYXRlKTsKICAgICB9CiAKICAgICAvLyBUaGUgd29yayB3ZSBkaWQg
aW4gd2lsbERpc3BhdGNoQ2xpY2sgd2FzIGRlZmF1bHQgaGFuZGxpbmcuCkBAIC0xODYsNCArMTgy
LDEzIEBAIGJvb2wgUmFkaW9JbnB1dFR5cGU6OmlzUmFkaW9CdXR0b24oKSBjb24KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAorYm9vbCBSYWRpb0lucHV0VHlwZTo6c3VwcG9ydHNJbmRldGVybWluYXRl
QXBwZWFyYW5jZSgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHJldHVybiB0cnVl
OworI2VuZGlmCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBlLmgJKHJldmlzaW9uIDEwNjY5
MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaAkod29ya2luZyBjb3B5
KQpAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc093blB0cjxDbGlj
a0hhbmRsaW5nU3RhdGU+IHdpbGxEaXNwYXRjaENsaWNrKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZERpc3BhdGNoQ2xpY2soRXZlbnQqLCBjb25zdCBDbGlja0hhbmRsaW5nU3RhdGUm
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IE9WRVJS
SURFOworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0luZGV0ZXJtaW5hdGVBcHBlYXJhbmNlKCkg
Y29uc3QgT1ZFUlJJREU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMDY3NzEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0wNSAgSm9lIFRob21hcyAgPGpvZXRob21hc0Btb3Rv
cm9sYS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc2OTk1LgorICAgICAgICBXZWJLaXQgZmFpbHMgSUVUQyA6aW5kZXRlcm1pbmF0ZSBhbmQg
aW5wdXQgdHlwZT1yYWRpbyB0ZXN0LgorCisgICAgICAgIEFsbCBpbnB1dCB0eXBlcyBzaG91bGQg
cmVzcGVjdCBpbmRldGVybWluYXRlIHByb3BlcnR5KGdldHRlciBhbmQgc2V0dGVyKS4gVGhpcyBp
cyB0cnVlIHdpdGggb3RoZXIgYnJvd3NlcnMuCisgICAgICAgIEluZGV0ZXJtaW5hdGUgYXBwZWFy
YW5jZSBmb3IgcmFkaW8gaW5wdXQgdHlwZSBpcyBzdXBwb3J0ZWQgYnkgSU9TIHBsYXRmb3JtLiBX
ZWJraXQgbmVlZCBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIGFwcGVhcmFuY2UKKyAgICAgICAg
Zm9yIHJhZGlvIGlucHV0IHR5cGUgb24gb3RoZXIgcGxhdGZvcm1zLgorCisgICAgICAgIE1vZGlm
aWVkIHRoZSBleGlzdGluZyB0ZXN0IGNhc2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRt
bDogTW9kZmllZCB0aGUgdGVzdCBjYXNlLgorCiAyMDEyLTAyLTA1ICBBYmhpc2hlayBBcnlhICA8
aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gRm9ybVN1Ym1pc3Npb246
OmNyZWF0ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRp
by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0
ZS1yYWRpby5odG1sCShyZXZpc2lvbiAxMDY2OTIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNSwxMSArNSwxMSBA
QAogICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgZGl2CiAgICAgewotICAgICAgICBj
b2xvcjogcmVkOworICAgICAgICBjb2xvcjogZ3JlZW47CiAgICAgfQogICAgIGlucHV0OmluZGV0
ZXJtaW5hdGUgKyAjdGVzdAogICAgIHsKLSAgICAgICAgY29sb3I6IGdyZWVuOworICAgICAgICBj
b2xvcjogcmVkOwogICAgIH0KIDwvc3R5bGU+CiA8L2hlYWQ+Cg==
</data>
<flag name="review"
          id="127085"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125581</attachid>
            <date>2012-02-05 23:29:28 -0800</date>
            <delta_ts>2012-02-06 02:19:13 -0800</delta_ts>
            <desc>PatchWithNewTestCase</desc>
            <filename>patch5</filename>
            <type>text/plain</type>
            <size>13574</size>
            <attacher name="Joe Thomas">joethomas</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjc3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAyLTA1ICBKb2UgVGhv
bWFzICA8am9ldGhvbWFzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTUuCisgICAgICAgIFdlYktpdCBmYWlscyBJRVRD
IDppbmRldGVybWluYXRlIGFuZCBpbnB1dCB0eXBlPXJhZGlvIHRlc3QuCisKKyAgICAgICAgQWxs
IGlucHV0IHR5cGVzIHNob3VsZCByZXNwZWN0IGluZGV0ZXJtaW5hdGUgcHJvcGVydHkoZ2V0dGVy
IGFuZCBzZXR0ZXIpLiBUaGlzIGlzIHRydWUgd2l0aCBvdGhlciBicm93c2Vycy4KKyAgICAgICAg
SW5kZXRlcm1pbmF0ZSBhcHBlYXJhbmNlIGZvciByYWRpbyBpbnB1dCB0eXBlIGlzIHN1cHBvcnRl
ZCBieSBJT1MgcGxhdGZvcm0uIFdlYmtpdCBuZWVkIG5vdCBzdXBwb3J0IGluZGV0ZXJtaW5hdGUg
YXBwZWFyYW5jZQorICAgICAgICBmb3IgcmFkaW8gaW5wdXQgdHlwZSBvbiBvdGhlciBwbGF0Zm9y
bXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogZmFzdC9mb3Jtcy9pbmRldGVybWluYXRlLWlucHV0LXR5cGVzLmh0bWwKKworICAgICAgICAq
IGh0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hlY2tib3hJ
bnB1dFR5cGU6OnN1cHBvcnRzSW5kZXRlcm1pbmF0ZUFwcGVhcmFuY2UpOiBDaGVja3MgaW5kZXRl
cm1pbmF0ZSBhcHBlYXJhbmNlIGlzIHN1cHBvcnRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGh0bWwvQ2hlY2tib3hJbnB1dFR5cGUuaDoKKyAgICAgICAgKENoZWNrYm94SW5wdXRU
eXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0SW5kZXRlcm1pbmF0ZSk6IFJlbW92ZWQgdGhlIGNo
ZWNrIGlzQ2hlY2thYmxlKCkuCisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpp
c0luZGV0ZXJtaW5hdGUpOiBDaGVja3MgaW5kZXRlcm1pbmF0ZSBhcHBlYXJhbmNlIGlzIHN1cHBv
cnRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVu
dC5oOgorICAgICAgICAoSFRNTElucHV0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9JbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdXBwb3J0c0luZGV0ZXJtaW5h
dGVBcHBlYXJhbmNlKTogQ2hlY2tzIGluZGV0ZXJtaW5hdGUgYXBwZWFyYW5jZSBpcyBzdXBwb3J0
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAg
ICAgICAoSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1sL1JhZGlvSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJhZGlvSW5wdXRUeXBlOjp3aWxsRGlzcGF0Y2hDbGljayk6IEluZGV0
ZXJtaW5hdGUgcmVsYXRlZCBjb2RlIGlzIG1vdmVkIHRvIElPUyBzcGVjaWZpYy4KKyAgICAgICAg
KFdlYkNvcmU6OlJhZGlvSW5wdXRUeXBlOjpkaWREaXNwYXRjaENsaWNrKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpSYWRpb0lucHV0VHlwZTo6c3VwcG9ydHNJbmRldGVybWluYXRlQXBwZWFy
YW5jZSk6IENoZWNrcyBpbmRldGVybWluYXRlIGFwcGVhcmFuY2UgaXMgc3VwcG9ydGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9SYWRpb0lucHV0VHlwZS5oOgorICAgICAg
ICAoUmFkaW9JbnB1dFR5cGUpOgorCiAyMDEyLTAyLTA1ICBLZW50YXJvIEhhcmEgIDxoYXJha2Vu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSB0byBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0NoZWNrYm94SW5wdXRUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0NoZWNrYm94SW5wdXRUeXBlLmNwcAkocmV2aXNpb24gMTA2NjkyKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9DaGVja2JveElucHV0VHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw0ICsx
MDEsOSBAQCBib29sIENoZWNrYm94SW5wdXRUeXBlOjppc0NoZWNrYm94KCkgY29uCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ2hlY2tib3hJbnB1dFR5cGU6OnN1cHBvcnRzSW5kZXRlcm1p
bmF0ZUFwcGVhcmFuY2UoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRU
eXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlw
ZS5oCShyZXZpc2lvbiAxMDY2OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5w
dXRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIFBhc3NPd25QdHI8Q2xpY2tIYW5kbGluZ1N0YXRlPiB3aWxsRGlzcGF0Y2hDbGljaygp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNwYXRjaENsaWNrKEV2ZW50KiwgY29u
c3QgQ2xpY2tIYW5kbGluZ1N0YXRlJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzQ2hl
Y2tib3goKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNJbmRldGVy
bWluYXRlQXBwZWFyYW5jZSgpIGNvbnN0IE9WRVJSSURFOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxMDY2OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDYsNyArOTQ2LDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVt
ZW50OjpzZXRDaGVja2VkKGJvb2wgbgogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldEluZGV0
ZXJtaW5hdGUoYm9vbCBuZXdWYWx1ZSkKIHsKLSAgICBpZiAoIW1faW5wdXRUeXBlLT5pc0NoZWNr
YWJsZSgpIHx8IGluZGV0ZXJtaW5hdGUoKSA9PSBuZXdWYWx1ZSkKKyAgICBpZiAoaW5kZXRlcm1p
bmF0ZSgpID09IG5ld1ZhbHVlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2lzSW5kZXRlcm1p
bmF0ZSA9IG5ld1ZhbHVlOwpAQCAtMTgyOSw0ICsxODI5LDkgQEAgU3RyaW5nIEhUTUxJbnB1dEVs
ZW1lbnQ6OmRlZmF1bHRUb29sVGlwKAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+ZGVmYXVsdFRv
b2xUaXAoKTsKIH0KIAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBj
b25zdCAKK3sKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnN1cHBvcnRzSW5kZXRlcm1pbmF0ZUFw
cGVhcmFuY2UoKSAmJiBpbmRldGVybWluYXRlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAkocmV2aXNpb24gMTA2NjkyKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyOCw3ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbmRldGVybWluYXRlKGJv
b2wpOwogICAgIC8vIHNob3VsZEFwcGVhckNoZWNrZWQgaXMgdXNlZCBieSB0aGUgcmVuZGVyaW5n
IHRyZWUvQ1NTIHdoaWxlIGNoZWNrZWQoKSBpcyB1c2VkIGJ5IEpTIHRvIGRldGVybWluZSBjaGVj
a2VkIHN0YXRlCiAgICAgYm9vbCBzaG91bGRBcHBlYXJDaGVja2VkKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIGlzSW5kZXRlcm1pbmF0ZSgpIGNvbnN0IHsgcmV0dXJuIGluZGV0ZXJtaW5hdGUo
KTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0luZGV0ZXJtaW5hdGUoKSBjb25zdDsKIAogICAgIGlu
dCBzaXplKCkgY29uc3Q7CiAgICAgYm9vbCBzaXplU2hvdWxkSW5jbHVkZURlY29yYXRpb24oaW50
JiBwcmVmZXJyZWRTaXplKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAJ
KHJldmlzaW9uIDEwNjY5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzMxLDYgKzczMSwxMSBAQCBTdHJpbmcgSW5wdXRUeXBlOjpkZWZh
dWx0VG9vbFRpcCgpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitib29sIElucHV0
VHlwZTo6c3VwcG9ydHNJbmRldGVybWluYXRlQXBwZWFyYW5jZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBuYW1lc3BhY2UgSW5wdXRUeXBlTmFtZXMgewogCiAvLyBUaGUgdHlw
ZSBuYW1lcyBtdXN0IGJlIGxvd2VyY2FzZWQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgdGhlIHJldHVy
biB2YWx1ZXMgb2YKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAkocmV2aXNpb24gMTA2Njky
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MjYzLDYgKzI2Myw4IEBAIHB1YmxpYzoKICAgICAvLyBzdHJpbmcuIFRoaXMgc2hvdWxkIG5vdCBi
ZSBjYWxsZWQgZm9yIHR5cGVzIHdpdGhvdXQgdmFsdWVBc051bWJlci4KICAgICB2aXJ0dWFsIFN0
cmluZyBzZXJpYWxpemUoZG91YmxlKSBjb25zdDsKIAorICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c0luZGV0ZXJtaW5hdGVBcHBlYXJhbmNlKCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBJbnB1
dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkgOiBtX2VsZW1lbnQoZWxlbWVudCkgeyB9
CiAgICAgSFRNTElucHV0RWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVu
dDsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAJKHJldmlzaW9u
IDEwNjY5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTIsMTEgKzE1MiwxNSBAQCBQYXNzT3duUHRyPENsaWNrSGFuZGxpbmdT
dGF0ZT4gUmFkaW9JbnB1CiAgICAgT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gc3RhdGUgPSBh
ZG9wdFB0cihuZXcgQ2xpY2tIYW5kbGluZ1N0YXRlKTsKIAogICAgIHN0YXRlLT5jaGVja2VkID0g
ZWxlbWVudCgpLT5jaGVja2VkKCk7Ci0gICAgc3RhdGUtPmluZGV0ZXJtaW5hdGUgPSBlbGVtZW50
KCktPmluZGV0ZXJtaW5hdGUoKTsKICAgICBzdGF0ZS0+Y2hlY2tlZFJhZGlvQnV0dG9uID0gZWxl
bWVudCgpLT5jaGVja2VkUmFkaW9CdXR0b25zKCkuY2hlY2tlZEJ1dHRvbkZvckdyb3VwKGVsZW1l
bnQoKS0+bmFtZSgpKTsKIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGF0ZS0+aW5kZXRlcm1p
bmF0ZSA9IGVsZW1lbnQoKS0+aW5kZXRlcm1pbmF0ZSgpOworCiAgICAgaWYgKGVsZW1lbnQoKS0+
aW5kZXRlcm1pbmF0ZSgpKQogICAgICAgICBlbGVtZW50KCktPnNldEluZGV0ZXJtaW5hdGUoZmFs
c2UpOworI2VuZGlmCisKICAgICBlbGVtZW50KCktPnNldENoZWNrZWQodHJ1ZSwgdHJ1ZSk7CiAK
ICAgICByZXR1cm4gc3RhdGUucmVsZWFzZSgpOwpAQCAtMTc0LDcgKzE3OCwxMSBAQCB2b2lkIFJh
ZGlvSW5wdXRUeXBlOjpkaWREaXNwYXRjaENsaWNrKEV2CiAgICAgICAgICAgICAgICAgJiYgY2hl
Y2tlZFJhZGlvQnV0dG9uLT5uYW1lKCkgPT0gZWxlbWVudCgpLT5uYW1lKCkpIHsKICAgICAgICAg
ICAgIGNoZWNrZWRSYWRpb0J1dHRvbi0+c2V0Q2hlY2tlZCh0cnVlKTsKICAgICAgICAgfQorCisj
aWYgUExBVEZPUk0oSU9TKSAgICAgICAgCiAgICAgICAgIGVsZW1lbnQoKS0+c2V0SW5kZXRlcm1p
bmF0ZShzdGF0ZS5pbmRldGVybWluYXRlKTsKKyNlbmRpZgorCiAgICAgfQogCiAgICAgLy8gVGhl
IHdvcmsgd2UgZGlkIGluIHdpbGxEaXNwYXRjaENsaWNrIHdhcyBkZWZhdWx0IGhhbmRsaW5nLgpA
QCAtMTg2LDQgKzE5NCwxMyBAQCBib29sIFJhZGlvSW5wdXRUeXBlOjppc1JhZGlvQnV0dG9uKCkg
Y29uCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgUmFkaW9JbnB1dFR5cGU6OnN1cHBvcnRz
SW5kZXRlcm1pbmF0ZUFwcGVhcmFuY2UoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKElPUykKKyAg
ICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1
dFR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBl
LmgJKHJldmlzaW9uIDEwNjY5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5
cGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgUGFzc093blB0cjxDbGlja0hhbmRsaW5nU3RhdGU+IHdpbGxEaXNwYXRjaENsaWNrKCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BhdGNoQ2xpY2soRXZlbnQqLCBjb25zdCBD
bGlja0hhbmRsaW5nU3RhdGUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1
dHRvbigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0luZGV0ZXJt
aW5hdGVBcHBlYXJhbmNlKCkgY29uc3QgT1ZFUlJJREU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDY3NzYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0wNSAgSm9lIFRob21h
cyAgPGpvZXRob21hc0Btb3Rvcm9sYS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTk1LgorICAgICAgICBXZWJLaXQgZmFpbHMgSUVUQyA6
aW5kZXRlcm1pbmF0ZSBhbmQgaW5wdXQgdHlwZT1yYWRpbyB0ZXN0LgorCisgICAgICAgIEFsbCBp
bnB1dCB0eXBlcyBzaG91bGQgcmVzcGVjdCBpbmRldGVybWluYXRlIHByb3BlcnR5KGdldHRlciBh
bmQgc2V0dGVyKS4gVGhpcyBpcyB0cnVlIHdpdGggb3RoZXIgYnJvd3NlcnMuCisgICAgICAgIElu
ZGV0ZXJtaW5hdGUgYXBwZWFyYW5jZSBmb3IgcmFkaW8gaW5wdXQgdHlwZSBpcyBzdXBwb3J0ZWQg
YnkgSU9TIHBsYXRmb3JtLiBXZWJraXQgbmVlZCBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIGFw
cGVhcmFuY2UKKyAgICAgICAgZm9yIHJhZGlvIGlucHV0IHR5cGUgb24gb3RoZXIgcGxhdGZvcm1z
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9pbmRldGVybWluYXRlLWlucHV0LXR5cGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9pbmRldGVybWluYXRlLWlucHV0LXR5cGVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1yYWRpby5odG1sOgorCiAyMDEy
LTAyLTA1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgeHNzLURF
TklFRC1mcm9tLWRhdGEtdXJsLWluLWZvcmVpZ24tZG9tYWluLXN1YmZyYW1lLmh0bWwgaXMgZmxh
a3kKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1pbnB1dC10eXBl
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbmRl
dGVybWluYXRlLWlucHV0LXR5cGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5kZXRlcm1pbmF0ZS1pbnB1dC10eXBlcy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3QgZm9yIEJ1ZzogNzY5OTUgLSBDaGVj
a3Mgd2hldGhlciBpbmRldGVybWluYXRlIHByb3BlcnR5IHdvcmtzIHdpdGggdmFyaW91cyBpbnB1
dCB0eXBlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcmFkaW9JbnB1
dC5pbmRldGVybWluYXRlIGlzIHRydWUKK1BBU1MgY2hlY2tib3hJbnB1dC5pbmRldGVybWluYXRl
IGlzIHRydWUKK1BBU1MgZGF0ZUlucHV0LmluZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyBlbWFp
bElucHV0LmluZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyBmaWxlSW5wdXQuaW5kZXRlcm1pbmF0
ZSBpcyB0cnVlCitQQVNTIG51bWJlcklucHV0LmluZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyBw
YXNzd29yZElucHV0LmluZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyByYW5nZUlucHV0LmluZGV0
ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyBzZWFyY2hJbnB1dC5pbmRldGVybWluYXRlIGlzIHRydWUK
K1BBU1Mgc3VibWl0SW5wdXQuaW5kZXRlcm1pbmF0ZSBpcyB0cnVlCitQQVNTIHRlbElucHV0Lmlu
ZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyB0aW1lSW5wdXQuaW5kZXRlcm1pbmF0ZSBpcyB0cnVl
CitQQVNTIHVybElucHV0LmluZGV0ZXJtaW5hdGUgaXMgdHJ1ZQorUEFTUyB3ZWVrSW5wdXQuaW5k
ZXRlcm1pbmF0ZSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbmRldGVybWluYXRl
LWlucHV0LXR5cGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9p
bmRldGVybWluYXRlLWlucHV0LXR5cGVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUtaW5wdXQtdHlwZXMuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw4NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Zm9ybSBzdHlsZT0idmlz
aWJpbGl0eTogaGlkZGVuIj4KKyAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpb0lucHV0
Ij4KKyAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveElucHV0Ij4KKyAgICA8
aW5wdXQgdHlwZT0iZGF0ZSIgaWQ9ImRhdGVJbnB1dCI+CisgICAgPGlucHV0IHR5cGU9ImVtYWls
IiBpZD0iZW1haWxJbnB1dCI+CisgICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlSW5wdXQi
PgorICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGlkPSJudW1iZXJJbnB1dCI+CisgICAgPGlucHV0
IHR5cGU9InRleHQiIGlkPSJwYXNzd29yZElucHV0Ij4KKyAgICA8aW5wdXQgdHlwZT0icGFzc3dv
cmQiIGlkPSJwYXNzd29yZElucHV0Ij4KKyAgICA8aW5wdXQgdHlwZT0icmFuZ2UiIGlkPSJyYW5n
ZUlucHV0Ij4KKyAgICA8aW5wdXQgdHlwZT0ic2VhcmNoIiBpZD0ic2VhcmNoSW5wdXQiPgorICAg
IDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzdWJtaXRJbnB1dCI+CisgICAgPGlucHV0IHR5cGU9
InRlbCIgaWQ9InRlbElucHV0Ij4KKyAgICA8aW5wdXQgdHlwZT0idGltZSIgaWQ9InRpbWVJbnB1
dCI+CisgICAgPGlucHV0IHR5cGU9InVybCIgaWQ9InVybElucHV0Ij4KKyAgICA8aW5wdXQgdHlw
ZT0id2VlayIgaWQ9IndlZWtJbnB1dCI+Cis8L2Zvcm0+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0
aW9uKCJUZXN0IGZvciBCdWc6IDc2OTk1IC0gQ2hlY2tzIHdoZXRoZXIgaW5kZXRlcm1pbmF0ZSBw
cm9wZXJ0eSB3b3JrcyB3aXRoIHZhcmlvdXMgaW5wdXQgdHlwZXMuIik7CisgICAgdmFyIHJhZGlv
SW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmFkaW9JbnB1dCIpOworICAgIHJhZGlv
SW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7CisgICAgc2hvdWxkQmVUcnVlKCJyYWRpb0lucHV0
LmluZGV0ZXJtaW5hdGUiKTsKKworICAgIHZhciBjaGVja2JveElucHV0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNoZWNrYm94SW5wdXQiKTsKKyAgICBjaGVja2JveElucHV0LmluZGV0ZXJt
aW5hdGUgPSB0cnVlOworICAgIHNob3VsZEJlVHJ1ZSgiY2hlY2tib3hJbnB1dC5pbmRldGVybWlu
YXRlIik7CisKKyAgICB2YXIgZGF0ZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRh
dGVJbnB1dCIpOworICAgIGRhdGVJbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTsKKyAgICBzaG91
bGRCZVRydWUoImRhdGVJbnB1dC5pbmRldGVybWluYXRlIik7CisKKyAgICB2YXIgZW1haWxJbnB1
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbWFpbElucHV0Iik7CisgICAgZW1haWxJbnB1
dC5pbmRldGVybWluYXRlID0gdHJ1ZTsKKyAgICBzaG91bGRCZVRydWUoImVtYWlsSW5wdXQuaW5k
ZXRlcm1pbmF0ZSIpOworCisgICAgdmFyIGZpbGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmaWxlSW5wdXQiKTsKKyAgICBmaWxlSW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7Cisg
ICAgc2hvdWxkQmVUcnVlKCJmaWxlSW5wdXQuaW5kZXRlcm1pbmF0ZSIpOworCisgICAgdmFyIG51
bWJlcklucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm51bWJlcklucHV0Iik7CisgICAg
bnVtYmVySW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7CisgICAgc2hvdWxkQmVUcnVlKCJudW1i
ZXJJbnB1dC5pbmRldGVybWluYXRlIik7CisKKyAgICB2YXIgcGFzc3dvcmRJbnB1dCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzd29yZElucHV0Iik7CisgICAgcGFzc3dvcmRJbnB1dC5p
bmRldGVybWluYXRlID0gdHJ1ZTsKKyAgICBzaG91bGRCZVRydWUoInBhc3N3b3JkSW5wdXQuaW5k
ZXRlcm1pbmF0ZSIpOworCisgICAgdmFyIHJhbmdlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmFuZ2VJbnB1dCIpOworICAgIHJhbmdlSW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7
CisgICAgc2hvdWxkQmVUcnVlKCJyYW5nZUlucHV0LmluZGV0ZXJtaW5hdGUiKTsKKworICAgIHZh
ciBzZWFyY2hJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWFyY2hJbnB1dCIpOwor
ICAgIHNlYXJjaElucHV0LmluZGV0ZXJtaW5hdGUgPSB0cnVlOworICAgIHNob3VsZEJlVHJ1ZSgi
c2VhcmNoSW5wdXQuaW5kZXRlcm1pbmF0ZSIpOworCisgICAgdmFyIHN1Ym1pdElucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1Ym1pdElucHV0Iik7CisgICAgc3VibWl0SW5wdXQuaW5k
ZXRlcm1pbmF0ZSA9IHRydWU7CisgICAgc2hvdWxkQmVUcnVlKCJzdWJtaXRJbnB1dC5pbmRldGVy
bWluYXRlIik7CisKKyAgICB2YXIgdGVsSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVsSW5wdXQiKTsKKyAgICB0ZWxJbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTsKKyAgICBzaG91
bGRCZVRydWUoInRlbElucHV0LmluZGV0ZXJtaW5hdGUiKTsKKworICAgIHZhciB0aW1lSW5wdXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGltZUlucHV0Iik7CisgICAgdGltZUlucHV0Lmlu
ZGV0ZXJtaW5hdGUgPSB0cnVlOworICAgIHNob3VsZEJlVHJ1ZSgidGltZUlucHV0LmluZGV0ZXJt
aW5hdGUiKTsKKworICAgIHZhciB1cmxJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1
cmxJbnB1dCIpOworICAgIHVybElucHV0LmluZGV0ZXJtaW5hdGUgPSB0cnVlOworICAgIHNob3Vs
ZEJlVHJ1ZSgidXJsSW5wdXQuaW5kZXRlcm1pbmF0ZSIpOworCisgICAgdmFyIHdlZWtJbnB1dCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWVrSW5wdXQiKTsKKyAgICB3ZWVrSW5wdXQuaW5k
ZXRlcm1pbmF0ZSA9IHRydWU7CisgICAgc2hvdWxkQmVUcnVlKCJ3ZWVrSW5wdXQuaW5kZXRlcm1p
bmF0ZSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2luZGV0ZXJtaW5hdGUtcmFkaW8uaHRtbAkocmV2aXNpb24gMTA2Njky
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbmRldGVybWluYXRlLXJhZGlvLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTUsMTEgKzUsMTEgQEAKICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgogICAgIGRpdgogICAgIHsKLSAgICAgICAgY29sb3I6IHJlZDsKKyAgICAgICAgY29sb3I6IGdy
ZWVuOwogICAgIH0KICAgICBpbnB1dDppbmRldGVybWluYXRlICsgI3Rlc3QKICAgICB7Ci0gICAg
ICAgIGNvbG9yOiBncmVlbjsKKyAgICAgICAgY29sb3I6IHJlZDsKICAgICB9CiA8L3N0eWxlPgog
PC9oZWFkPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>