<?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>82693</bug_id>
          
          <creation_ts>2012-03-29 23:15:17 -0700</creation_ts>
          <short_desc>Fix some problems of text field decoration</short_desc>
          <delta_ts>2012-04-01 22:08:18 -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>
          
          <blocked>82143</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>591888</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-29 23:15:17 -0700</bug_when>
    <thetext>Fix some problems of text field decoration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591896</commentid>
    <comment_count>1</comment_count>
      <attachid>134729</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-29 23:25:38 -0700</bug_when>
    <thetext>Created attachment 134729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591903</commentid>
    <comment_count>2</comment_count>
      <attachid>134729</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-29 23:32:43 -0700</bug_when>
    <thetext>Comment on attachment 134729
Patch

Attachment 134729 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12267072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591909</commentid>
    <comment_count>3</comment_count>
      <attachid>134734</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-29 23:49:26 -0700</bug_when>
    <thetext>Created attachment 134734
Patch 2

Fix GTK build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591916</commentid>
    <comment_count>4</comment_count>
      <attachid>134729</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-30 00:07:27 -0700</bug_when>
    <thetext>Comment on attachment 134729
Patch

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

Actually, this raises an interesting question: What should we do if decorator-like shadow want to react visual change?
I remember we discussed this a bit before. But I don&apos;t think we reached any solid conclusion.

I want to see what will actually happen in didDetach().

&gt; Source/WebCore/ChangeLog:11
&gt; +        change the state of detaching element. This patch change the callback to

s/change/changes

&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:73
&gt; +    ShadowRoot* newRoot = 0;

It looks we could have a function to create a necessary shadow root.

&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:80
&gt; +        newRoot-&gt;removeChild(newRoot-&gt;firstChild());

removeChildren()?

&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:161
&gt; +    m_textFieldDecorator-&gt;didDetach(hostInput());

hostInput() could be null (or assertion could fail inside it) if we use timer here.
since the host &lt;input&gt; could be blew out.
I hope this to be called from something like tree mutation event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591934</commentid>
    <comment_count>5</comment_count>
      <attachid>134729</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-30 00:43:48 -0700</bug_when>
    <thetext>Comment on attachment 134729
Patch

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

&gt; I want to see what will actually happen in didDetach().

I guess a typical task in didDetach() will be to close a popup UI corresponding to the specified input element. Changing the input state in didDetach() is not expected, but it is possible.


&gt;&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:161
&gt;&gt; +    m_textFieldDecorator-&gt;didDetach(hostInput());
&gt; 
&gt; hostInput() could be null (or assertion could fail inside it) if we use timer here.
&gt; since the host &lt;input&gt; could be blew out.
&gt; I hope this to be called from something like tree mutation event.

Oh, you&apos;re right.
We can avoid this issue by keeping RefPtr&lt;HTMLInputElement&gt;. But it would make the code dirtier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591962</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-30 01:54:19 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; hostInput() could be null (or assertion could fail inside it) if we use timer here.
&gt; &gt; since the host &lt;input&gt; could be blew out.
&gt; &gt; I hope this to be called from something like tree mutation event.
&gt; 
&gt; Oh, you&apos;re right.
&gt; We can avoid this issue by keeping RefPtr&lt;HTMLInputElement&gt;. But it would make the code dirtier.

I realized using a timer was really a bad idea. RefPtr&lt;HTMLInputElement&gt; doesn&apos;t work because ContainerNode::removeAllChildren() apply &apos;delete&apos; operator to child nodes.

I don&apos;t change the code for willDetach(), and add a warning comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591975</commentid>
    <comment_count>7</comment_count>
      <attachid>134752</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-30 02:27:37 -0700</bug_when>
    <thetext>Created attachment 134752
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592196</commentid>
    <comment_count>8</comment_count>
      <attachid>134752</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-03-30 09:00:59 -0700</bug_when>
    <thetext>Comment on attachment 134752
Patch 3

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

&gt; Source/WebCore/GNUmakefile.list.am:2480
&gt; +	Source/WebCore/html/shadow/HTMLShaodwElement.h \

Typo.

&gt; Source/WebCore/html/InputType.cpp:396
&gt;          root-&gt;removeAllChildren();
&gt; +        root-&gt;appendChild(HTMLShadowElement::create(shadowTag, element()-&gt;document()));

Since you are the first consumer of this, I am trying to learn lessons here. It seems like we need ability to just &quot;disable&quot; a shadow DOM subtree in a tree stack. This way, you don&apos;t need to keep removing and re-adding DOM elements.

&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:91
&gt; +    getDecorationRootAndDecoratedRoot(input, decorationRoot, existingRoot);

Interesting approach. It&apos;s seems we need a way to reference specific shadow DOM subtrees from the shadowTree(), like getElementById.

&gt; Source/WebCore/html/shadow/TextFieldDecorationElement.h:57
&gt; +    // This function is called just before detaching the decoration. It must not
&gt; +    // call functions which updating state of the specified HTMLInputElement
&gt; +    // object.

I am still not happy about needing to articulate this in comments. The best kind of articulation is by design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593160</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-04-01 21:39:19 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Source/WebCore/html/InputType.cpp:396
&gt; &gt;          root-&gt;removeAllChildren();
&gt; &gt; +        root-&gt;appendChild(HTMLShadowElement::create(shadowTag, element()-&gt;document()));
&gt; 
&gt; Since you are the first consumer of this, I am trying to learn lessons here. It seems like we need ability to just &quot;disable&quot; a shadow DOM subtree in a tree stack. This way, you don&apos;t need to keep removing and re-adding DOM elements.

I think supporting ShadowRoot removal is the best way because of the following.

&gt; &gt; Source/WebCore/html/shadow/TextFieldDecorationElement.cpp:91
&gt; &gt; +    getDecorationRootAndDecoratedRoot(input, decorationRoot, existingRoot);
&gt; 
&gt; Interesting approach. It&apos;s seems we need a way to reference specific shadow DOM subtrees from the shadowTree(), like getElementById.

