<?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>66848</bug_id>
          
          <creation_ts>2011-08-24 03:46:48 -0700</creation_ts>
          <short_desc>input color: onchange event is not fired when changing color from color chooser</short_desc>
          <delta_ts>2011-08-31 01:07:43 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456044</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-24 03:46:48 -0700</bug_when>
    <thetext>Bug 66658 introduced a bug where the onchange event is not fired when changing color from the color chooser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456093</commentid>
    <comment_count>1</comment_count>
      <attachid>104997</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-24 07:39:00 -0700</bug_when>
    <thetext>Created attachment 104997
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456095</commentid>
    <comment_count>2</comment_count>
      <attachid>104997</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 07:45:19 -0700</bug_when>
    <thetext>Comment on attachment 104997
patch

Attachment 104997 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9487102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456097</commentid>
    <comment_count>3</comment_count>
      <attachid>104997</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 07:51:08 -0700</bug_when>
    <thetext>Comment on attachment 104997
patch

Attachment 104997 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9490042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456098</commentid>
    <comment_count>4</comment_count>
      <attachid>104997</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-08-24 07:51:37 -0700</bug_when>
    <thetext>Comment on attachment 104997
patch

Attachment 104997 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9481944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456100</commentid>
    <comment_count>5</comment_count>
      <attachid>104997</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-08-24 07:55:45 -0700</bug_when>
    <thetext>Comment on attachment 104997
patch

Attachment 104997 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9487106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456121</commentid>
    <comment_count>6</comment_count>
      <attachid>104997</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-08-24 09:04:15 -0700</bug_when>
    <thetext>Comment on attachment 104997
patch

Attachment 104997 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9489084</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456594</commentid>
    <comment_count>7</comment_count>
      <attachid>105115</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-24 18:28:34 -0700</bug_when>
    <thetext>Created attachment 105115
fixed typo and wrapped internals.idl with flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456615</commentid>
    <comment_count>8</comment_count>
      <attachid>105115</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-08-24 19:33:20 -0700</bug_when>
    <thetext>Comment on attachment 105115
fixed typo and wrapped internals.idl with flag

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

&gt; Source/WebCore/html/HTMLInputElement.h:240
&gt; +    // For test purpose.
&gt; +    bool connectToColorChooser();

Can you remove this or move this to WebCore/testing/? The purpose of WebCore/testing/ is to avoid such test-only code.

&gt; Source/WebCore/testing/Internals.cpp:172
&gt; +    HTMLInputElement* inputElement = element-&gt;toInputElement();
&gt; +    if (!inputElement || !inputElement-&gt;connectToColorChooser())