In this case, what we want is the youngest effective (not just &lt;shadow&gt; child) ShadowRoot. If we supported ShadowRoot removal, it would be the youngest ShadowRoot.  It&apos;s simple.
If we introduced &quot;disabled&quot; state or something, we would need to iterate over the ShadowRoots eventually.

&gt; &gt; Source/WebCore/html/shadow/TextFieldDecorationElement.h:57
&gt; &gt; +    // This function is called just before detaching the decoration. It must not
&gt; &gt; +    // call functions which updating state of the specified HTMLInputElement
&gt; &gt; +    // object.
&gt; 
&gt; I am still not happy about needing to articulate this in comments. The best kind of articulation is by design.

Yeah, I understand. However I have no good idea to resolve this by design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593173</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-04-01 22:08:18 -0700</bug_when>
    <thetext>Committed r112830: &lt;http://trac.webkit.org/changeset/112830&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134729</attachid>
            <date>2012-03-29 23:25:38 -0700</date>
            <delta_ts>2012-03-30 00:44:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82693-20120330152536.patch</filename>
            <type>text/plain</type>
            <size>6511</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JmOTNjYmNiY2ZiY2Nj
MDA0YTFjMzQ1ZGUyMDdkMDE3NDE2ZWY3ZS4uMDMyZjVlOTRkNTczYTQzNTI0NjU2OTQyYmU3OTI5
ZjRlZDgwMzE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAzLTI5ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggc29tZSBwcm9ibGVt
cyBvZiB0ZXh0IGZpZWxkIGRlY29yYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyNjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBGaXggYSBwcm9ibGVtIHRoYXQgZGVjb3JhdGlvbnMgYXJlIG5v
dCByZW1vdmVkIHdoZW4gdGhlIGlucHV0IHR5cGUgaXMKKyAgICAgICAgY2hhbmdlZC4KKyAgICAg
ICAgLSBBdm9pZCBkYW5nZXJvdXMgJ3dpbGxEZXRhY2gnIGNhbGxiYWNrLiBBIGNhbGxiYWNrIGlt
cGxlbWVudGF0aW9uIGNvdWxkCisgICAgICAgIGNoYW5nZSB0aGUgc3RhdGUgb2YgZGV0YWNoaW5n
IGVsZW1lbnQuIFRoaXMgcGF0Y2ggY2hhbmdlIHRoZSBjYWxsYmFjayB0bworICAgICAgICAnZGlk
RGV0YWNoJywgd2hpY2ggaXMgY2FsbGVkIGFmdGVyIGRldGFjaCgpIGlzIGNvbXBsZXRlZC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGUgYmVoYXZpb3IgY2hhbmdlcyBhcmUgbm90
IHZpc2libGUgeWV0LgorCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgIFJlbW92
ZSBhbGwgb2YgU2hhZG93Um9vdCBjb250ZW50cywgYW5kIGFkZCBhIDxzaGFkb3c+IGVsZW1lbnQg
dG8gZWFjaCBvZgorICAgICAgICB0aGVtLiBXZSBkb24ndCByZW1vdmUgU2hhZG93Um9vdHMgZnJv
bSB0aGUgdHJlZSBiZWNhdXNlIGl0J3Mgbm90CisgICAgICAgIHN1cHBvcnRlZCB3ZWxsLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZSk6CisgICAg
ICAgIElmIHRoZSBpbnB1dCBlbGVtZW50IGhhcyBhIFNoYWRvd1Jvb3Qgd2l0aCBzaW5nbGUgPHNo
YWRvdz4gY2hpbGQsIHdlCisgICAgICAgIGRvbid0IGNyZWF0ZSBuZXcgU2hhZG93Um9vdCBhbmQg
cmV1c2UgaXQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6
ZGV0YWNoKToKKyAgICAgICAgQ2FsbCBkaWREZXRhY2goKSBieSBhIHRpbWVyIGJlY2F1c2Ugd2Ug
ZG9uJ3QgbGlrZSB0byBjYWxsCisgICAgICAgIFRleHRGaWVsZERlY29yYXRvcjo6ZGlkRGV0YWNo
KCkgaW4gdGhpcyBmdW5jdGlvbi4gIFdlIG5lZWQgdG8gZG8gcmVmKCkKKyAgICAgICAgdG8gYXZv
aWQgdGhpcyBvYmplY3QgaXMgZGVsZXRlZCBqdXN0IGFmdGVyIGRldGFjaCgpLgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRpZERldGFjaCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFRl
eHRGaWVsZERlY29yYXRvcik6IFJlbmFtZSB3aWxsRGV0YWNoKCkgdG8gZGlkRGV0YWNoKCkuCisg
ICAgICAgIChUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCk6IEFkZCBhIHRpbWVyIGNhbGxiYWNr
IGFuZCBhIHRpbWVyIG1lbWJlci4KKwogMjAxMi0wMy0yOSAgQWxleGFuZHJ1IENoaWN1bGl0YSAg
PGFjaGljdUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBGaWx0ZXJzXSBUcmlnZ2VyIGEgcmVw
YWludCBvbiBlbGVtZW50cyB3aXRoIGNoYW5nZWQgZmlsdGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlw
ZS5jcHAKaW5kZXggM2QwNjA5MmIwNjRiNTM0NTBjYjc5YzEyNzY4NjU0NDdlMDY0OTc3YS4uZGMz
ODZjODcxNmY1M2NjYTBjYTdkNTEyY2ViMDNjZjg0NDUxODVhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5w
dXRUeXBlLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgog
I2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQu
aCIKKyNpbmNsdWRlICJIVE1MU2hhZG93RWxlbWVudC5oIgogI2luY2x1ZGUgIkhpZGRlbklucHV0
VHlwZS5oIgogI2luY2x1ZGUgIkltYWdlSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRF
dmVudC5oIgpAQCAtNzAsNiArNzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3VzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiB0eXBlZGVmIFBh
c3NPd25QdHI8SW5wdXRUeXBlPiAoKklucHV0VHlwZUZhY3RvcnlGdW5jdGlvbikoSFRNTElucHV0
RWxlbWVudCopOwpAQCAtMzgyLDggKzM4NCwxNyBAQCB2b2lkIElucHV0VHlwZTo6ZGVzdHJveVNo
YWRvd1N1YnRyZWUoKQogICAgIGlmICghZWxlbWVudCgpLT5oYXNTaGFkb3dSb290KCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGlmIChTaGFkb3dSb290KiByb290ID0gZWxlbWVudCgpLT5zaGFk
b3dUcmVlKCktPm9sZGVzdFNoYWRvd1Jvb3QoKSkKKyAgICBTaGFkb3dSb290KiByb290ID0gZWxl
bWVudCgpLT5zaGFkb3dUcmVlKCktPm9sZGVzdFNoYWRvd1Jvb3QoKTsKKyAgICBBU1NFUlQocm9v
dCk7CisgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKworICAgIC8vIEl0J3Mgb2sgdG8g
Y2xlYXIgY29udGVudHMgb2YgYWxsIG90aGVyIFNoYWRvd1Jvb3RzIGJlY2F1c2UgdGhleSBtdXN0
IGhhdmUKKyAgICAvLyBiZWVuIGNyZWF0ZWQgYnkgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQs
IGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKKyAgICAvLyBBdXRob3JTaGFkb3dSb290IHRvIEhU
TUxJbnB1dEVsZW1lbnQuCisgICAgd2hpbGUgKChyb290ID0gcm9vdC0+eW91bmdlclNoYWRvd1Jv
b3QoKSkpIHsKICAgICAgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICAgICAgcm9v
dC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShzaGFkb3dUYWcsIGVsZW1l
bnQoKS0+ZG9jdW1lbnQoKSkpOworICAgIH0KIH0KIAogZG91YmxlIElucHV0VHlwZTo6cGFyc2VU
b0RvdWJsZShjb25zdCBTdHJpbmcmLCBkb3VibGUgZGVmYXVsdFZhbHVlKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVs
ZW1lbnQuY3BwCmluZGV4IDQ0NzE1ZTRiMzczN2ZhOGUwYjdlZGI5MjI0NGE3OWJkYWFkMGM4MzIu
LmZjYjM1MTUzY2M1NDFlOTA1ZTc4MTUwZDc3N2VkMGRhZDZiMzhjYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVu
dC5jcHAKQEAgLTcwLDcgKzcwLDE2IEBAIHZvaWQgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6
OmRlY29yYXRlKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogewogICAgIEFTU0VSVChpbnB1dCk7
CiAgICAgU2hhZG93Um9vdCogZXhpc3RpbmdSb290ID0gaW5wdXQtPnNoYWRvd1RyZWUoKS0+eW91
bmdlc3RTaGFkb3dSb290KCk7Ci0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IG5ld1Jvb3QgPSBTaGFk
b3dSb290OjpjcmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5nVXNlckFnZW50U2hhZG93
Um9vdCwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgU2hhZG93Um9vdCogbmV3Um9vdCA9IDA7
CisgICAgd2hpbGUgKGV4aXN0aW5nUm9vdC0+Y2hpbGROb2RlQ291bnQoKSA9PSAxICYmIGV4aXN0
aW5nUm9vdC0+Zmlyc3RDaGlsZCgpLT5oYXNUYWdOYW1lKHNoYWRvd1RhZykpIHsKKyAgICAgICAg
bmV3Um9vdCA9IGV4aXN0aW5nUm9vdDsKKyAgICAgICAgZXhpc3RpbmdSb290ID0gZXhpc3RpbmdS
b290LT5vbGRlclNoYWRvd1Jvb3QoKTsKKyAgICAgICAgQVNTRVJUKGV4aXN0aW5nUm9vdCk7Cisg
ICAgfQorICAgIGlmIChuZXdSb290KQorICAgICAgICBuZXdSb290LT5yZW1vdmVDaGlsZChuZXdS
b290LT5maXJzdENoaWxkKCkpOworICAgIGVsc2UKKyAgICAgICAgbmV3Um9vdCA9IFNoYWRvd1Jv
b3Q6OmNyZWF0ZShpbnB1dCwgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290
LCBBU1NFUlRfTk9fRVhDRVBUSU9OKS5nZXQoKTsKICAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+
IGJveCA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoaW5wdXQtPmRvY3VtZW50KCkpOwogICAgIG5l
d1Jvb3QtPmFwcGVuZENoaWxkKGJveCk7CiAgICAgYm94LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVXZWJraXRCb3gpOwpAQCAtMTM4LDggKzE0Nywx
OSBAQCB2b2lkIFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjphdHRhY2goKQogCiB2b2lkIFRl
eHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZXRhY2goKQogewotICAgIG1fdGV4dEZpZWxkRGVj
b3JhdG9yLT53aWxsRGV0YWNoKGhvc3RJbnB1dCgpKTsKICAgICBIVE1MRGl2RWxlbWVudDo6ZGV0
YWNoKCk7CisgICAgaWYgKCFtX3RpbWVyKQorICAgICAgICBtX3RpbWVyID0gYWRvcHRQdHIobmV3
IFRpbWVyPFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50Pih0aGlzLCAmVGV4dEZpZWxkRGVjb3Jh
dGlvbkVsZW1lbnQ6OmRpZERldGFjaCkpOworICAgIGVsc2UgaWYgKG1fdGltZXItPmlzQWN0aXZl
KCkpCisgICAgICAgIHJldHVybjsKKyAgICByZWYoKTsKKyAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7Cit9CisKK3ZvaWQgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRpZERldGFjaChU
aW1lcjxUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudD4qKQoreworICAgIG1fdGV4dEZpZWxkRGVj
b3JhdG9yLT5kaWREZXRhY2goaG9zdElucHV0KCkpOworICAgIGRlcmVmKCk7CiB9CiAKIGJvb2wg
VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmlzTW91c2VGb2N1c2FibGUoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25F
bGVtZW50LmgKaW5kZXggMDIwZjJhNTBhYThhODM1NWM2ZjQwODBlNTRkYzcxODRhYTM0ZDcyZS4u
YjZlN2JjZDA0Nzc5YzBjNDYxNWE5M2UzOTVkMWRlYTczZjEwZjhhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50X2gK
IAogI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Miw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IENhY2hlZEltYWdlKiBpbWFnZUZvclJlYWRvbmx5U3RhdGUoKSA9IDA7CiAKICAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlQ2xpY2soSFRNTElucHV0RWxlbWVudCopID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgd2lsbERldGFjaChIVE1MSW5wdXRFbGVtZW50KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBk
aWREZXRhY2goSFRNTElucHV0RWxlbWVudCopID0gMDsKIAogICAgIHZpcnR1YWwgflRleHRGaWVs
ZERlY29yYXRvcigpOwogfTsKQEAgLTc3LDggKzc4LDEwIEBAIHByaXZhdGU6CiAKICAgICBIVE1M
SW5wdXRFbGVtZW50KiBob3N0SW5wdXQoKTsKICAgICB2b2lkIHVwZGF0ZUltYWdlKCk7CisgICAg
dm9pZCBkaWREZXRhY2goVGltZXI8VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ+Kik7CiAKICAg
ICBUZXh0RmllbGREZWNvcmF0b3IqIG1fdGV4dEZpZWxkRGVjb3JhdG9yOworICAgIE93blB0cjxU
aW1lcjxUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudD4gPiBtX3RpbWVyOwogfTsKIAogaW5saW5l
IFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50KiB0b1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50
KE5vZGUqIG5vZGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134734</attachid>
            <date>2012-03-29 23:49:26 -0700</date>
            <delta_ts>2012-03-30 02:27:31 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-82693-20120330154925.patch</filename>
            <type>text/plain</type>
            <size>7665</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JmOTNjYmNiY2ZiY2Nj