Who disconnects the ColorChooserClient? Does ColorChooser have a stale pointer to a ColorChooserClient after the ColorChooserClient is deleted?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456821</commentid>
    <comment_count>9</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-25 06:53:00 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 105115(apply) [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105115&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.h:240
&gt; &gt; +    // For test purpose.
&gt; &gt; +    bool connectToColorChooser();
&gt; 
&gt; Can you remove this or move this to WebCore/testing/? The purpose of WebCore/testing/ is to avoid such test-only code.

To do this we would need to make HTMLInputElement::inputType() public. The m_inputType is contained inside HTMLInputElement so I believe this is my only option.

&gt; &gt; Source/WebCore/testing/Internals.cpp:172
&gt; &gt; +    HTMLInputElement* inputElement = element-&gt;toInputElement();
&gt; &gt; +    if (!inputElement || !inputElement-&gt;connectToColorChooser())
&gt; 
&gt; Who disconnects the ColorChooserClient? Does ColorChooser have a stale pointer to a ColorChooserClient after the ColorChooserClient is deleted?

The destructor for ColorChooserClient disconnects the color chooser client, so that won&apos;t happen.
http://trac.webkit.org/browser/trunk/Source/WebCore/platform/ColorChooser.cpp#L41</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457002</commentid>
    <comment_count>10</comment_count>
      <attachid>105115</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-25 11:04:14 -0700</bug_when>
    <thetext>Comment on attachment 105115
fixed typo and wrapped internals.idl with flag

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

Looks good. A few problems.

&gt; Source/WebCore/WebCore.exp.in:1917
&gt;  __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
&gt; +
&gt; +__ZN7WebCore5ColorC1ERKN3WTF6StringE

Why the blank line? Please don’t add that blank line.

&gt; Source/WebCore/html/ColorInputType.h:46
&gt; +    virtual bool isColorControl() const;

Why are we making this public? What code has a pointer to ColorInputType but then has to call isColorControl on it? Why not just assume it’s true in that case?

I think you may have thought you’d need this public to call it on an InputType*, but that is not true. Please don’t make this change.

&gt; Source/WebCore/html/HTMLInputElement.cpp:1901
&gt; +bool HTMLInputElement::isColorControl() const

I see no reason to add this function. Please don’t add it. The one caller is inside the input element class and so can call m_inputType-&gt;isColorControl() directly.

&gt; Source/WebCore/html/HTMLInputElement.h:114
&gt; +#if ENABLE(INPUT_COLOR)
&gt; +    virtual bool isColorControl() const;
&gt; +#endif

Please don’t add this function, and if you do add it, don’t make it virtual.

&gt; Source/WebCore/testing/Internals.cpp:171
&gt; +    HTMLInputElement* inputElement = element-&gt;toInputElement();

A function like this should check if the element is an input element before casting. The toInputElement function is only legal to call if you already have checked that it’s an input element.

&gt; Source/WebCore/testing/Internals.h:64
&gt; +    void connectColorChooserClient(Element*, ExceptionCode&amp;);

For testing purposes, I think it’s OK to have the function just silently fail. It seems overkill to me to hook up a DOM exception for the test function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457352</commentid>
    <comment_count>11</comment_count>
      <attachid>105298</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-25 20:39:52 -0700</bug_when>
    <thetext>Created attachment 105298
fixed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457356</commentid>
    <comment_count>12</comment_count>
      <attachid>105115</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-25 20:41:50 -0700</bug_when>
    <thetext>Comment on attachment 105115
fixed typo and wrapped internals.idl with flag

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

I also changed Internals.idl because I noticed #if ENABLE(INPUT_COLOR) was giving errors and it was only working because of the old generated code.

&gt;&gt; Source/WebCore/WebCore.exp.in(edit):1917
&gt;&gt; +__ZN7WebCore5ColorC1ERKN3WTF6StringE
&gt; 
&gt; Why the blank line? Please don’t add that blank line.

Done.

&gt;&gt; Source/WebCore/html/ColorInputType.h(edit):46
&gt;&gt; +    virtual bool isColorControl() const;
&gt; 
&gt; Why are we making this public? What code has a pointer to ColorInputType but then has to call isColorControl on it? Why not just assume it’s true in that case?
&gt; 
&gt; I think you may have thought you’d need this public to call it on an InputType*, but that is not true. Please don’t make this change.

I see!
Done.

&gt;&gt; Source/WebCore/html/HTMLInputElement.cpp(edit):1901
&gt;&gt; +bool HTMLInputElement::isColorControl() const
&gt; 
&gt; I see no reason to add this function. Please don’t add it. The one caller is inside the input element class and so can call m_inputType-&gt;isColorControl() directly.

Done.

&gt;&gt; Source/WebCore/html/HTMLInputElement.h(edit):114
&gt;&gt; +#endif
&gt; 
&gt; Please don’t add this function, and if you do add it, don’t make it virtual.

Done.

&gt;&gt; Source/WebCore/testing/Internals.cpp(edit):171
&gt;&gt; +    HTMLInputElement* inputElement = element-&gt;toInputElement();
&gt; 
&gt; A function like this should check if the element is an input element before casting. The toInputElement function is only legal to call if you already have checked that it’s an input element.

Done.

&gt;&gt; Source/WebCore/testing/Internals.h(edit):64
&gt;&gt; +    void connectColorChooserClient(Element*, ExceptionCode&amp;);
&gt; 
&gt; For testing purposes, I think it’s OK to have the function just silently fail. It seems overkill to me to hook up a DOM exception for the test function.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458713</commentid>
    <comment_count>13</comment_count>
      <attachid>105298</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-08-29 22:47:28 -0700</bug_when>
    <thetext>Comment on attachment 105298
fixed patch

It seems all of Darin&apos;s comments were addressed in the updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458993</commentid>
    <comment_count>14</comment_count>
      <attachid>105298</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-30 10:23:04 -0700</bug_when>
    <thetext>Comment on attachment 105298
fixed patch

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

&gt; Source/WebCore/html/HTMLInputElement.h:235
&gt; +    // For test purpose.

This should be &quot;test purposes&quot;.

&gt; Source/WebCore/testing/Internals.cpp:177
&gt; +    if (!element-&gt;hasTagName(HTMLNames::inputTag))
&gt; +        return false;
&gt; +    HTMLInputElement* inputElement = element-&gt;toInputElement();
&gt; +    if (!inputElement)
&gt; +        return false;
&gt; +    return inputElement-&gt;connectToColorChooser();

Just for the record, I was wrong about toInputElement. It does the check for you. But since we have another bug about getting rid of toInputElement altogether, this will get fixed, so we’re OK if you land the patch as-is. The correct style for future code would be:

    if (!element-&gt;hasTagName(HTMLNames::inputTag))
        return false;
    return static_cast&lt;HTMLInputElement*&gt;(element)-&gt;connectToColorChooser();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459470</commentid>
    <comment_count>15</comment_count>
      <attachid>105746</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-30 23:51:18 -0700</bug_when>
    <thetext>Created attachment 105746
fixed comment &amp; rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459472</commentid>
    <comment_count>16</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-30 23:52:21 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 105298(apply) [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105298&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLInputElement.h:235
&gt; &gt; +    // For test purpose.
&gt; 
&gt; This should be &quot;test purposes&quot;.
Done.

&gt; Just for the record, I was wrong about toInputElement. It does the check for you. But since we have another bug about getting rid of toInputElement altogether, this will get fixed, so we’re OK if you land the patch as-is. The correct style for future code would be:
&gt; 
&gt;     if (!element-&gt;hasTagName(HTMLNames::inputTag))
&gt;         return false;
&gt;     return static_cast&lt;HTMLInputElement*&gt;(element)-&gt;connectToColorChooser();
Okay. I&apos;ve left it as it was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459473</commentid>
    <comment_count>17</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-30 23:53:01 -0700</bug_when>
    <thetext>I&apos;ve left it as it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459478</commentid>
    <comment_count>18</comment_count>
      <attachid>105749</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2011-08-31 00:02:50 -0700</bug_when>
    <thetext>Created attachment 105749
filled out reviewer in changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459502</commentid>
    <comment_count>19</comment_count>
      <attachid>105749</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 01:07:38 -0700</bug_when>
    <thetext>Comment on attachment 105749
filled out reviewer in changelog

Clearing flags on attachment: 105749

Committed r94158: &lt;http://trac.webkit.org/changeset/94158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459503</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 01:07:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104997</attachid>
            <date>2011-08-24 07:39:00 -0700</date>
            <delta_ts>2011-08-24 18:28:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-66848-20110824233859.patch</filename>
            <type>text/plain</type>
            <size>11108</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM2OTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMzY4ZTIyYTUwMDFkM2M2ZDE1ZDRj
NGQ2Mzk5YWJjOTQ0YTFlYjg4Li42MmEyMzkyZmNjYWI4YzJiMGY4NDRiMDk2ZWYzMTdkYTEwYjUw
ODllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjQgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaW5wdXQgY29sb3I6IG9uY2hhbmdlIGV2ZW50
IGlzIG5vdCBmaXJlZCB3aGVuIGNoYW5naW5nIGNvbG9yIGZyb20gY29sb3IgY2hvb3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
Y29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0bWw6
IEFkZGVkLiBUZXN0cyBpZiBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB1c2VyIHNlbGVjdHMg
Y29sb3IgZnJvbSBjb2xvciBjaG9vc2VyLgorCiAyMDExLTA4LTIzICBCZW4gV2VsbHMgIDxiZW53
ZWxsc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXh0cmEgYmFzZWxpbmUgZm9yIGJ1ZyA2NjAz
NiAoY2FudmFzIGZpbGwgY29tcG9zaXRlIG1vZGVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWNkNjg1MzkzYzI1NzUwZjRlYTQ0NjA3ZTEyYzgz
YjVjNGVjN2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xv
ci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CitUZXN0IGlmIGNoYW5nZSBldmVudCBmaXJlcyBwcm9wZXJseSB3aGVuIGNvbG9yIGNob29zZXIg
Y2hhbmdlcy4gQnVnIDY2ODQ4CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCit2YWx1
ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiNmZjAwMDAiCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFu
Z2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3It
b25jaGFuZ2UtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDllZDRlYzE1ZWI4OTIxYTFkMTdmNjc1
MjIwZDg3N2VmMDBkYjliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjggQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdlIGV2ZW50IGZpcmVzIHByb3Blcmx5IHdoZW4g
Y29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcgNjY4NDgnKTsKKwordmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnY29sb3InOworaW5wdXQu
dmFsdWUgPSAnIzAwMDAwMCc7CitpbnB1dC5vbmNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIGRl
YnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1dC52YWx1ZSk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworaW50ZXJuYWxzLmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoaW5wdXQpOworaW50
ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoJyNmZjAwMDAnKTsKKy8vIGlucHV0Lm9u
Y2hhbmdlIHNob3VsZCBiZSBjYWxsZWQKK2ludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKCcjZmYwMDAwJyk7CisvLyBpbnB1dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNhbGxlZAor
c2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIjZmYwMDAwIicpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA5YjE1MjVkZDVlZGJlOWEwZjc0YzgzYjIyZjQ1NGEw
NmQyZjkwOC4uOTY4NWExOTAyN2QwMGZkNzU1M2VkYjM5OTA5MDMzYjJmZWQzYjEzZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTA4LTI0ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNo
aUB3ZWJraXQub3JnPgorCisgICAgICAgIGlucHV0IGNvbG9yOiBvbmNoYW5nZSBldmVudCBpcyBu
b3QgZmlyZWQgd2hlbiBjaGFuZ2luZyBjb2xvciBmcm9tIGNvbG9yIGNob29zZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9j
b2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCisKKyAgICAgICAgKiBodG1sL0Nv
bG9ySW5wdXRUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6aXNDb2xv
ckNvbnRyb2wpOiBNb3ZlZCB0byBwdWJsaWMuCisgICAgICAgICogaHRtbC9Db2xvcklucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6Y29sb3JTZWxlY3RlZCk6
IERpc3BhdGNoIGNoYW5nZSBldmVudC4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNDb2xvckNvbnRyb2wp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmNvbm5lY3RUb0Nv
bG9yQ2hvb3Nlcik6IEFkZGVkLiBDYWxsZWQgZnJvbSBJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNo
b29zZXJDbGllbnQKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQpOiBBZGRlZC4gQ29u
bmVjdHMgZWxlbWVudCBhcyBjbGllbnQgdG8gY29sb3IgY2hvb3Nlci4KKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcik6IEFkZGVkLiBTaW11bGF0
ZSBjb2xvciBzZWxlY3Rpb24gaW4gY29sb3IgY2hvb3Nlci4KKwogMjAxMS0wOC0yMyAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBjaGVja3Mg
dG8gZW5zdXJlIGFsbG9jYXRpb24gZG9lcyBub3QgdGFrZSBwbGFjZSBkdXJpbmcgaW5pdGlhbGl6
YXRpb24gb2YgR0MtbWFuYWdlZCBvYmplY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGVlN2Fi
ODhiNmQ0YTUwMjIxOTk3NTZiNzdmZjA2ZWFmZjE4NGExZjcuLmFkZTk2YWU2MzU1NDk1ODU5ZDUx
ZmE3MWQzODgyNDQ2OTM2MzcxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xOTEzLDQgKzE5
MTMsNyBAQCBfX1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMTJyZWxlYXNlUHJveHlFdgogI2lm
IEVOQUJMRShJTlBVVF9DT0xPUikKIF9fWk43V2ViQ29yZTEyQ29sb3JDaG9vc2VyN2Nob29zZXJF
dgogX19aTks3V2ViQ29yZTEyQ29sb3JDaG9vc2VyMTNjb2xvclNlbGVjdGVkRVJLTlNfNUNvbG9y
RQorCitfX1pON1dlYkNvcmU1Q29sb3JDMUVSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTE2
SFRNTElucHV0RWxlbWVudDIxY29ubmVjdFRvQ29sb3JDaG9vc2VyRXYKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcAppbmRleCA4ZGFkMmMzNDMwMTkyOTE4MDUyNjcw
Zjk1ZTU5NjQyMDk2NjMyYjFlLi5jNGVjNzk4ZTlmYWFhMGJmZDE5ODIzMjc0NmQzZjEyOWM3YjVk
NmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcApAQCAtMTY3LDEwICsx
NjcsMTEgQEAgdm9pZCBDb2xvcklucHV0VHlwZTo6ZGV0YWNoKCkKIAogdm9pZCBDb2xvcklucHV0
VHlwZTo6Y29sb3JTZWxlY3RlZChjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgaWYgKGVsZW1l
bnQoKS0+ZGlzYWJsZWQoKSB8fCBlbGVtZW50KCktPnJlYWRPbmx5KCkpCisgICAgaWYgKGVsZW1l
bnQoKS0+ZGlzYWJsZWQoKSB8fCBlbGVtZW50KCktPnJlYWRPbmx5KCkgfHwgY29sb3IgPT0gdmFs
dWVBc0NvbG9yKCkpCiAgICAgICAgIHJldHVybjsKICAgICBlbGVtZW50KCktPnNldFZhbHVlRnJv
bVJlbmRlcmVyKGNvbG9yLnNlcmlhbGl6ZWQoKSk7CiAgICAgdXBkYXRlQ29sb3JTd2F0Y2goKTsK
KyAgICBlbGVtZW50KCktPmRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwogfQogCiBi
b29sIENvbG9ySW5wdXRUeXBlOjppc0NvbG9ySW5wdXRUeXBlKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQ29sb3JJbnB1dFR5cGUuaAppbmRleCA5MjhlZjg2OGYxYjdiMzhlOTFlMzkyMTM3OTI5OWU0
ZTUwMDU0ZGY2Li5jMGZhZDI1M2M4YjM1NzdmNDBhNDNiNTgwMjM5YWQ2NjYzZGIxNzNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5oCkBAIC00MywxMSArNDMsMTIgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1l
bnQqKTsKICAgICB2aXJ0dWFsIH5Db2xvcklucHV0VHlwZSgpOwogCisgICAgdmlydHVhbCBib29s
IGlzQ29sb3JDb250cm9sKCkgY29uc3Q7CisKICAgICB2b2lkIGNsb3NlQ29sb3JDaG9vc2VySWZD
dXJyZW50Q2xpZW50KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ29sb3JJbnB1dFR5cGUoSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkgOiBJbnB1dFR5cGUoZWxlbWVudCkgeyB9Ci0gICAgdmly
dHVhbCBib29sIGlzQ29sb3JDb250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c1JlcXVpcmVkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZmFsbGJhY2tWYWx1ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMDc2NjAxMzg1
NzQ4ZjgwNTA1NjNkYWY5NjBmYjlmMTQwYjBiM2QxNC4uNDYwMWQ3NmRkMTMyMGY3MzYwODZkMzRj
NTg5NDQ2MzAzOTM5ZjljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCkBAIC02Miw2ICs2MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorI2lu
Y2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2luY2x1ZGUgIkNvbG9ySW5wdXRUeXBlLmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQ4
OSw2ICsxNDk0LDE2IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cmVjYWxjV2lsbFZhbGlkYXRl
KCkgY29uc3QKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnN1cHBvcnRzVmFsaWRhdGlvbigpICYm
IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZWNhbGNXaWxsVmFsaWRhdGUoKTsKIH0KIAor
I2lmIEVOQUJMRShJTlBVVF9DT0xPUikKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6Y29ubmVjdFRv
Q29sb3JDaG9vc2VyKCkKK3sKKyAgICBpZiAoIWlzQ29sb3JDb250cm9sKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBDb2xvckNob29zZXI6OmNob29zZXIoKS0+Y29ubmVjdENsaWVudChz
dGF0aWNfY2FzdDxDb2xvcklucHV0VHlwZSo+KG1faW5wdXRUeXBlLmdldCgpKSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoREFUQUxJU1QpCiAKIEhUTUxF
bGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpsaXN0KCkgY29uc3QKQEAgLTE4ODIsNiArMTg5Nywx
MyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVVJMRmllbGQoKSBjb25zdAogICAgIHJldHVy
biBtX2lucHV0VHlwZS0+aXNVUkxGaWVsZCgpOwogfQogCisjaWYgRU5BTEJFKElOUFVUX0NPTE9S
KQorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0NvbG9yQ29udHJvbCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1faW5wdXRUeXBlLT5pc0NvbG9yQ29udHJvbCgpOworfQorI2VuZGlmCisgICAgCiBi
b29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzRW51bWVyYXRhYmxlKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9pbnB1dFR5cGUtPmlzRW51bWVyYXRhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCmluZGV4IGVjNGI5Yzk0MmU3ZDc2NmViNDFhMzIwMjU4ZmM0NzhkNTMxNjYx
ZTEuLjA2YzdhNDMyOWM3MTg0NjMzNmU3N2FlMWExOTU3NjNhNTJlMjhiYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xMDksNiArMTA5LDEwIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzU3BlZWNoRW5hYmxlZCgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
SU5QVVRfQ09MT1IpCisgICAgdmlydHVhbCBib29sIGlzQ29sb3JDb250cm9sKCkgY29uc3Q7Cisj
ZW5kaWYKKwogICAgIEhUTUxFbGVtZW50KiBjb250YWluZXJFbGVtZW50KCkgY29uc3Q7CiAgICAg
dmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0OwogICAgIEhUTUxF
bGVtZW50KiBpbm5lckJsb2NrRWxlbWVudCgpIGNvbnN0OwpAQCAtMjMxLDYgKzIzNSwxMSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBsYXN0Q2hhbmdlV2FzVXNlckVkaXQoKSBjb25zdDsKICAgICB2b2lk
IG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQoKTsKIAorI2lmIEVOQUJMRShJTlBVVF9DT0xPUikKKyAg
ICAvLyBGb3IgdGVzdCBwdXJwb3NlLgorICAgIGJvb2wgY29ubmVjdFRvQ29sb3JDaG9vc2VyKCk7
CisjZW5kaWYKKwogICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4aW11bUxlbmd0aDsKIAogcHJvdGVj
dGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGQ4YzlhZjY4NmQzYjYw
Y2Y3MjgwYTcxYzhlMmI0OWUzM2MzNTE5MTIuLmI2ZjExZTU2MmM2NTQ0NGI3YmY5OTk5NGZkYTM2
MmI5NWRlNmE4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQzLDYg
KzQzLDExIEBACiAjaW5jbHVkZSAiU2hhZG93Q29udGVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJT
aGFkb3dSb290LmgiCiAKKyNpZiBFTkFCTEUoSU5QVVRfQ09MT1IpCisjaW5jbHVkZSAiQ29sb3JD
aG9vc2VyLmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJp
bnRlcm5hbHMiOwpAQCAtMTYwLDYgKzE2NSwyMCBAQCB2b2lkIEludGVybmFsczo6ZGlzYWJsZU1l
bW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpCiAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0
RGlzYWJsZWQoZGlzYWJsZWQpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQordm9pZCBJ
bnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoRWxlbWVudCogZWxlbWVudCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0g
ZWxlbWVudC0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCB8fCAhaW5w
dXRFbGVtZW50LT5jb25uZWN0VG9Db2xvckNob29zZXIoKSkKKyAgICAgICAgZWMgPSBJTlZBTElE
X0FDQ0VTU19FUlI7Cit9CisKK3ZvaWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSkKK3sKKyAgICBDb2xvckNob29zZXI6OmNob29z
ZXIoKS0+Y29sb3JTZWxlY3RlZChDb2xvcihjb2xvclZhbHVlKSk7Cit9CisjZW5kaWYKKwogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiB2b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHMoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgbWF4aW11bVJlc291cmNlc0Nv
bnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZmYxZGMyYjZh
YWNkMWZkZmFhNDcwN2ZhZWNmOGM1NzRmMDczYWRkYy4uOWEwNGRjMmY4MWVhMDFkOGU1ZDViOGQx
NTdmYTQ0ZDA1ODAzODBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC02MCw2
ICs2MCwxMSBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jv
b3QoTm9kZSogc2hhZG93Um9vdCwgY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpOwogCisjaWYgRU5BQkxF
KElOUFVUX0NPTE9SKQorICAgIHZvaWQgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcihj
b25zdCBTdHJpbmcmIGNvbG9yVmFsdWUpOworI2VuZGlmCisKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1lbnQq
LCBpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291
cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggNzYzNjA0MjEwODliOTI0OWM5NDYyYzI5NzhhYjU0MGMxY2Jm
ZGJmYS4uNDEzNjZkYjE3ZTBhMzVjMmIwYmM3NjI2Yzc0YjZhMTg3MDZkYjQwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzksNiArMzksOSBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZEluU2hhZG93Um9vdChpbiBOb2RlIHNo
YWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAg
IHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGluIGJvb2xlYW4gZGlzYWJsZWQpOwogCisgICAgICAg
IHZvaWQgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2Vy
KGluIERPTVN0cmluZyBjb2xvclZhbHVlKTsKKwogICAgICAgICB2b2lkIHNldEluc3BlY3RvclJl
c291cmNlc0RhdGFTaXplTGltaXRzKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBsb25nIG1heGlt
dW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW4gbG9uZyBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250
ZW50U2l6ZSkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgQ2xpZW50UmVjdCBib3Vu
ZGluZ0JveChpbiBFbGVtZW50IGVsZW1lbnQpIHJhaXNlcyhET01FeGNlcHRpb24pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105115</attachid>
            <date>2011-08-24 18:28:34 -0700</date>
            <delta_ts>2011-08-30 23:51:08 -0700</delta_ts>
            <desc>fixed typo and wrapped internals.idl with flag</desc>
            <filename>bug-66848-20110825102833.patch</filename>
            <type>text/plain</type>
            <size>11142</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM2OTUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMzY4ZTIyYTUwMDFkM2M2ZDE1ZDRj
NGQ2Mzk5YWJjOTQ0YTFlYjg4Li42MmEyMzkyZmNjYWI4YzJiMGY4NDRiMDk2ZWYzMTdkYTEwYjUw
ODllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjQgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaW5wdXQgY29sb3I6IG9uY2hhbmdlIGV2ZW50
IGlzIG5vdCBmaXJlZCB3aGVuIGNoYW5naW5nIGNvbG9yIGZyb20gY29sb3IgY2hvb3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
Y29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0bWw6
IEFkZGVkLiBUZXN0cyBpZiBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB1c2VyIHNlbGVjdHMg
Y29sb3IgZnJvbSBjb2xvciBjaG9vc2VyLgorCiAyMDExLTA4LTIzICBCZW4gV2VsbHMgIDxiZW53
ZWxsc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXh0cmEgYmFzZWxpbmUgZm9yIGJ1ZyA2NjAz
NiAoY2FudmFzIGZpbGwgY29tcG9zaXRlIG1vZGVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWNkNjg1MzkzYzI1NzUwZjRlYTQ0NjA3ZTEyYzgz
YjVjNGVjN2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xv
ci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CitUZXN0IGlmIGNoYW5nZSBldmVudCBmaXJlcyBwcm9wZXJseSB3aGVuIGNvbG9yIGNob29zZXIg
Y2hhbmdlcy4gQnVnIDY2ODQ4CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCit2YWx1
ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiNmZjAwMDAiCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFu
Z2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3It
b25jaGFuZ2UtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDllZDRlYzE1ZWI4OTIxYTFkMTdmNjc1
MjIwZDg3N2VmMDBkYjliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjggQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdlIGV2ZW50IGZpcmVzIHByb3Blcmx5IHdoZW4g
Y29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcgNjY4NDgnKTsKKwordmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnY29sb3InOworaW5wdXQu
dmFsdWUgPSAnIzAwMDAwMCc7CitpbnB1dC5vbmNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIGRl
YnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1dC52YWx1ZSk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworaW50ZXJuYWxzLmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoaW5wdXQpOworaW50
ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoJyNmZjAwMDAnKTsKKy8vIGlucHV0Lm9u
Y2hhbmdlIHNob3VsZCBiZSBjYWxsZWQKK2ludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKCcjZmYwMDAwJyk7CisvLyBpbnB1dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNhbGxlZAor
c2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIjZmYwMDAwIicpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA5YjE1MjVkZDVlZGJlOWEwZjc0YzgzYjIyZjQ1NGEw
NmQyZjkwOC4uOTY4NWExOTAyN2QwMGZkNzU1M2VkYjM5OTA5MDMzYjJmZWQzYjEzZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTA4LTI0ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNo
aUB3ZWJraXQub3JnPgorCisgICAgICAgIGlucHV0IGNvbG9yOiBvbmNoYW5nZSBldmVudCBpcyBu
b3QgZmlyZWQgd2hlbiBjaGFuZ2luZyBjb2xvciBmcm9tIGNvbG9yIGNob29zZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9j
b2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCisKKyAgICAgICAgKiBodG1sL0Nv
bG9ySW5wdXRUeXBlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6aXNDb2xv
ckNvbnRyb2wpOiBNb3ZlZCB0byBwdWJsaWMuCisgICAgICAgICogaHRtbC9Db2xvcklucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcklucHV0VHlwZTo6Y29sb3JTZWxlY3RlZCk6
IERpc3BhdGNoIGNoYW5nZSBldmVudC4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNDb2xvckNvbnRyb2wp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmNvbm5lY3RUb0Nv
bG9yQ2hvb3Nlcik6IEFkZGVkLiBDYWxsZWQgZnJvbSBJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNo
b29zZXJDbGllbnQKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQpOiBBZGRlZC4gQ29u
bmVjdHMgZWxlbWVudCBhcyBjbGllbnQgdG8gY29sb3IgY2hvb3Nlci4KKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcik6IEFkZGVkLiBTaW11bGF0
ZSBjb2xvciBzZWxlY3Rpb24gaW4gY29sb3IgY2hvb3Nlci4KKwogMjAxMS0wOC0yMyAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBjaGVja3Mg
dG8gZW5zdXJlIGFsbG9jYXRpb24gZG9lcyBub3QgdGFrZSBwbGFjZSBkdXJpbmcgaW5pdGlhbGl6
YXRpb24gb2YgR0MtbWFuYWdlZCBvYmplY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGVlN2Fi
ODhiNmQ0YTUwMjIxOTk3NTZiNzdmZjA2ZWFmZjE4NGExZjcuLmFkZTk2YWU2MzU1NDk1ODU5ZDUx
ZmE3MWQzODgyNDQ2OTM2MzcxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xOTEzLDQgKzE5
MTMsNyBAQCBfX1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMTJyZWxlYXNlUHJveHlFdgogI2lm
IEVOQUJMRShJTlBVVF9DT0xPUikKIF9fWk43V2ViQ29yZTEyQ29sb3JDaG9vc2VyN2Nob29zZXJF
dgogX19aTks3V2ViQ29yZTEyQ29sb3JDaG9vc2VyMTNjb2xvclNlbGVjdGVkRVJLTlNfNUNvbG9y
RQorCitfX1pON1dlYkNvcmU1Q29sb3JDMUVSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTE2
SFRNTElucHV0RWxlbWVudDIxY29ubmVjdFRvQ29sb3JDaG9vc2VyRXYKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcAppbmRleCA4ZGFkMmMzNDMwMTkyOTE4MDUyNjcw
Zjk1ZTU5NjQyMDk2NjMyYjFlLi5jNGVjNzk4ZTlmYWFhMGJmZDE5ODIzMjc0NmQzZjEyOWM3YjVk
NmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcApAQCAtMTY3LDEwICsx
NjcsMTEgQEAgdm9pZCBDb2xvcklucHV0VHlwZTo6ZGV0YWNoKCkKIAogdm9pZCBDb2xvcklucHV0
VHlwZTo6Y29sb3JTZWxlY3RlZChjb25zdCBDb2xvciYgY29sb3IpCiB7Ci0gICAgaWYgKGVsZW1l
bnQoKS0+ZGlzYWJsZWQoKSB8fCBlbGVtZW50KCktPnJlYWRPbmx5KCkpCisgICAgaWYgKGVsZW1l
bnQoKS0+ZGlzYWJsZWQoKSB8fCBlbGVtZW50KCktPnJlYWRPbmx5KCkgfHwgY29sb3IgPT0gdmFs
dWVBc0NvbG9yKCkpCiAgICAgICAgIHJldHVybjsKICAgICBlbGVtZW50KCktPnNldFZhbHVlRnJv
bVJlbmRlcmVyKGNvbG9yLnNlcmlhbGl6ZWQoKSk7CiAgICAgdXBkYXRlQ29sb3JTd2F0Y2goKTsK
KyAgICBlbGVtZW50KCktPmRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpOwogfQogCiBi
b29sIENvbG9ySW5wdXRUeXBlOjppc0NvbG9ySW5wdXRUeXBlKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQ29sb3JJbnB1dFR5cGUuaAppbmRleCA5MjhlZjg2OGYxYjdiMzhlOTFlMzkyMTM3OTI5OWU0
ZTUwMDU0ZGY2Li5jMGZhZDI1M2M4YjM1NzdmNDBhNDNiNTgwMjM5YWQ2NjYzZGIxNzNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5oCkBAIC00MywxMSArNDMsMTIgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1l
bnQqKTsKICAgICB2aXJ0dWFsIH5Db2xvcklucHV0VHlwZSgpOwogCisgICAgdmlydHVhbCBib29s
IGlzQ29sb3JDb250cm9sKCkgY29uc3Q7CisKICAgICB2b2lkIGNsb3NlQ29sb3JDaG9vc2VySWZD
dXJyZW50Q2xpZW50KCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ29sb3JJbnB1dFR5cGUoSFRN
TElucHV0RWxlbWVudCogZWxlbWVudCkgOiBJbnB1dFR5cGUoZWxlbWVudCkgeyB9Ci0gICAgdmly
dHVhbCBib29sIGlzQ29sb3JDb250cm9sKCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGZvcm1Db250cm9sVHlwZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c1JlcXVpcmVkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZmFsbGJhY2tWYWx1ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMDc2NjAxMzg1
NzQ4ZjgwNTA1NjNkYWY5NjBmYjlmMTQwYjBiM2QxNC4uZjQ4NmI1YmMyN2YzZWI1YjcxNDQ5OWM1
NGIyNDEzM2Y5MGE0N2FmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCkBAIC02Miw2ICs2MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorI2lu
Y2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2luY2x1ZGUgIkNvbG9ySW5wdXRUeXBlLmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQ4
OSw2ICsxNDk0LDE2IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cmVjYWxjV2lsbFZhbGlkYXRl
KCkgY29uc3QKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnN1cHBvcnRzVmFsaWRhdGlvbigpICYm
IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZWNhbGNXaWxsVmFsaWRhdGUoKTsKIH0KIAor
I2lmIEVOQUJMRShJTlBVVF9DT0xPUikKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6Y29ubmVjdFRv
Q29sb3JDaG9vc2VyKCkKK3sKKyAgICBpZiAoIWlzQ29sb3JDb250cm9sKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBDb2xvckNob29zZXI6OmNob29zZXIoKS0+Y29ubmVjdENsaWVudChz
dGF0aWNfY2FzdDxDb2xvcklucHV0VHlwZSo+KG1faW5wdXRUeXBlLmdldCgpKSk7CisgICAgcmV0
dXJuIHRydWU7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoREFUQUxJU1QpCiAKIEhUTUxF
bGVtZW50KiBIVE1MSW5wdXRFbGVtZW50OjpsaXN0KCkgY29uc3QKQEAgLTE4ODIsNiArMTg5Nywx
MyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVVJMRmllbGQoKSBjb25zdAogICAgIHJldHVy
biBtX2lucHV0VHlwZS0+aXNVUkxGaWVsZCgpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9S
KQorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0NvbG9yQ29udHJvbCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1faW5wdXRUeXBlLT5pc0NvbG9yQ29udHJvbCgpOworfQorI2VuZGlmCisgICAgCiBi
b29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzRW51bWVyYXRhYmxlKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9pbnB1dFR5cGUtPmlzRW51bWVyYXRhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oCmluZGV4IGVjNGI5Yzk0MmU3ZDc2NmViNDFhMzIwMjU4ZmM0NzhkNTMxNjYx
ZTEuLjA2YzdhNDMyOWM3MTg0NjMzNmU3N2FlMWExOTU3NjNhNTJlMjhiYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0xMDksNiArMTA5LDEwIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzU3BlZWNoRW5hYmxlZCgpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
SU5QVVRfQ09MT1IpCisgICAgdmlydHVhbCBib29sIGlzQ29sb3JDb250cm9sKCkgY29uc3Q7Cisj
ZW5kaWYKKwogICAgIEhUTUxFbGVtZW50KiBjb250YWluZXJFbGVtZW50KCkgY29uc3Q7CiAgICAg
dmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0OwogICAgIEhUTUxF
bGVtZW50KiBpbm5lckJsb2NrRWxlbWVudCgpIGNvbnN0OwpAQCAtMjMxLDYgKzIzNSwxMSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBsYXN0Q2hhbmdlV2FzVXNlckVkaXQoKSBjb25zdDsKICAgICB2b2lk
IG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQoKTsKIAorI2lmIEVOQUJMRShJTlBVVF9DT0xPUikKKyAg
ICAvLyBGb3IgdGVzdCBwdXJwb3NlLgorICAgIGJvb2wgY29ubmVjdFRvQ29sb3JDaG9vc2VyKCk7
CisjZW5kaWYKKwogICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4aW11bUxlbmd0aDsKIAogcHJvdGVj
dGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGQ4YzlhZjY4NmQzYjYw
Y2Y3MjgwYTcxYzhlMmI0OWUzM2MzNTE5MTIuLmI2ZjExZTU2MmM2NTQ0NGI3YmY5OTk5NGZkYTM2
MmI5NWRlNmE4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQzLDYg
KzQzLDExIEBACiAjaW5jbHVkZSAiU2hhZG93Q29udGVudEVsZW1lbnQuaCIKICNpbmNsdWRlICJT
aGFkb3dSb290LmgiCiAKKyNpZiBFTkFCTEUoSU5QVVRfQ09MT1IpCisjaW5jbHVkZSAiQ29sb3JD
aG9vc2VyLmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJp
bnRlcm5hbHMiOwpAQCAtMTYwLDYgKzE2NSwyMCBAQCB2b2lkIEludGVybmFsczo6ZGlzYWJsZU1l
bW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpCiAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0
RGlzYWJsZWQoZGlzYWJsZWQpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQordm9pZCBJ
bnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoRWxlbWVudCogZWxlbWVudCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0g
ZWxlbWVudC0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0RWxlbWVudCB8fCAhaW5w
dXRFbGVtZW50LT5jb25uZWN0VG9Db2xvckNob29zZXIoKSkKKyAgICAgICAgZWMgPSBJTlZBTElE
X0FDQ0VTU19FUlI7Cit9CisKK3ZvaWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSkKK3sKKyAgICBDb2xvckNob29zZXI6OmNob29z
ZXIoKS0+Y29sb3JTZWxlY3RlZChDb2xvcihjb2xvclZhbHVlKSk7Cit9CisjZW5kaWYKKwogI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiB2b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHMoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgbWF4aW11bVJlc291cmNlc0Nv
bnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggZmYxZGMyYjZh
YWNkMWZkZmFhNDcwN2ZhZWNmOGM1NzRmMDczYWRkYy4uOWEwNGRjMmY4MWVhMDFkOGU1ZDViOGQx
NTdmYTQ0ZDA1ODAzODBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC02MCw2
ICs2MCwxMSBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jv
b3QoTm9kZSogc2hhZG93Um9vdCwgY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpOwogCisjaWYgRU5BQkxF
KElOUFVUX0NPTE9SKQorICAgIHZvaWQgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcihj
b25zdCBTdHJpbmcmIGNvbG9yVmFsdWUpOworI2VuZGlmCisKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1lbnQq
LCBpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11bVNpbmdsZVJlc291
cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggNzYzNjA0MjEwODliOTI0OWM5NDYyYzI5NzhhYjU0MGMxY2Jm
ZGJmYS4uZDlhOThlM2MyM2I1NTY1Y2Y3NzBlYjdkYTA0OGQyY2ZmOThkZjhmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMzksNiArMzksMTEgQEAgbW9kdWxlIHdpbmRv
dyB7CiAgICAgICAgIEVsZW1lbnQgZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3QoaW4gTm9kZSBz
aGFkb3dSb290LCBpbiBET01TdHJpbmcgaWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAg
ICB2b2lkIGRpc2FibGVNZW1vcnlDYWNoZShpbiBib29sZWFuIGRpc2FibGVkKTsKIAorI2lmIEVO
QUJMRShJTlBVVF9DT0xPUikKKyAgICAgICAgdm9pZCBjb25uZWN0Q29sb3JDaG9vc2VyQ2xpZW50
KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICB2b2lk
IHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoaW4gRE9NU3RyaW5nIGNvbG9yVmFsdWUpOworI2Vu
ZGlmCisKICAgICAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gbG9uZyBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUs
IGluIGxvbmcgbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpIHJhaXNlcyhET01FeGNl
cHRpb24pOwogCiAgICAgICAgIENsaWVudFJlY3QgYm91bmRpbmdCb3goaW4gRWxlbWVudCBlbGVt
ZW50KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105298</attachid>
            <date>2011-08-25 20:39:52 -0700</date>
            <delta_ts>2011-08-30 23:51:12 -0700</delta_ts>
            <desc>fixed patch</desc>
            <filename>bug-66848-20110826123951.patch</filename>
            <type>text/plain</type>
            <size>9876</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3NjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NmZjMjkzOTQzZmVmOWFiOGNiOWIx
ZjIxNzk5MTRkMzNlNzQ2NGQ4Li5jNWM5NjgwYThjYzQ4M2Q4YTJmZGZiMGE3ZDZkNGRkMTE3ZWJi
M2E2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjUgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaW5wdXQgY29sb3I6IG9uY2hhbmdlIGV2ZW50
IGlzIG5vdCBmaXJlZCB3aGVuIGNoYW5naW5nIGNvbG9yIGZyb20gY29sb3IgY2hvb3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
Y29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0bWw6
IEFkZGVkLiBUZXN0cyBpZiBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB1c2VyIHNlbGVjdHMg
Y29sb3IgZnJvbSBjb2xvciBjaG9vc2VyLgorCiAyMDExLTA4LTI1ICBQYXZlbCBQb2Rpdmlsb3Yg
IDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aXdlZCwgZml4IGVycm9y
IGluIGNocm9taXVtIHRlc3RfZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWNkNjg1MzkzYzI1NzUwZjRlYTQ0NjA3ZTEyYzgz
YjVjNGVjN2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xv
ci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CitUZXN0IGlmIGNoYW5nZSBldmVudCBmaXJlcyBwcm9wZXJseSB3aGVuIGNvbG9yIGNob29zZXIg
Y2hhbmdlcy4gQnVnIDY2ODQ4CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCit2YWx1
ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1MgaW5wdXQudmFsdWUgaXMgIiNmZjAwMDAiCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFu
Z2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3It
b25jaGFuZ2UtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDRhY2VkMzM0M2U0YjAxNjllODJkNGM2
NDNmMDBlYTlhNjc5NGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjkgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdlIGV2ZW50IGZpcmVzIHByb3Blcmx5IHdoZW4g
Y29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcgNjY4NDgnKTsKKwordmFyIGlucHV0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lucHV0LnR5cGUgPSAnY29sb3InOworaW5wdXQu
dmFsdWUgPSAnIzAwMDAwMCc7CitpbnB1dC5vbmNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIGRl
YnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1dC52YWx1ZSk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworaWYgKCFpbnRlcm5hbHMuY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChpbnB1dCkp
CisgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGNvbm5lY3QgQ29sb3JDaG9vc2VyQ2xpZW50LiIp
OworaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoJyNmZjAwMDAnKTsKKy8vIGlu
cHV0Lm9uY2hhbmdlIHNob3VsZCBiZSBjYWxsZWQKK2ludGVybmFscy5zZWxlY3RDb2xvckluQ29s
b3JDaG9vc2VyKCcjZmYwMDAwJyk7CisvLyBpbnB1dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNh
bGxlZAorc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywgJyIjZmYwMDAwIicpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ5NzM5Zjg5NmVlOWMwYzUxOTgzZTRjN2Ex
OGNmMTk5NTJlZWQ2Ny4uM2E2M2UxNWMzYWQ5ZjAxMGVlZmJmNDUxNDliY2M4M2Q0ZThlNGE3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA4LTI1ICBLZWlzaGkgSGF0dG9yaSAg
PGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIGlucHV0IGNvbG9yOiBvbmNoYW5nZSBldmVu
dCBpcyBub3QgZmlyZWQgd2hlbiBjaGFuZ2luZyBjb2xvciBmcm9tIGNvbG9yIGNob29zZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjogQWRkZWQgY2FsbHMgdXNlZCBpbiBJbnRlcm5hbHMuY3BwLgorICAgICAg
ICAqIGh0bWwvQ29sb3JJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1
dFR5cGU6OmNvbG9yU2VsZWN0ZWQpOiBEaXNwYXRjaCBjaGFuZ2UgZXZlbnQuCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmNvbm5lY3RUb0NvbG9yQ2hvb3Nlcik6IEFkZGVkLiBDYWxsZWQgZnJvbSBJbnRlcm5h
bHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRF
bGVtZW50Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpjb25uZWN0Q29sb3JDaG9vc2VyQ2xpZW50KTogQWRkZWQuIENvbm5l
Y3RzIGVsZW1lbnQgYXMgY2xpZW50IHRvIGNvbG9yIGNob29zZXIuCisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIpOiBBZGRlZC4gU2ltdWxhdGUg
Y29sb3Igc2VsZWN0aW9uIGluIGNvbG9yIGNob29zZXIuCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMDgtMjUg
IFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGV0IE1lc3Nh
Z2VFdmVudC5kYXRhIGhvbGQgU2VyaWFsaXplZFNjcmlwdFZhbHVlIG9yIFN0cmluZyBzZWxlY3Rp
dmVseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBlZTdhYjg4YjZkNGE1MDIyMTk5NzU2Yjc3ZmYw
NmVhZmYxODRhMWY3Li5jNTkwOTVhMjAwZDc4OWZhMWVhNzQ3MjIxMTZiYTA5NzlmMTdkYzhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTkxMyw0ICsxOTEzLDYgQEAgX19aTjdXZWJDb3JlMTRS
ZXNvdXJjZUhhbmRsZTEycmVsZWFzZVByb3h5RXYKICNpZiBFTkFCTEUoSU5QVVRfQ09MT1IpCiBf
X1pON1dlYkNvcmUxMkNvbG9yQ2hvb3NlcjdjaG9vc2VyRXYKIF9fWk5LN1dlYkNvcmUxMkNvbG9y
Q2hvb3NlcjEzY29sb3JTZWxlY3RlZEVSS05TXzVDb2xvckUKK19fWk43V2ViQ29yZTVDb2xvckMx
RVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50MjFjb25uZWN0
VG9Db2xvckNob29zZXJFdgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0NvbG9ySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUu
Y3BwCmluZGV4IDhkYWQyYzM0MzAxOTI5MTgwNTI2NzBmOTVlNTk2NDIwOTY2MzJiMWUuLmM0ZWM3
OThlOWZhYWEwYmZkMTk4MjMyNzQ2ZDNmMTI5YzdiNWQ2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Q29sb3JJbnB1dFR5cGUuY3BwCkBAIC0xNjcsMTAgKzE2NywxMSBAQCB2b2lkIENvbG9ySW5wdXRU
eXBlOjpkZXRhY2goKQogCiB2b2lkIENvbG9ySW5wdXRUeXBlOjpjb2xvclNlbGVjdGVkKGNvbnN0
IENvbG9yJiBjb2xvcikKIHsKLSAgICBpZiAoZWxlbWVudCgpLT5kaXNhYmxlZCgpIHx8IGVsZW1l
bnQoKS0+cmVhZE9ubHkoKSkKKyAgICBpZiAoZWxlbWVudCgpLT5kaXNhYmxlZCgpIHx8IGVsZW1l
bnQoKS0+cmVhZE9ubHkoKSB8fCBjb2xvciA9PSB2YWx1ZUFzQ29sb3IoKSkKICAgICAgICAgcmV0
dXJuOwogICAgIGVsZW1lbnQoKS0+c2V0VmFsdWVGcm9tUmVuZGVyZXIoY29sb3Iuc2VyaWFsaXpl
ZCgpKTsKICAgICB1cGRhdGVDb2xvclN3YXRjaCgpOworICAgIGVsZW1lbnQoKS0+ZGlzcGF0Y2hG
b3JtQ29udHJvbENoYW5nZUV2ZW50KCk7CiB9CiAKIGJvb2wgQ29sb3JJbnB1dFR5cGU6OmlzQ29s
b3JJbnB1dFR5cGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKaW5kZXggMDc2NjAxMzg1NzQ4ZjgwNTA1NjNkYWY5NjBmYjlmMTQwYjBiM2QxNC4uNzBhYTU5
OTk0OTRiN2IyNzdkZGZhNzhhNWI1OGZiZTAzYWMwNjE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC02Miw2ICs2MiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCisjaWYgRU5BQkxF
KElOUFVUX0NPTE9SKQorI2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2luY2x1ZGUgIkNvbG9y
SW5wdXRUeXBlLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMTQ4OSw2ICsxNDk0LDE2IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6
cmVjYWxjV2lsbFZhbGlkYXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnN1cHBv
cnRzVmFsaWRhdGlvbigpICYmIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpyZWNhbGNXaWxs
VmFsaWRhdGUoKTsKIH0KIAorI2lmIEVOQUJMRShJTlBVVF9DT0xPUikKK2Jvb2wgSFRNTElucHV0
RWxlbWVudDo6Y29ubmVjdFRvQ29sb3JDaG9vc2VyKCkKK3sKKyAgICBpZiAoIW1faW5wdXRUeXBl
LT5pc0NvbG9yQ29udHJvbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQ29sb3JDaG9v
c2VyOjpjaG9vc2VyKCktPmNvbm5lY3RDbGllbnQoc3RhdGljX2Nhc3Q8Q29sb3JJbnB1dFR5cGUq
PihtX2lucHV0VHlwZS5nZXQoKSkpOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisgICAg
CiAjaWYgRU5BQkxFKERBVEFMSVNUKQogCiBIVE1MRWxlbWVudCogSFRNTElucHV0RWxlbWVudDo6
bGlzdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IGVj
NGI5Yzk0MmU3ZDc2NmViNDFhMzIwMjU4ZmM0NzhkNTMxNjYxZTEuLjA5MGQ3M2FlNmU5MDgwMWU3
OGQ0NzM1ODc0OTg0MDMwYjA3NDU2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCkBAIC0yMzEsNiArMjMxLDExIEBAIHB1YmxpYzoKICAgICBib29sIGxhc3RDaGFuZ2VX
YXNVc2VyRWRpdCgpIGNvbnN0OwogICAgIHZvaWQgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCgpOwog
CisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorICAgIC8vIEZvciB0ZXN0IHB1cnBvc2UuCisgICAg
Ym9vbCBjb25uZWN0VG9Db2xvckNob29zZXIoKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIGNvbnN0
IGludCBtYXhpbXVtTGVuZ3RoOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKaW5kZXggZDhjOWFmNjg2ZDNiNjBjZjcyODBhNzFjOGUyYjQ5ZTMzYzM1MTkxMi4u
MzZiOThiNjkyNjgwNmExMmFhNzE5YTQzOTQxZWY0ZDdlMzI4N2VlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDMsNiArNDMsMTIgQEAKICNpbmNsdWRlICJTaGFkb3dD
b250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKIAorI2lmIEVOQUJMRShJ
TlBVVF9DT0xPUikKKyNpbmNsdWRlICJDb2xvckNob29zZXIuaCIKKyNpbmNsdWRlICJIVE1MSW5w
dXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjZW5kaWYKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBJbnRlcm5hbHM6OmludGVybmFsc0lkID0gImludGVy
bmFscyI7CkBAIC0xNjAsNiArMTY2LDIzIEBAIHZvaWQgSW50ZXJuYWxzOjpkaXNhYmxlTWVtb3J5
Q2FjaGUoYm9vbCBkaXNhYmxlZCkKICAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREaXNh
YmxlZChkaXNhYmxlZCk7CiB9CiAKKyNpZiBFTkFCTEUoSU5QVVRfQ09MT1IpCitib29sIEludGVy
bmFsczo6Y29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50KiBlbGVtZW50KQoreworICAg
IGlmICghZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IGVsZW1l
bnQtPnRvSW5wdXRFbGVtZW50KCk7CisgICAgaWYgKCFpbnB1dEVsZW1lbnQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gaW5wdXRFbGVtZW50LT5jb25uZWN0VG9Db2xvckNob29z
ZXIoKTsKK30KKwordm9pZCBJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoY29u
c3QgU3RyaW5nJiBjb2xvclZhbHVlKQoreworICAgIENvbG9yQ2hvb3Nlcjo6Y2hvb3NlcigpLT5j
b2xvclNlbGVjdGVkKENvbG9yKGNvbG9yVmFsdWUpKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKIHZvaWQgSW50ZXJuYWxzOjpzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6
ZUxpbWl0cyhEb2N1bWVudCogZG9jdW1lbnQsIGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNp
emUsIGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmZjFkYzJiNmFhY2QxZmRm
YWE0NzA3ZmFlY2Y4YzU3NGYwNzNhZGRjLi4yY2Y5NjNlMTM3NWI2NTQwMjVkNzk3ZDI4NDY4YmU1
ZjM0YzNlYmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTYwLDYgKzYwLDEx
IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZEluU2hhZG93Um9vdChOb2Rl
KiBzaGFkb3dSb290LCBjb25zdCBTdHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9p
ZCBkaXNhYmxlTWVtb3J5Q2FjaGUoYm9vbCBkaXNhYmxlZCk7CiAKKyNpZiBFTkFCTEUoSU5QVVRf
Q09MT1IpCisgICAgYm9vbCBjb25uZWN0Q29sb3JDaG9vc2VyQ2xpZW50KEVsZW1lbnQqKTsKKyAg
ICB2b2lkIHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoY29uc3QgU3RyaW5nJiBjb2xvclZhbHVl
KTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB2b2lkIHNldEluc3BlY3Rv
clJlc291cmNlc0RhdGFTaXplTGltaXRzKERvY3VtZW50KiwgaW50IG1heGltdW1SZXNvdXJjZXND
b250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplLCBFeGNlcHRp
b25Db2RlJik7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDc2
MzYwNDIxMDg5YjkyNDljOTQ2MmMyOTc4YWI1NDBjMWNiZmRiZmEuLjU4YmYwY2NkY2UzNDAyNzQ0
NmZiZjg5NTQxOTkzYTI0M2E3MGE5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTM5LDYgKzM5LDExIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBFbGVtZW50IGdl
dEVsZW1lbnRCeUlkSW5TaGFkb3dSb290KGluIE5vZGUgc2hhZG93Um9vdCwgaW4gRE9NU3RyaW5n
IGlkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBkaXNhYmxlTWVtb3J5Q2Fj
aGUoaW4gYm9vbGVhbiBkaXNhYmxlZCk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9JTlBVVF9DT0xP
UikgJiYgRU5BQkxFX0lOUFVUX0NPTE9SCisgICAgICAgIGJvb2xlYW4gY29ubmVjdENvbG9yQ2hv
b3NlckNsaWVudChpbiBFbGVtZW50IGVsZW1lbnQpOworICAgICAgICB2b2lkIHNlbGVjdENvbG9y
SW5Db2xvckNob29zZXIoaW4gRE9NU3RyaW5nIGNvbG9yVmFsdWUpOworI2VuZGlmCisKICAgICAg
ICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyhpbiBEb2N1bWVudCBk
b2N1bWVudCwgaW4gbG9uZyBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGluIGxvbmcgbWF4
aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUpIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAg
ICAgICAgIENsaWVudFJlY3QgYm91bmRpbmdCb3goaW4gRWxlbWVudCBlbGVtZW50KSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105746</attachid>
            <date>2011-08-30 23:51:18 -0700</date>
            <delta_ts>2011-08-31 00:03:51 -0700</delta_ts>
            <desc>fixed comment &amp; rebased</desc>
            <filename>bug-66848-20110831155117.patch</filename>
            <type>text/plain</type>
            <size>9808</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQxNTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNjFhNGY0NzQzYjY3ZDg0ZGMxZTc5
YTg2M2JjY2QyZjI5ZjU1ZTU2Li41OGQzMWNmZDViZTZhYjM4Njc3MzgzNDU5NzQ5MmYwZDBkZjkx
ZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjUgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaW5wdXQgY29sb3I6IG9uY2hhbmdlIGV2ZW50
IGlzIG5vdCBmaXJlZCB3aGVuIGNoYW5naW5nIGNvbG9yIGZyb20gY29sb3IgY2hvb3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
Y29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0bWw6
IEFkZGVkLiBUZXN0cyBpZiBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB1c2VyIHNlbGVjdHMg
Y29sb3IgZnJvbSBjb2xvciBjaG9vc2VyLgorCiAyMDExLTA4LTMwICBEYXZpZCBMZXZpbiAgPGxl
dmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFVwZGF0ZSBkdWUgdG8gcjk0
MTQ3LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xv
ci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Nv
bG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MWNkNjg1MzkzYzI1NzUwZjRlYTQ0NjA3ZTEyYzgzYjVjNGVjN2IzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0IGlmIGNoYW5nZSBldmVudCBmaXJl
cyBwcm9wZXJseSB3aGVuIGNvbG9yIGNob29zZXIgY2hhbmdlcy4gQnVnIDY2ODQ4CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCit2YWx1ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIiNmZjAwMDAiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MDRhY2VkMzM0M2U0YjAxNjllODJkNGM2NDNmMDBlYTlhNjc5NGUyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5n
ZS1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hh
bmdlIGV2ZW50IGZpcmVzIHByb3Blcmx5IHdoZW4gY29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcg
NjY4NDgnKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsK
K2lucHV0LnR5cGUgPSAnY29sb3InOworaW5wdXQudmFsdWUgPSAnIzAwMDAwMCc7CitpbnB1dC5v
bmNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBp
bnB1dC52YWx1ZSk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworaWYgKCFpbnRlcm5hbHMuY29u
bmVjdENvbG9yQ2hvb3NlckNsaWVudChpbnB1dCkpCisgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90
IGNvbm5lY3QgQ29sb3JDaG9vc2VyQ2xpZW50LiIpOworaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5D
b2xvckNob29zZXIoJyNmZjAwMDAnKTsKKy8vIGlucHV0Lm9uY2hhbmdlIHNob3VsZCBiZSBjYWxs
ZWQKK2ludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKCcjZmYwMDAwJyk7CisvLyBp
bnB1dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNhbGxlZAorc2hvdWxkQmUoJ2lucHV0LnZhbHVl
JywgJyIjZmYwMDAwIicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYjg5NTZiYjFiYTFmYjQ1YzYxMzQwYTc0OTZkY2E0ODhlNGJhMWJjYy4uNzYxZjFkNTZlMDQ5
ODYwYjlkYWZmY2ZkMzA4N2Y3MzUzZmI2YWFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDExLTA4LTI1ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAg
ICAgIGlucHV0IGNvbG9yOiBvbmNoYW5nZSBldmVudCBpcyBub3QgZmlyZWQgd2hlbiBjaGFuZ2lu
ZyBjb2xvciBmcm9tIGNvbG9yIGNob29zZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11
cmEuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5n
ZS1ldmVudC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRkZWQgY2FsbHMgdXNl
ZCBpbiBJbnRlcm5hbHMuY3BwLgorICAgICAgICAqIGh0bWwvQ29sb3JJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6OmNvbG9yU2VsZWN0ZWQpOiBEaXNwYXRj
aCBjaGFuZ2UgZXZlbnQuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmNvbm5lY3RUb0NvbG9yQ2hvb3Nlcik6
IEFkZGVkLiBDYWxsZWQgZnJvbSBJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQu
CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb25uZWN0Q29sb3JD
aG9vc2VyQ2xpZW50KTogQWRkZWQuIENvbm5lY3RzIGVsZW1lbnQgYXMgY2xpZW50IHRvIGNvbG9y
IGNob29zZXIuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xv
ckNob29zZXIpOiBBZGRlZC4gU2ltdWxhdGUgY29sb3Igc2VsZWN0aW9uIGluIGNvbG9yIGNob29z
ZXIuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMTEtMDgtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NDE0Miwg
cjk0MTQ0LCByOTQxNDUsIGFuZCByOTQxNDguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDU5N2Jh
M2I4MjE5MmM3Y2I2NjZiYjFiODk1ODRmZWRjYjFlNDc4MDUuLmVmMTZlYTUxYzM4NTg5MzJjYzY2
ZmYxNjUwMDk0MTBiZjVlZjU0MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xOTIyLDQgKzE5
MjIsNiBAQCBfX1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMjRzZXREZWZhdWx0U3RvcmFnZVNl
c3Npb25FUEsyMV9fQ0ZVUkxTdG9yYWdlU2Vzc2lvbgogI2lmIEVOQUJMRShJTlBVVF9DT0xPUikK
IF9fWk43V2ViQ29yZTEyQ29sb3JDaG9vc2VyN2Nob29zZXJFdgogX19aTks3V2ViQ29yZTEyQ29s
b3JDaG9vc2VyMTNjb2xvclNlbGVjdGVkRVJLTlNfNUNvbG9yRQorX19aTjdXZWJDb3JlNUNvbG9y
QzFFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxNkhUTUxJbnB1dEVsZW1lbnQyMWNvbm5l
Y3RUb0NvbG9yQ2hvb3NlckV2CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQ29sb3JJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlw
ZS5jcHAKaW5kZXggOGRhZDJjMzQzMDE5MjkxODA1MjY3MGY5NWU1OTY0MjA5NjYzMmIxZS4uYzRl
Yzc5OGU5ZmFhYTBiZmQxOTgyMzI3NDZkM2YxMjljN2I1ZDZkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9Db2xvcklucHV0VHlwZS5jcHAKQEAgLTE2NywxMCArMTY3LDExIEBAIHZvaWQgQ29sb3JJbnB1
dFR5cGU6OmRldGFjaCgpCiAKIHZvaWQgQ29sb3JJbnB1dFR5cGU6OmNvbG9yU2VsZWN0ZWQoY29u
c3QgQ29sb3ImIGNvbG9yKQogewotICAgIGlmIChlbGVtZW50KCktPmRpc2FibGVkKCkgfHwgZWxl
bWVudCgpLT5yZWFkT25seSgpKQorICAgIGlmIChlbGVtZW50KCktPmRpc2FibGVkKCkgfHwgZWxl
bWVudCgpLT5yZWFkT25seSgpIHx8IGNvbG9yID09IHZhbHVlQXNDb2xvcigpKQogICAgICAgICBy
ZXR1cm47CiAgICAgZWxlbWVudCgpLT5zZXRWYWx1ZUZyb21SZW5kZXJlcihjb2xvci5zZXJpYWxp
emVkKCkpOwogICAgIHVwZGF0ZUNvbG9yU3dhdGNoKCk7CisgICAgZWxlbWVudCgpLT5kaXNwYXRj
aEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKIH0KIAogYm9vbCBDb2xvcklucHV0VHlwZTo6aXND
b2xvcklucHV0VHlwZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcAppbmRleCBkZDFmMTNhZmY4MTRkNjk5ZTAxNTFhZTkyNjFiZDg3OTNkN2ZmZjlmLi5jMTNm
ZTFlNmU0OThhZWUyYjRlYmQ0NzcxZDNkOGUzYzA5ODQ5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTU2LDYgKzU2LDExIEBACiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBFTkFC
TEUoSU5QVVRfQ09MT1IpCisjaW5jbHVkZSAiQ29sb3JDaG9vc2VyLmgiCisjaW5jbHVkZSAiQ29s
b3JJbnB1dFR5cGUuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xNDcxLDYgKzE0NzYsMTYgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjpyZWNhbGNXaWxsVmFsaWRhdGUoKSBjb25zdAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+c3Vw
cG9ydHNWYWxpZGF0aW9uKCkgJiYgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnJlY2FsY1dp
bGxWYWxpZGF0ZSgpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorYm9vbCBIVE1MSW5w
dXRFbGVtZW50Ojpjb25uZWN0VG9Db2xvckNob29zZXIoKQoreworICAgIGlmICghbV9pbnB1dFR5
cGUtPmlzQ29sb3JDb250cm9sKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBDb2xvckNo
b29zZXI6OmNob29zZXIoKS0+Y29ubmVjdENsaWVudChzdGF0aWNfY2FzdDxDb2xvcklucHV0VHlw
ZSo+KG1faW5wdXRUeXBlLmdldCgpKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKyAg
ICAKICNpZiBFTkFCTEUoREFUQUxJU1QpCiAKIEhUTUxFbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50
OjpsaXN0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXgg
MzdmODRlYmQwOTRhN2Y4ZjdjN2Q5OWVkNjBmMGEzMDFkNjU2NWE3Ny4uNjhlODliZTJmZWNlY2U4
Y2UyMGViNWE4MjkyNWU0ZjVhZGZjZGNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKQEAgLTIyOCw2ICsyMjgsMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNDb25mb3Jt
VG9JbnB1dE1hc2soY29uc3QgU3RyaW5nJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJ
TlBVVF9DT0xPUikKKyAgICAvLyBGb3IgdGVzdCBwdXJwb3Nlcy4KKyAgICBib29sIGNvbm5lY3RU
b0NvbG9yQ2hvb3NlcigpOworI2VuZGlmCisKICAgICBzdGF0aWMgY29uc3QgaW50IG1heGltdW1M
ZW5ndGg7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCBkMmUxNDlmM2Y4Yzk2MjNlNTllYmMzZGIwODA5MDk0Nzc0MjdkYjYyLi5lNDRiNWY3NWU2MTI5
OWI5NTg5YjMxYWU2ZjA0ZjQxZmI0YWUxYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC00Niw2ICs0NiwxMCBAQAogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQor
I2luY2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJpbnRlcm5hbHMiOwpAQCAt
MTYzLDYgKzE2NywyMyBAQCB2b2lkIEludGVybmFsczo6ZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wg
ZGlzYWJsZWQpCiAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoZGlzYWJs
ZWQpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorYm9vbCBJbnRlcm5hbHM6OmNvbm5l
Y3RDb2xvckNob29zZXJDbGllbnQoRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBpZiAoIWVsZW1l
bnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBlbGVtZW50LT50b0lucHV0
RWxlbWVudCgpOworICAgIGlmICghaW5wdXRFbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgcmV0dXJuIGlucHV0RWxlbWVudC0+Y29ubmVjdFRvQ29sb3JDaG9vc2VyKCk7Cit9CisK
K3ZvaWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYg
Y29sb3JWYWx1ZSkKK3sKKyAgICBDb2xvckNob29zZXI6OmNob29zZXIoKS0+Y29sb3JTZWxlY3Rl
ZChDb2xvcihjb2xvclZhbHVlKSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiB2b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9j
dW1lbnQqIGRvY3VtZW50LCBpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4
aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggODE0OTI0NTQzMjRmMzgyYWUyNjQ0NTM4Yzli
OGVlYjdhYTcyY2QwOS4uNTkyNDllM2YxZmFmN2ZjODU1YTFkZTk2YWMzZDVmZmRkODg5Y2UzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC02MCw2ICs2MCwxMSBAQCBwdWJsaWM6
CiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3QoTm9kZSogc2hhZG93Um9v
dCwgY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGlzYWJsZU1l
bW9yeUNhY2hlKGJvb2wgZGlzYWJsZWQpOwogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorICAg
IGJvb2wgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50Kik7CisgICAgdm9pZCBzZWxl
Y3RDb2xvckluQ29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CisjZW5kaWYK
KwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNE
YXRhU2l6ZUxpbWl0cyhEb2N1bWVudCosIGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUs
IGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSwgRXhjZXB0aW9uQ29kZSYpOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2ZjMzYTNiMTg5OGYz
N2FlZjcxNjM1Mzg5MmJiOGJkN2E5ODJjYzI4Li4yZGUzZmM0YjFlOGY0MGViOWRkZGQ2YTlkYWQ5
N2M2MTIwNGUyYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zOSw2
ICszOSwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJ
ZEluU2hhZG93Um9vdChpbiBOb2RlIHNoYWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGluIGJvb2xl
YW4gZGlzYWJsZWQpOwogCisjaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfQ09MT1IpICYmIEVOQUJM
RV9JTlBVVF9DT0xPUgorICAgICAgICBib29sZWFuIGNvbm5lY3RDb2xvckNob29zZXJDbGllbnQo
aW4gRWxlbWVudCBlbGVtZW50KTsKKyAgICAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKGluIERPTVN0cmluZyBjb2xvclZhbHVlKTsKKyNlbmRpZgorCiAgICAgICAgIHZvaWQgc2V0
SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGlu
IGxvbmcgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbiBsb25nIG1heGltdW1TaW5nbGVS
ZXNvdXJjZUNvbnRlbnRTaXplKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICBDbGll
bnRSZWN0IGJvdW5kaW5nQm94KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105749</attachid>
            <date>2011-08-31 00:02:50 -0700</date>
            <delta_ts>2011-08-31 01:07:38 -0700</delta_ts>
            <desc>filled out reviewer in changelog</desc>
            <filename>bug-66848-20110831160249.patch</filename>
            <type>text/plain</type>
            <size>9805</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQxNTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNjFhNGY0NzQzYjY3ZDg0ZGMxZTc5
YTg2M2JjY2QyZjI5ZjU1ZTU2Li4yYzU3MTZhYjkxZDM3NGIyNzk2NjE5ODIwZGJjMmE3YTg2NTFi
YWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMjUgIEtlaXNoaSBIYXR0b3JpICA8
a2Vpc2hpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaW5wdXQgY29sb3I6IG9uY2hhbmdlIGV2ZW50
IGlzIG5vdCBmaXJlZCB3aGVuIGNoYW5naW5nIGNvbG9yIGZyb20gY29sb3IgY2hvb3NlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvY29s
b3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0bWw6IEFk
ZGVkLiBUZXN0cyBpZiBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB1c2VyIHNlbGVjdHMgY29s
b3IgZnJvbSBjb2xvciBjaG9vc2VyLgorCiAyMDExLTA4LTMwICBEYXZpZCBMZXZpbiAgPGxldmlu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFVwZGF0ZSBkdWUgdG8gcjk0MTQ3
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1v
bmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9y
L2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWNk
Njg1MzkzYzI1NzUwZjRlYTQ0NjA3ZTEyYzgzYjVjNGVjN2IzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0IGlmIGNoYW5nZSBldmVudCBmaXJlcyBw
cm9wZXJseSB3aGVuIGNvbG9yIGNob29zZXIgY2hhbmdlcy4gQnVnIDY2ODQ4CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCit2YWx1ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1MgaW5w
dXQudmFsdWUgaXMgIiNmZjAwMDAiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MDRhY2VkMzM0M2U0YjAxNjllODJkNGM2NDNmMDBlYTlhNjc5NGUyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1l
dmVudC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdl
IGV2ZW50IGZpcmVzIHByb3Blcmx5IHdoZW4gY29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcgNjY4
NDgnKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKK2lu
cHV0LnR5cGUgPSAnY29sb3InOworaW5wdXQudmFsdWUgPSAnIzAwMDAwMCc7CitpbnB1dC5vbmNo
YW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1
dC52YWx1ZSk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworaWYgKCFpbnRlcm5hbHMuY29ubmVj
dENvbG9yQ2hvb3NlckNsaWVudChpbnB1dCkpCisgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGNv
bm5lY3QgQ29sb3JDaG9vc2VyQ2xpZW50LiIpOworaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xv
ckNob29zZXIoJyNmZjAwMDAnKTsKKy8vIGlucHV0Lm9uY2hhbmdlIHNob3VsZCBiZSBjYWxsZWQK
K2ludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKCcjZmYwMDAwJyk7CisvLyBpbnB1
dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNhbGxlZAorc2hvdWxkQmUoJ2lucHV0LnZhbHVlJywg
JyIjZmYwMDAwIicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Yjg5NTZiYjFiYTFmYjQ1YzYxMzQwYTc0OTZkY2E0ODhlNGJhMWJjYy4uNzYxZjFkNTZlMDQ5ODYw
YjlkYWZmY2ZkMzA4N2Y3MzUzZmI2YWFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisy
MDExLTA4LTI1ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAg
IGlucHV0IGNvbG9yOiBvbmNoYW5nZSBldmVudCBpcyBub3QgZmlyZWQgd2hlbiBjaGFuZ2luZyBj
b2xvciBmcm9tIGNvbG9yIGNob29zZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2ODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEu
CisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1l
dmVudC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRkZWQgY2FsbHMgdXNlZCBp
biBJbnRlcm5hbHMuY3BwLgorICAgICAgICAqIGh0bWwvQ29sb3JJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6OmNvbG9yU2VsZWN0ZWQpOiBEaXNwYXRjaCBj
aGFuZ2UgZXZlbnQuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmNvbm5lY3RUb0NvbG9yQ2hvb3Nlcik6IEFk
ZGVkLiBDYWxsZWQgZnJvbSBJbnRlcm5hbHM6OmNvbm5lY3RDb2xvckNob29zZXJDbGllbnQuCisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjb25uZWN0Q29sb3JDaG9v
c2VyQ2xpZW50KTogQWRkZWQuIENvbm5lY3RzIGVsZW1lbnQgYXMgY2xpZW50IHRvIGNvbG9yIGNo
b29zZXIuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNo
b29zZXIpOiBBZGRlZC4gU2ltdWxhdGUgY29sb3Igc2VsZWN0aW9uIGluIGNvbG9yIGNob29zZXIu
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTEtMDgtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NDE0Miwgcjk0
MTQ0LCByOTQxNDUsIGFuZCByOTQxNDguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDU5N2JhM2I4
MjE5MmM3Y2I2NjZiYjFiODk1ODRmZWRjYjFlNDc4MDUuLmVmMTZlYTUxYzM4NTg5MzJjYzY2ZmYx
NjUwMDk0MTBiZjVlZjU0MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xOTIyLDQgKzE5MjIs
NiBAQCBfX1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMjRzZXREZWZhdWx0U3RvcmFnZVNlc3Np
b25FUEsyMV9fQ0ZVUkxTdG9yYWdlU2Vzc2lvbgogI2lmIEVOQUJMRShJTlBVVF9DT0xPUikKIF9f
Wk43V2ViQ29yZTEyQ29sb3JDaG9vc2VyN2Nob29zZXJFdgogX19aTks3V2ViQ29yZTEyQ29sb3JD
aG9vc2VyMTNjb2xvclNlbGVjdGVkRVJLTlNfNUNvbG9yRQorX19aTjdXZWJDb3JlNUNvbG9yQzFF
UktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxNkhUTUxJbnB1dEVsZW1lbnQyMWNvbm5lY3RU
b0NvbG9yQ2hvb3NlckV2CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Q29sb3JJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5j
cHAKaW5kZXggOGRhZDJjMzQzMDE5MjkxODA1MjY3MGY5NWU1OTY0MjA5NjYzMmIxZS4uYzRlYzc5
OGU5ZmFhYTBiZmQxOTgyMzI3NDZkM2YxMjljN2I1ZDZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9Db2xvcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9D
b2xvcklucHV0VHlwZS5jcHAKQEAgLTE2NywxMCArMTY3LDExIEBAIHZvaWQgQ29sb3JJbnB1dFR5
cGU6OmRldGFjaCgpCiAKIHZvaWQgQ29sb3JJbnB1dFR5cGU6OmNvbG9yU2VsZWN0ZWQoY29uc3Qg
Q29sb3ImIGNvbG9yKQogewotICAgIGlmIChlbGVtZW50KCktPmRpc2FibGVkKCkgfHwgZWxlbWVu
dCgpLT5yZWFkT25seSgpKQorICAgIGlmIChlbGVtZW50KCktPmRpc2FibGVkKCkgfHwgZWxlbWVu
dCgpLT5yZWFkT25seSgpIHx8IGNvbG9yID09IHZhbHVlQXNDb2xvcigpKQogICAgICAgICByZXR1
cm47CiAgICAgZWxlbWVudCgpLT5zZXRWYWx1ZUZyb21SZW5kZXJlcihjb2xvci5zZXJpYWxpemVk
KCkpOwogICAgIHVwZGF0ZUNvbG9yU3dhdGNoKCk7CisgICAgZWxlbWVudCgpLT5kaXNwYXRjaEZv
cm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKIH0KIAogYm9vbCBDb2xvcklucHV0VHlwZTo6aXNDb2xv
cklucHV0VHlwZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBkZDFmMTNhZmY4MTRkNjk5ZTAxNTFhZTkyNjFiZDg3OTNkN2ZmZjlmLi5jMTNmZTFl
NmU0OThhZWUyYjRlYmQ0NzcxZDNkOGUzYzA5ODQ5NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTU2LDYgKzU2LDExIEBACiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUo
SU5QVVRfQ09MT1IpCisjaW5jbHVkZSAiQ29sb3JDaG9vc2VyLmgiCisjaW5jbHVkZSAiQ29sb3JJ
bnB1dFR5cGUuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0xNDcxLDYgKzE0NzYsMTYgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpy
ZWNhbGNXaWxsVmFsaWRhdGUoKSBjb25zdAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+c3VwcG9y
dHNWYWxpZGF0aW9uKCkgJiYgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnJlY2FsY1dpbGxW
YWxpZGF0ZSgpOwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorYm9vbCBIVE1MSW5wdXRF
bGVtZW50Ojpjb25uZWN0VG9Db2xvckNob29zZXIoKQoreworICAgIGlmICghbV9pbnB1dFR5cGUt
PmlzQ29sb3JDb250cm9sKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBDb2xvckNob29z
ZXI6OmNob29zZXIoKS0+Y29ubmVjdENsaWVudChzdGF0aWNfY2FzdDxDb2xvcklucHV0VHlwZSo+
KG1faW5wdXRUeXBlLmdldCgpKSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKyAgICAK
ICNpZiBFTkFCTEUoREFUQUxJU1QpCiAKIEhUTUxFbGVtZW50KiBIVE1MSW5wdXRFbGVtZW50Ojps
aXN0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggMzdm
ODRlYmQwOTRhN2Y4ZjdjN2Q5OWVkNjBmMGEzMDFkNjU2NWE3Ny4uNjhlODliZTJmZWNlY2U4Y2Uy
MGViNWE4MjkyNWU0ZjVhZGZjZGNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmgKQEAgLTIyOCw2ICsyMjgsMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNDb25mb3JtVG9J
bnB1dE1hc2soY29uc3QgU3RyaW5nJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlBV
VF9DT0xPUikKKyAgICAvLyBGb3IgdGVzdCBwdXJwb3Nlcy4KKyAgICBib29sIGNvbm5lY3RUb0Nv
bG9yQ2hvb3NlcigpOworI2VuZGlmCisKICAgICBzdGF0aWMgY29uc3QgaW50IG1heGltdW1MZW5n
dGg7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBk
MmUxNDlmM2Y4Yzk2MjNlNTllYmMzZGIwODA5MDk0Nzc0MjdkYjYyLi5lNDRiNWY3NWU2MTI5OWI5
NTg5YjMxYWU2ZjA0ZjQxZmI0YWUxYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00Niw2ICs0NiwxMCBAQAogI2luY2x1ZGUgIlNoYWRvd0NvbnRlbnRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorI2lu
Y2x1ZGUgIkNvbG9yQ2hvb3Nlci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJpbnRlcm5hbHMiOwpAQCAtMTYz
LDYgKzE2NywyMyBAQCB2b2lkIEludGVybmFsczo6ZGlzYWJsZU1lbW9yeUNhY2hlKGJvb2wgZGlz
YWJsZWQpCiAgICAgV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQp
OwogfQogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorYm9vbCBJbnRlcm5hbHM6OmNvbm5lY3RD
b2xvckNob29zZXJDbGllbnQoRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBpZiAoIWVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppbnB1dFRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBlbGVtZW50LT50b0lucHV0RWxl
bWVudCgpOworICAgIGlmICghaW5wdXRFbGVtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcmV0dXJuIGlucHV0RWxlbWVudC0+Y29ubmVjdFRvQ29sb3JDaG9vc2VyKCk7Cit9CisKK3Zv
aWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYgY29s
b3JWYWx1ZSkKK3sKKyAgICBDb2xvckNob29zZXI6OmNob29zZXIoKS0+Y29sb3JTZWxlY3RlZChD
b2xvcihjb2xvclZhbHVlKSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiB2
b2lkIEludGVybmFsczo6c2V0SW5zcGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoRG9jdW1l
bnQqIGRvY3VtZW50LCBpbnQgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbnQgbWF4aW11
bVNpbmdsZVJlc291cmNlQ29udGVudFNpemUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggODE0OTI0NTQzMjRmMzgyYWUyNjQ0NTM4YzliOGVl
YjdhYTcyY2QwOS4uNTkyNDllM2YxZmFmN2ZjODU1YTFkZTk2YWMzZDVmZmRkODg5Y2UzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC02MCw2ICs2MCwxMSBAQCBwdWJsaWM6CiAg
ICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWRJblNoYWRvd1Jvb3QoTm9kZSogc2hhZG93Um9vdCwg
Y29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGlzYWJsZU1lbW9y
eUNhY2hlKGJvb2wgZGlzYWJsZWQpOwogCisjaWYgRU5BQkxFKElOUFVUX0NPTE9SKQorICAgIGJv
b2wgY29ubmVjdENvbG9yQ2hvb3NlckNsaWVudChFbGVtZW50Kik7CisgICAgdm9pZCBzZWxlY3RD
b2xvckluQ29sb3JDaG9vc2VyKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CisjZW5kaWYKKwog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdm9pZCBzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0cyhEb2N1bWVudCosIGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGlu
dCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSwgRXhjZXB0aW9uQ29kZSYpOwogI2Vs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2ZjMzYTNiMTg5OGYzN2Fl
ZjcxNjM1Mzg5MmJiOGJkN2E5ODJjYzI4Li4yZGUzZmM0YjFlOGY0MGViOWRkZGQ2YTlkYWQ5N2M2
MTIwNGUyYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0zOSw2ICsz
OSwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgRWxlbWVudCBnZXRFbGVtZW50QnlJZElu
U2hhZG93Um9vdChpbiBOb2RlIHNoYWRvd1Jvb3QsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgZGlzYWJsZU1lbW9yeUNhY2hlKGluIGJvb2xlYW4g
ZGlzYWJsZWQpOwogCisjaWYgZGVmaW5lZChFTkFCTEVfSU5QVVRfQ09MT1IpICYmIEVOQUJMRV9J
TlBVVF9DT0xPUgorICAgICAgICBib29sZWFuIGNvbm5lY3RDb2xvckNob29zZXJDbGllbnQoaW4g
RWxlbWVudCBlbGVtZW50KTsKKyAgICAgICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2Vy
KGluIERPTVN0cmluZyBjb2xvclZhbHVlKTsKKyNlbmRpZgorCiAgICAgICAgIHZvaWQgc2V0SW5z
cGVjdG9yUmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGxv
bmcgbWF4aW11bVJlc291cmNlc0NvbnRlbnRTaXplLCBpbiBsb25nIG1heGltdW1TaW5nbGVSZXNv
dXJjZUNvbnRlbnRTaXplKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICBDbGllbnRS
ZWN0IGJvdW5kaW5nQm94KGluIEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>