MDA0YTFjMzQ1ZGUyMDdkMDE3NDE2ZWY3ZS4uYzRkNzU0ZjI3MTNjNDczMDdhNGEwODI4YjdhZjEw
YWMxMDRhNDA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAzLTI5ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggc29tZSBwcm9ibGVt
cyBvZiB0ZXh0IGZpZWxkIGRlY29yYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyNjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBGaXggYSBwcm9ibGVtIHRoYXQgZGVjb3JhdGlvbnMgYXJlIG5v
dCByZW1vdmVkIHdoZW4gdGhlIGlucHV0IHR5cGUgaXMKKyAgICAgICAgY2hhbmdlZC4KKyAgICAg
ICAgLSBBdm9pZCBkYW5nZXJvdXMgJ3dpbGxEZXRhY2gnIGNhbGxiYWNrLiBBIGNhbGxiYWNrIGlt
cGxlbWVudGF0aW9uIGNvdWxkCisgICAgICAgIGNoYW5nZSB0aGUgc3RhdGUgb2YgZGV0YWNoaW5n
IGVsZW1lbnQuIFRoaXMgcGF0Y2ggY2hhbmdlIHRoZSBjYWxsYmFjayB0bworICAgICAgICAnZGlk
RGV0YWNoJywgd2hpY2ggaXMgY2FsbGVkIGFmdGVyIGRldGFjaCgpIGlzIGNvbXBsZXRlZC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGUgYmVoYXZpb3IgY2hhbmdlcyBhcmUgbm90
IHZpc2libGUgeWV0LgorCisgICAgICAgICogR05VTWFrZWZpbGUubGlzdC5hbTogQWRkIEhUTUxT
aGFkb3dFbGVtZW50LiouCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgIFJlbW92
ZSBhbGwgb2YgU2hhZG93Um9vdCBjb250ZW50cywgYW5kIGFkZCBhIDxzaGFkb3c+IGVsZW1lbnQg
dG8gZWFjaCBvZgorICAgICAgICB0aGVtLiBXZSBkb24ndCByZW1vdmUgU2hhZG93Um9vdHMgZnJv
bSB0aGUgdHJlZSBiZWNhdXNlIGl0J3Mgbm90CisgICAgICAgIHN1cHBvcnRlZCB3ZWxsLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRGaWVsZERlY29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZSk6CisgICAg
ICAgIElmIHRoZSBpbnB1dCBlbGVtZW50IGhhcyBhIFNoYWRvd1Jvb3Qgd2l0aCBzaW5nbGUgPHNo
YWRvdz4gY2hpbGQsIHdlCisgICAgICAgIGRvbid0IGNyZWF0ZSBuZXcgU2hhZG93Um9vdCBhbmQg
cmV1c2UgaXQuCisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6
ZGV0YWNoKToKKyAgICAgICAgQ2FsbCBkaWREZXRhY2goKSBieSBhIHRpbWVyIGJlY2F1c2Ugd2Ug
ZG9uJ3QgbGlrZSB0byBjYWxsCisgICAgICAgIFRleHRGaWVsZERlY29yYXRvcjo6ZGlkRGV0YWNo
KCkgaW4gdGhpcyBmdW5jdGlvbi4gIFdlIG5lZWQgdG8gZG8gcmVmKCkKKyAgICAgICAgdG8gYXZv
aWQgdGhpcyBvYmplY3QgaXMgZGVsZXRlZCBqdXN0IGFmdGVyIGRldGFjaCgpLgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRpZERldGFjaCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFRl
eHRGaWVsZERlY29yYXRvcik6IFJlbmFtZSB3aWxsRGV0YWNoKCkgdG8gZGlkRGV0YWNoKCkuCisg
ICAgICAgIChUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCk6IEFkZCBhIHRpbWVyIGNhbGxiYWNr
IGFuZCBhIHRpbWVyIG1lbWJlci4KKwogMjAxMi0wMy0yOSAgQWxleGFuZHJ1IENoaWN1bGl0YSAg
PGFjaGljdUBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBGaWx0ZXJzXSBUcmlnZ2VyIGEgcmVw
YWludCBvbiBlbGVtZW50cyB3aXRoIGNoYW5nZWQgZmlsdGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBmZjgxOWIzYjdmMGI4MWFmOTA4ZDQ0YzIwMDM2ZjRkYTM5ZTU2ZjZjLi5l
MjI4NWI3YWU0ZWRkZDIwZjI3YjIzNjczNThjZTY1NGNmMWI0NDA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTkwNCw2ICs5MDQsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaWRsIFwKKwkkKFdlYkNvcmUp
L2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL3Ry
YWNrL1RleHRUcmFjay5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUu
aWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGwgXApAQCAt
MjQ3NSw2ICsyNDc2LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSFRNTENvbnRlbnRTZWxlY3Rvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0hUTUxDb250ZW50U2VsZWN0b3IuaCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
SFRNTFNoYWRvd0VsZW1lbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1M
U2hhb2R3RWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Q
b2ludC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbHMuY3BwIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCAzZDA2MDkyYjA2NGI1MzQ1MGNiNzljMTI3Njg2NTQ0
N2UwNjQ5NzdhLi5kYzM4NmM4NzE2ZjUzY2NhMGNhN2Q1MTJjZWIwM2NmODQ0NTE4NWE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiRm9y
bURhdGFMaXN0LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxTaGFkb3dFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGlkZGVuSW5wdXRUeXBlLmgiCiAjaW5jbHVkZSAiSW1hZ2VJbnB1dFR5cGUuaCIKICNpbmNs
dWRlICJLZXlib2FyZEV2ZW50LmgiCkBAIC03MCw2ICs3MSw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKIHR5cGVkZWYgUGFzc093blB0cjxJbnB1dFR5cGU+ICgqSW5wdXRUeXBlRmFjdG9yeUZ1bmN0
aW9uKShIVE1MSW5wdXRFbGVtZW50Kik7CkBAIC0zODIsOCArMzg0LDE3IEBAIHZvaWQgSW5wdXRU
eXBlOjpkZXN0cm95U2hhZG93U3VidHJlZSgpCiAgICAgaWYgKCFlbGVtZW50KCktPmhhc1NoYWRv
d1Jvb3QoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBl
bGVtZW50KCktPnNoYWRvd1RyZWUoKS0+b2xkZXN0U2hhZG93Um9vdCgpKQorICAgIFNoYWRvd1Jv
b3QqIHJvb3QgPSBlbGVtZW50KCktPnNoYWRvd1RyZWUoKS0+b2xkZXN0U2hhZG93Um9vdCgpOwor
ICAgIEFTU0VSVChyb290KTsKKyAgICByb290LT5yZW1vdmVBbGxDaGlsZHJlbigpOworCisgICAg
Ly8gSXQncyBvayB0byBjbGVhciBjb250ZW50cyBvZiBhbGwgb3RoZXIgU2hhZG93Um9vdHMgYmVj
YXVzZSB0aGV5IG11c3QgaGF2ZQorICAgIC8vIGJlZW4gY3JlYXRlZCBieSBUZXh0RmllbGREZWNv
cmF0aW9uRWxlbWVudCwgYW5kIHdlIGRvbid0IGFsbG93IGFkZGluZworICAgIC8vIEF1dGhvclNo
YWRvd1Jvb3QgdG8gSFRNTElucHV0RWxlbWVudC4KKyAgICB3aGlsZSAoKHJvb3QgPSByb290LT55
b3VuZ2VyU2hhZG93Um9vdCgpKSkgewogICAgICAgICByb290LT5yZW1vdmVBbGxDaGlsZHJlbigp
OworICAgICAgICByb290LT5hcHBlbmRDaGlsZChIVE1MU2hhZG93RWxlbWVudDo6Y3JlYXRlKHNo
YWRvd1RhZywgZWxlbWVudCgpLT5kb2N1bWVudCgpKSk7CisgICAgfQogfQogCiBkb3VibGUgSW5w
dXRUeXBlOjpwYXJzZVRvRG91YmxlKGNvbnN0IFN0cmluZyYsIGRvdWJsZSBkZWZhdWx0VmFsdWUp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Rmll
bGREZWNvcmF0aW9uRWxlbWVudC5jcHAKaW5kZXggNDQ3MTVlNGIzNzM3ZmE4ZTBiN2VkYjkyMjQ0
YTc5YmRhYWQwYzgzMi4uZmNiMzUxNTNjYzU0MWU5MDVlNzgxNTBkNzc3ZWQwZGFkNmIzOGNhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlv
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERl
Y29yYXRpb25FbGVtZW50LmNwcApAQCAtNzAsNyArNzAsMTYgQEAgdm9pZCBUZXh0RmllbGREZWNv
cmF0aW9uRWxlbWVudDo6ZGVjb3JhdGUoSFRNTElucHV0RWxlbWVudCogaW5wdXQpCiB7CiAgICAg
QVNTRVJUKGlucHV0KTsKICAgICBTaGFkb3dSb290KiBleGlzdGluZ1Jvb3QgPSBpbnB1dC0+c2hh
ZG93VHJlZSgpLT55b3VuZ2VzdFNoYWRvd1Jvb3QoKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4g
bmV3Um9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZShpbnB1dCwgU2hhZG93Um9vdDo6Q3JlYXRpbmdV
c2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBTaGFkb3dSb290
KiBuZXdSb290ID0gMDsKKyAgICB3aGlsZSAoZXhpc3RpbmdSb290LT5jaGlsZE5vZGVDb3VudCgp
ID09IDEgJiYgZXhpc3RpbmdSb290LT5maXJzdENoaWxkKCktPmhhc1RhZ05hbWUoc2hhZG93VGFn
KSkgeworICAgICAgICBuZXdSb290ID0gZXhpc3RpbmdSb290OworICAgICAgICBleGlzdGluZ1Jv
b3QgPSBleGlzdGluZ1Jvb3QtPm9sZGVyU2hhZG93Um9vdCgpOworICAgICAgICBBU1NFUlQoZXhp
c3RpbmdSb290KTsKKyAgICB9CisgICAgaWYgKG5ld1Jvb3QpCisgICAgICAgIG5ld1Jvb3QtPnJl
bW92ZUNoaWxkKG5ld1Jvb3QtPmZpcnN0Q2hpbGQoKSk7CisgICAgZWxzZQorICAgICAgICBuZXdS
b290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKGlucHV0LCBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJB
Z2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pLmdldCgpOwogICAgIFJlZlB0cjxI
VE1MRGl2RWxlbWVudD4gYm94ID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShpbnB1dC0+ZG9jdW1l
bnQoKSk7CiAgICAgbmV3Um9vdC0+YXBwZW5kQ2hpbGQoYm94KTsKICAgICBib3gtPnNldElubGlu
ZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBDU1NWYWx1ZVdlYmtpdEJveCk7CkBA
IC0xMzgsOCArMTQ3LDE5IEBAIHZvaWQgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmF0dGFj
aCgpCiAKIHZvaWQgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ6OmRldGFjaCgpCiB7Ci0gICAg
bV90ZXh0RmllbGREZWNvcmF0b3ItPndpbGxEZXRhY2goaG9zdElucHV0KCkpOwogICAgIEhUTUxE
aXZFbGVtZW50OjpkZXRhY2goKTsKKyAgICBpZiAoIW1fdGltZXIpCisgICAgICAgIG1fdGltZXIg
PSBhZG9wdFB0cihuZXcgVGltZXI8VGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQ+KHRoaXMsICZU
ZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6ZGlkRGV0YWNoKSk7CisgICAgZWxzZSBpZiAobV90
aW1lci0+aXNBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHJlZigpOworICAgIG1fdGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKK30KKwordm9pZCBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVu
dDo6ZGlkRGV0YWNoKFRpbWVyPFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50PiopCit7CisgICAg
bV90ZXh0RmllbGREZWNvcmF0b3ItPmRpZERldGFjaChob3N0SW5wdXQoKSk7CisgICAgZGVyZWYo
KTsKIH0KIAogYm9vbCBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJs
ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Rmll
bGREZWNvcmF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQuaAppbmRleCAwMjBmMmE1MGFhOGE4MzU1YzZmNDA4MGU1NGRj
NzE4NGFhMzRkNzJlLi5iNmU3YmNkMDQ3NzljMGM0NjE1YTkzZTM5NWQxZGVhNzNmMTBmOGE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9u
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29y
YXRpb25FbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgVGV4dEZpZWxkRGVjb3Jh
dGlvbkVsZW1lbnRfaAogCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJU
aW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUyLDcgKzUzLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgQ2FjaGVkSW1hZ2UqIGltYWdlRm9yUmVhZG9ubHlTdGF0ZSgpID0gMDsK
IAogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDbGljayhIVE1MSW5wdXRFbGVtZW50KikgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCB3aWxsRGV0YWNoKEhUTUxJbnB1dEVsZW1lbnQqKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGRpZERldGFjaChIVE1MSW5wdXRFbGVtZW50KikgPSAwOwogCiAgICAgdmly
dHVhbCB+VGV4dEZpZWxkRGVjb3JhdG9yKCk7CiB9OwpAQCAtNzcsOCArNzgsMTAgQEAgcHJpdmF0
ZToKIAogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGhvc3RJbnB1dCgpOwogICAgIHZvaWQgdXBkYXRl
SW1hZ2UoKTsKKyAgICB2b2lkIGRpZERldGFjaChUaW1lcjxUZXh0RmllbGREZWNvcmF0aW9uRWxl
bWVudD4qKTsKIAogICAgIFRleHRGaWVsZERlY29yYXRvciogbV90ZXh0RmllbGREZWNvcmF0b3I7
CisgICAgT3duUHRyPFRpbWVyPFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50PiA+IG1fdGltZXI7
CiB9OwogCiBpbmxpbmUgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQqIHRvVGV4dEZpZWxkRGVj
b3JhdGlvbkVsZW1lbnQoTm9kZSogbm9kZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134752</attachid>
            <date>2012-03-30 02:27:37 -0700</date>
            <delta_ts>2012-03-30 09:00:58 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-82693-20120330182736.patch</filename>
            <type>text/plain</type>
            <size>7285</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JmOTNjYmNiY2ZiY2Nj
MDA0YTFjMzQ1ZGUyMDdkMDE3NDE2ZWY3ZS4uMDJmYzVhYWRmNDY3N2U1OGE0NTM1MjExM2M2MjYx
NmM4ZDhiNmUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTAzLTI5ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggc29tZSBwcm9ibGVt
cyBvZiB0ZXh0IGZpZWxkIGRlY29yYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyNjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBGaXggYSBwcm9ibGVtIHRoYXQgZGVjb3JhdGlvbnMgYXJlIG5v
dCByZW1vdmVkIHdoZW4gdGhlIGlucHV0IHR5cGUgaXMKKyAgICAgICAgY2hhbmdlZC4KKyAgICAg
ICAgLSBBZGQgYSBjb21tZW50IHRvIHRoZSAnd2lsbERldGFjaCcgY2FsbGJhY2suCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlIGJlaGF2aW9yIGNoYW5nZXMgYXJlIG5vdCB2aXNp
YmxlIHlldC4KKworICAgICAgICAqIEdOVU1ha2VmaWxlLmxpc3QuYW06IEFkZCBIVE1MU2hhZG93
RWxlbWVudC4qLgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUpOgorICAgICAgICBSZW1vdmUgYWxs
IG9mIFNoYWRvd1Jvb3QgY29udGVudHMsIGFuZCBhZGQgYSA8c2hhZG93PiBlbGVtZW50IHRvIGVh
Y2ggb2YKKyAgICAgICAgdGhlbS4gV2UgZG9uJ3QgcmVtb3ZlIFNoYWRvd1Jvb3RzIGZyb20gdGhl
IHRyZWUgYmVjYXVzZSBpdCdzIG5vdAorICAgICAgICBzdXBwb3J0ZWQgd2VsbC4KKyAgICAgICAg
KiBodG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChn
ZXREZWNvcmF0aW9uUm9vdEFuZERlY29yYXRlZFJvb3QpOiBBIGhlbHBlciBmdW5jdGlvbiBmb3Ig
ZGVjb3JhdGUoKS4KKyAgICAgICAgSWYgdGhlIGlucHV0IGVsZW1lbnQgaGFzIGEgU2hhZG93Um9v
dCB3aXRoIHNpbmdsZSA8c2hhZG93PiBjaGlsZCwgd2UKKyAgICAgICAgZG9uJ3QgY3JlYXRlIG5l
dyBTaGFkb3dSb290IGFuZCByZXVzZSBpdC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZERl
Y29yYXRpb25FbGVtZW50OjpkZWNvcmF0ZSk6CisgICAgICAgIFVzZSBnZXREZWNvcmF0aW9uUm9v
dEFuZERlY29yYXRlZFJvb3QoKS4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9UZXh0RmllbGREZWNv
cmF0aW9uRWxlbWVudC5oOgorICAgICAgICAoVGV4dEZpZWxkRGVjb3JhdG9yKTogQWRkIGEgY29t
bWVudCB0byB3aWxsRGV0YWNoKCkuCisKIDIwMTItMDMtMjkgIEFsZXhhbmRydSBDaGljdWxpdGEg
IDxhY2hpY3VAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRmlsdGVyc10gVHJpZ2dlciBhIHJl
cGFpbnQgb24gZWxlbWVudHMgd2l0aCBjaGFuZ2VkIGZpbHRlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggZmY4MTliM2I3ZjBiODFhZjkwOGQ0NGMyMDAzNmY0ZGEzOWU1NmY2Yy4u
ZTIyODViN2FlNGVkZGQyMGYyN2IyMzY3MzU4Y2U2NTRjZjFiNDQwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCkBAIC05MDQsNiArOTA0LDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBc
CiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwgXAogCSQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwgXAogCSQo
V2ViQ29yZSkvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmlkbCBcCisJJChXZWJDb3Jl
KS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC90
cmFjay9UZXh0VHJhY2suaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRsIFwKQEAg
LTI0NzUsNiArMjQ3Niw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0hUTUxDb250ZW50U2VsZWN0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9IVE1MQ29udGVudFNlbGVjdG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0hUTUxTaGFkb3dFbGVtZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TFNoYW9kd0VsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9u
UG9pbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmNwcCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggM2QwNjA5MmIwNjRiNTM0NTBjYjc5YzEyNzY4NjU0
NDdlMDY0OTc3YS4uZGMzODZjODcxNmY1M2NjYTBjYTdkNTEyY2ViMDNjZjg0NDUxODVhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkZv
cm1EYXRhTGlzdC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MU2hhZG93RWxlbWVudC5oIgogI2luY2x1
ZGUgIkhpZGRlbklucHV0VHlwZS5oIgogI2luY2x1ZGUgIkltYWdlSW5wdXRUeXBlLmgiCiAjaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5oIgpAQCAtNzAsNiArNzEsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiB0eXBlZGVmIFBhc3NPd25QdHI8SW5wdXRUeXBlPiAoKklucHV0VHlwZUZhY3RvcnlGdW5j
dGlvbikoSFRNTElucHV0RWxlbWVudCopOwpAQCAtMzgyLDggKzM4NCwxNyBAQCB2b2lkIElucHV0
VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIGlmICghZWxlbWVudCgpLT5oYXNTaGFk
b3dSb290KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChTaGFkb3dSb290KiByb290ID0g
ZWxlbWVudCgpLT5zaGFkb3dUcmVlKCktPm9sZGVzdFNoYWRvd1Jvb3QoKSkKKyAgICBTaGFkb3dS
b290KiByb290ID0gZWxlbWVudCgpLT5zaGFkb3dUcmVlKCktPm9sZGVzdFNoYWRvd1Jvb3QoKTsK
KyAgICBBU1NFUlQocm9vdCk7CisgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKworICAg
IC8vIEl0J3Mgb2sgdG8gY2xlYXIgY29udGVudHMgb2YgYWxsIG90aGVyIFNoYWRvd1Jvb3RzIGJl
Y2F1c2UgdGhleSBtdXN0IGhhdmUKKyAgICAvLyBiZWVuIGNyZWF0ZWQgYnkgVGV4dEZpZWxkRGVj
b3JhdGlvbkVsZW1lbnQsIGFuZCB3ZSBkb24ndCBhbGxvdyBhZGRpbmcKKyAgICAvLyBBdXRob3JT
aGFkb3dSb290IHRvIEhUTUxJbnB1dEVsZW1lbnQuCisgICAgd2hpbGUgKChyb290ID0gcm9vdC0+
eW91bmdlclNoYWRvd1Jvb3QoKSkpIHsKICAgICAgICAgcm9vdC0+cmVtb3ZlQWxsQ2hpbGRyZW4o
KTsKKyAgICAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShz
aGFkb3dUYWcsIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSkpOworICAgIH0KIH0KIAogZG91YmxlIElu
cHV0VHlwZTo6cGFyc2VUb0RvdWJsZShjb25zdCBTdHJpbmcmLCBkb3VibGUgZGVmYXVsdFZhbHVl
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxk
RGVjb3JhdGlvbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZp
ZWxkRGVjb3JhdGlvbkVsZW1lbnQuY3BwCmluZGV4IDQ0NzE1ZTRiMzczN2ZhOGUwYjdlZGI5MjI0
NGE3OWJkYWFkMGM4MzIuLjBiMDBjOTVlOGZkYTNiNzkzZGY4NTNlZjk2ZGIyOTE0NjUyMzhjYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRp
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGRE
ZWNvcmF0aW9uRWxlbWVudC5jcHAKQEAgLTY2LDE2ICs2NiwzNSBAQCBQYXNzUmVmUHRyPFRleHRG
aWVsZERlY29yYXRpb25FbGVtZW50PiBUZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudDo6Y3JlYXRl
KERvY3VtZQogICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1l
bnQoZG9jdW1lbnQsIGRlY29yYXRvcikpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgZ2V0RGVj
b3JhdGlvblJvb3RBbmREZWNvcmF0ZWRSb290KEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0LCBTaGFk
b3dSb290KiYgZGVjb3JhdGlvblJvb3QsIFNoYWRvd1Jvb3QqJiBkZWNvcmF0ZWRSb290KQorewor
ICAgIFNoYWRvd1Jvb3QqIGV4aXN0aW5nUm9vdCA9IGlucHV0LT5zaGFkb3dUcmVlKCktPnlvdW5n
ZXN0U2hhZG93Um9vdCgpOworICAgIFNoYWRvd1Jvb3QqIG5ld1Jvb3QgPSAwOworICAgIHdoaWxl
IChleGlzdGluZ1Jvb3QtPmNoaWxkTm9kZUNvdW50KCkgPT0gMSAmJiBleGlzdGluZ1Jvb3QtPmZp
cnN0Q2hpbGQoKS0+aGFzVGFnTmFtZShzaGFkb3dUYWcpKSB7CisgICAgICAgIG5ld1Jvb3QgPSBl
eGlzdGluZ1Jvb3Q7CisgICAgICAgIGV4aXN0aW5nUm9vdCA9IGV4aXN0aW5nUm9vdC0+b2xkZXJT
aGFkb3dSb290KCk7CisgICAgICAgIEFTU0VSVChleGlzdGluZ1Jvb3QpOworICAgIH0KKyAgICBp
ZiAobmV3Um9vdCkKKyAgICAgICAgbmV3Um9vdC0+cmVtb3ZlQ2hpbGQobmV3Um9vdC0+Zmlyc3RD
aGlsZCgpKTsKKyAgICBlbHNlCisgICAgICAgIG5ld1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUo
aW5wdXQsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5nVXNlckFnZW50U2hhZG93Um9vdCwgQVNTRVJUX05P
X0VYQ0VQVElPTikuZ2V0KCk7CisgICAgZGVjb3JhdGlvblJvb3QgPSBuZXdSb290OworICAgIGRl
Y29yYXRlZFJvb3QgPSBleGlzdGluZ1Jvb3Q7Cit9CisKIHZvaWQgVGV4dEZpZWxkRGVjb3JhdGlv
bkVsZW1lbnQ6OmRlY29yYXRlKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0KQogewogICAgIEFTU0VS
VChpbnB1dCk7Ci0gICAgU2hhZG93Um9vdCogZXhpc3RpbmdSb290ID0gaW5wdXQtPnNoYWRvd1Ry
ZWUoKS0+eW91bmdlc3RTaGFkb3dSb290KCk7Ci0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IG5ld1Jv
b3QgPSBTaGFkb3dSb290OjpjcmVhdGUoaW5wdXQsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5nVXNlckFn
ZW50U2hhZG93Um9vdCwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgU2hhZG93Um9vdCogZXhp
c3RpbmdSb290OworICAgIFNoYWRvd1Jvb3QqIGRlY29yYXRpb25Sb290OworICAgIGdldERlY29y
YXRpb25Sb290QW5kRGVjb3JhdGVkUm9vdChpbnB1dCwgZGVjb3JhdGlvblJvb3QsIGV4aXN0aW5n
Um9vdCk7CisgICAgQVNTRVJUKGRlY29yYXRpb25Sb290KTsKKyAgICBBU1NFUlQoZXhpc3RpbmdS
b290KTsKICAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+IGJveCA9IEhUTUxEaXZFbGVtZW50Ojpj
cmVhdGUoaW5wdXQtPmRvY3VtZW50KCkpOwotICAgIG5ld1Jvb3QtPmFwcGVuZENoaWxkKGJveCk7
CisgICAgZGVjb3JhdGlvblJvb3QtPmFwcGVuZENoaWxkKGJveCk7CiAgICAgYm94LT5zZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVXZWJraXRCb3gpOwog
ICAgIGJveC0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEJveEFsaWdu
LCBDU1NWYWx1ZUNlbnRlcik7Ci0gICAgQVNTRVJUKGV4aXN0aW5nUm9vdCk7CiAgICAgQVNTRVJU
KGV4aXN0aW5nUm9vdC0+Y2hpbGROb2RlQ291bnQoKSA9PSAxKTsKICAgICB0b0hUTUxFbGVtZW50
KGV4aXN0aW5nUm9vdC0+Zmlyc3RDaGlsZCgpKS0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVdlYmtpdEJveEZsZXgsIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIp
OwogICAgIGJveC0+YXBwZW5kQ2hpbGQoSFRNTFNoYWRvd0VsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OnNoYWRvd1RhZywgaW5wdXQtPmRvY3VtZW50KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5oCmluZGV4IDAy
MGYyYTUwYWE4YTgzNTVjNmY0MDgwZTU0ZGM3MTg0YWEzNGQ3MmUuLmIzNGU3YjVhYTk2ZjM0Yzc3
MDc3Mjk5NTY5NzFhMjI2ZWFkNzAwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuaApAQCAtNTIsNiArNTIsOSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBDYWNoZWRJbWFnZSogaW1hZ2VGb3JSZWFkb25seVN0YXRl
KCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNsaWNrKEhUTUxJbnB1dEVsZW1lbnQq
KSA9IDA7CisgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQganVzdCBiZWZvcmUgZGV0YWNo
aW5nIHRoZSBkZWNvcmF0aW9uLiBJdCBtdXN0IG5vdAorICAgIC8vIGNhbGwgZnVuY3Rpb25zIHdo
aWNoIHVwZGF0aW5nIHN0YXRlIG9mIHRoZSBzcGVjaWZpZWQgSFRNTElucHV0RWxlbWVudAorICAg
IC8vIG9iamVjdC4KICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFjaChIVE1MSW5wdXRFbGVtZW50
KikgPSAwOwogCiAgICAgdmlydHVhbCB+VGV4dEZpZWxkRGVjb3JhdG9yKCk7Cg==
</data>
<flag name="review"
          id="139079"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>