<?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>63511</bug_id>
          
          <creation_ts>2011-06-27 23:07:22 -0700</creation_ts>
          <short_desc>Use RefPtr for the HTMLElement data members of TextFieldInptType and SearchInputType</short_desc>
          <delta_ts>2011-06-28 02:21: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>All</rep_platform>
          <op_sys>All</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>61415</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>428647</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-27 23:07:22 -0700</bug_when>
    <thetext>Use RefPtr for the HTMLElement data members of TextFieldInptType and SearchInputType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428657</commentid>
    <comment_count>1</comment_count>
      <attachid>98865</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-27 23:33:47 -0700</bug_when>
    <thetext>Created attachment 98865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428690</commentid>
    <comment_count>2</comment_count>
      <attachid>98874</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-28 00:43:15 -0700</bug_when>
    <thetext>Created attachment 98874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428707</commentid>
    <comment_count>3</comment_count>
      <attachid>98874</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-28 01:15:27 -0700</bug_when>
    <thetext>Comment on attachment 98874
Patch

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

&gt; Source/WebCore/html/TextFieldInputType.cpp:139
&gt; +    bool shouldHaveSpinButton = theme-&gt;shouldHaveSpinButton(element());

Why do we need this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428709</commentid>
    <comment_count>4</comment_count>
      <attachid>98874</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-28 01:18:14 -0700</bug_when>
    <thetext>Comment on attachment 98874
Patch

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

Thank you for reviewing.

&gt;&gt; Source/WebCore/html/TextFieldInputType.cpp:139
&gt;&gt; +    bool shouldHaveSpinButton = theme-&gt;shouldHaveSpinButton(element());
&gt; 
&gt; Why do we need this change?

RenderTheme::themeForPage() might create a new RenderTheme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428726</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-28 01:45:05 -0700</bug_when>
    <thetext>&gt; RenderTheme::themeForPage() might create a new RenderTheme.
Got it. Thank you for the explanation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428749</commentid>
    <comment_count>6</comment_count>
      <attachid>98874</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 02:21:12 -0700</bug_when>
    <thetext>Comment on attachment 98874
Patch

Clearing flags on attachment: 98874

Committed r89910: &lt;http://trac.webkit.org/changeset/89910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428750</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-28 02:21:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98865</attachid>
            <date>2011-06-27 23:33:47 -0700</date>
            <delta_ts>2011-06-28 00:43:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63511-20110628153346.patch</filename>
            <type>text/plain</type>
            <size>12779</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4OTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOTJiZjc4YmJlMTkyMjlh
NDJkMzg1ZDU0OWYyZGY4NDI1ZGE4ZWVkLi4zODMzYjI2MjM3MGQ4OTkwYzkzYzc1NjZiMTBiZDc3
ZTI4OTc1MzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTEtMDYtMjcgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVzZSBSZWZQdHIgZm9yIHRoZSBIVE1MRWxlbWVudCBkYXRh
IG1lbWJlcnMgb2YgVGV4dEZpZWxkSW5wdFR5cGUKKyAgICAgICAgYW5kIFNlYXJjaElucHV0VHlw
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTEx
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugb2Ygbm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VhcmNoSW5wdXRUeXBlOjpTZWFyY2hJbnB1dFR5cGUpOgorICAgICAgICBObyBuZWVkIHRvIGlu
aXRpYWxpemUgdGhlIGVsZW1lbnQgbWVtYmVycyBleHBsaWNpdGx5IGJlY2F1c2UKKyAgICAgICAg
UmVmUHRyIGNvbnN0cnVjdG9yIHdvcmtzIHdlbGwuCisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOgorICAgICAgICBTdWJzdGl0dXRlIGFuIGVs
ZW1lbnQgdG8gYSBkYXRhIG1lbWJlciwgYW5kIGRvbid0IGNhbGwgUmVmUHRyPD46OnJlbGVhc2Uo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaElucHV0VHlwZTo6aW5uZXJCbG9ja0VsZW1lbnQp
OgorICAgICAgICBNb3ZlZCBmcm9tIHRoZSBoZWFkZXIgZmlsZSwgYW5kIGFkanVzdG1lbnQgZm9y
IFJlZlB0cjw+LgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBlOjpyZXN1bHRzQnV0
dG9uRWxlbWVudCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBlOjpj
YW5jZWxCdXR0b25FbGVtZW50KTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1
dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgIEFkanVzdG1lbnQgZm9yIFJl
ZlB0cjw+LgorICAgICAgICAqIGh0bWwvU2VhcmNoSW5wdXRUeXBlLmg6CisgICAgICAgICAtIE1v
dmUgYWNjZXNzb3IgZnVuY3Rpb25zIHRvIHRoZSBjcHAgZmlsZSBiZWNhdXNlIHRoZXkgYXJlIHZp
cnR1YWwuCisgICAgICAgICAtIENoYW5nZSBlbGVtZW50IGRhdGEgbWVtYmVyIHR5cGVzOiBIVE1M
RWxlbWVudCogLT4gUmVmUHRyPEhUTUxFbGVtZW50Pi4KKyAgICAgICAgKiBodG1sL1RleHRGaWVs
ZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OlRl
eHRGaWVsZElucHV0VHlwZSk6CisgICAgICAgIE5vIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZWxl
bWVudCBtZW1iZXJzIGV4cGxpY2l0bHkgYmVjYXVzZQorICAgICAgICBSZWZQdHIgY29uc3RydWN0
b3Igd29ya3Mgd2VsbC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6flRl
eHRGaWVsZElucHV0VHlwZSk6CisgICAgICAgIEV4cGxpY2l0eWx5IGRlZmluZXMgdGhlIGRlc3Ry
dWN0b3IgaW4gdGhlIGNwcCBmaWxlIHRvIGF2b2lkIHRvCisgICAgICAgIG1ha2UgaXQgaW1wbGlj
aXRseSBpbiB0aGUgaGVhZGVyIGZpbGUuIElmIHRoZSBkZXN0cnVjdG9yIHdhcyBtYWRlCisgICAg
ICAgIGluIHRoZSBoZWFkZXIgZmlsZSwgd2Ugd291bGQgbmVlZCB0byBpbmNsdWRlIEhUTUxFbGVt
ZW50LmggaW4gdGhlCisgICAgICAgIGhlYWRlciBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgLSBEb24ndCBj
YWxsIFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UoKS4KKyAgICAgICAgLSBTdWJzdGl0dXRlIGFu
IGVsZW1lbnQgdG8gYSBkYXRhIG1lbWJlciwgYW5kIGRvbid0IGNhbGwgUmVmUHRyPD46OnJlbGVh
c2UoKS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c2V0SW5uZXJUZXh0
RWxlbWVudCk6CisgICAgICAgICBNb3ZlZCBmcm9tIHRoZSBoZWFkZXIgZmlsZSB0byBhdm9pZCB0
byBpbmNsdWRlIEhUTUxFbGVtZW50LmguCisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1
dFR5cGU6OnNldFNwZWVjaEJ1dHRvbkVsZW1lbnQpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlRleHRGaWVsZElucHV0VHlwZTo6aW5uZXJUZXh0RWxlbWVudCk6CisgICAgICAgIE1vdmVkIGZy
b20gdGhlIGhlYWRlciBmaWxlLCBhbmQgYWRqdXN0bWVudCBmb3IgUmVmUHRyPD4uCisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQpOiBk
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c3BlZWNoQnV0dG9u
RWxlbWVudCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpk
ZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgICBBZGp1c3RtZW50IGZvciBSZWZQdHI8Pi4K
KyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5oOgorICAgICAgICAgLSBNb3ZlIGFj
Y2Vzc29yIGZ1bmN0aW9ucyB0byB0aGUgY3BwIGZpbGUgYmVjYXVzZSB0aGV5IGFyZSB2aXJ0dWFs
LgorICAgICAgICAgLSBDaGFuZ2UgZWxlbWVudCBkYXRhIG1lbWJlciB0eXBlczogSFRNTEVsZW1l
bnQqIC0+IFJlZlB0cjxIVE1MRWxlbWVudD4uCisKIDIwMTEtMDYtMjcgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggc3R5
bGUgZXJyb3IgcmVsYXRlZCB0byB3cm9uZyBpbmNsdWRlIG9yZGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IDZmZWRkZWFmYmYxY2QzMTZiZjJiOTYyYmI2OTE3
OGExODk5NjdjNmEuLjMzN2RjMzU5MTBmNzQ4N2Y0YTBjMDVjNDllMWNkZTljZWE5ZjAxYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTQwLDkgKzQwLDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgU2VhcmNoSW5wdXRUeXBlOjpTZWFyY2hJbnB1
dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICA6IEJhc2VUZXh0SW5wdXRUeXBl
KGVsZW1lbnQpCi0gICAgLCBtX2lubmVyQmxvY2soMCkKLSAgICAsIG1fcmVzdWx0c0J1dHRvbigw
KQotICAgICwgbV9jYW5jZWxCdXR0b24oMCkKIHsKIH0KIApAQCAtNzUsMzcgKzcyLDQ3IEBAIHZv
aWQgU2VhcmNoSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIAogICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQoKS0+ZG9jdW1l
bnQoKTsKLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyID0gVGV4dENvbnRyb2xJbm5lckVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgbV9pbm5lckJsb2NrID0gaW5uZXIuZ2V0KCk7
Ci0gICAgZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKGlubmVyLnJl
bGVhc2UoKSwgZWMpOworICAgIG1faW5uZXJCbG9jayA9IFRleHRDb250cm9sSW5uZXJFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGVsZW1lbnQoKS0+ZW5zdXJlU2hhZG93Um9vdCgpLT5h
cHBlbmRDaGlsZChtX2lubmVyQmxvY2ssIGVjKTsKIAogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gp
CiAgICAgaWYgKGVsZW1lbnQoKS0+aXNTcGVlY2hFbmFibGVkKCkpIHsKLSAgICAgICAgUmVmUHRy
PEhUTUxFbGVtZW50PiBzcGVlY2ggPSBJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50KTsKLSAgICAgICAgc2V0U3BlZWNoQnV0dG9uRWxlbWVudChzcGVlY2guZ2V0
KCkpOwotICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQo
c3BlZWNoLnJlbGVhc2UoKSwgZWMpOworICAgICAgICBzZXRTcGVlY2hCdXR0b25FbGVtZW50KElu
cHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpKTsKKyAgICAgICAg
ZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNwZWVjaEJ1dHRvbkVs
ZW1lbnQoKSwgZWMpOwogICAgIH0KICNlbmRpZgogCi0gICAgUmVmUHRyPEhUTUxFbGVtZW50PiBy
ZXN1bHRzID0gU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
KTsKLSAgICBtX3Jlc3VsdHNCdXR0b24gPSByZXN1bHRzLmdldCgpOwotICAgIG1faW5uZXJCbG9j
ay0+YXBwZW5kQ2hpbGQocmVzdWx0cy5yZWxlYXNlKCksIGVjKTsKKyAgICBtX3Jlc3VsdHNCdXR0
b24gPSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwor
ICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQobV9yZXN1bHRzQnV0dG9uLCBlYyk7CiAKLSAg
ICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyVGV4dCA9IFRleHRDb250cm9sSW5uZXJUZXh0RWxl
bWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLSAgICBzZXRJbm5lclRleHRFbGVtZW50KGlubmVyVGV4
dC5nZXQoKSk7Ci0gICAgbV9pbm5lckJsb2NrLT5hcHBlbmRDaGlsZChpbm5lclRleHQucmVsZWFz
ZSgpLCBlYyk7CisgICAgc2V0SW5uZXJUZXh0RWxlbWVudChUZXh0Q29udHJvbElubmVyVGV4dEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCkpOworICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQo
aW5uZXJUZXh0RWxlbWVudCgpLCBlYyk7CiAKLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGNhbmNl
bCA9IFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKSk7Ci0gICAgbV9jYW5jZWxCdXR0b24gPSBjYW5jZWwuZ2V0KCk7Ci0gICAgbV9pbm5l
ckJsb2NrLT5hcHBlbmRDaGlsZChjYW5jZWwucmVsZWFzZSgpLCBlYyk7CisgICAgbV9jYW5jZWxC
dXR0b24gPSBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KCkt
PmRvY3VtZW50KCkpOworICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQobV9jYW5jZWxCdXR0
b24sIGVjKTsKK30KKworSFRNTEVsZW1lbnQqIFNlYXJjaElucHV0VHlwZTo6aW5uZXJCbG9ja0Vs
ZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2lubmVyQmxvY2suZ2V0KCk7Cit9CisKK0hU
TUxFbGVtZW50KiBTZWFyY2hJbnB1dFR5cGU6OnJlc3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9yZXN1bHRzQnV0dG9uLmdldCgpOworfQorCitIVE1MRWxlbWVudCog
U2VhcmNoSW5wdXRUeXBlOjpjYW5jZWxCdXR0b25FbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9jYW5jZWxCdXR0b24uZ2V0KCk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpkZXN0
cm95U2hhZG93U3VidHJlZSgpCiB7CiAgICAgVGV4dEZpZWxkSW5wdXRUeXBlOjpkZXN0cm95U2hh
ZG93U3VidHJlZSgpOwotICAgIG1faW5uZXJCbG9jayA9IDA7Ci0gICAgbV9yZXN1bHRzQnV0dG9u
ID0gMDsKLSAgICBtX2NhbmNlbEJ1dHRvbiA9IDA7CisgICAgbV9pbm5lckJsb2NrLmNsZWFyKCk7
CisgICAgbV9yZXN1bHRzQnV0dG9uLmNsZWFyKCk7CisgICAgbV9jYW5jZWxCdXR0b24uY2xlYXIo
KTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaAppbmRleCBjMTMwZDNj
MTk0YjZjNjQwZDNlZTYyNDRjMzE1NzM5ZmIzNGExZmM3Li42ZDQzYTNjNjkxOTRmNzkzMDg2ZWY5
MDM2ZTNlNGU4N2FlMmJjNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgK
QEAgLTUxLDEzICs1MSwxMyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVz
cGVjdFNwZWVjaEF0dHJpYnV0ZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJCbG9ja0VsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX2lubmVyQmxvY2s7IH0KLSAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiByZXN1
bHRzQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0c0J1dHRvbjsgfQotICAg
IHZpcnR1YWwgSFRNTEVsZW1lbnQqIGNhbmNlbEJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX2NhbmNlbEJ1dHRvbjsgfQorICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyQmxvY2tF
bGVtZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogcmVzdWx0c0J1dHRvbkVs
ZW1lbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBjYW5jZWxCdXR0b25FbGVt
ZW50KCkgY29uc3Q7CiAKLSAgICBIVE1MRWxlbWVudCogbV9pbm5lckJsb2NrOwotICAgIEhUTUxF
bGVtZW50KiBtX3Jlc3VsdHNCdXR0b247Ci0gICAgSFRNTEVsZW1lbnQqIG1fY2FuY2VsQnV0dG9u
OworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9pbm5lckJsb2NrOworICAgIFJlZlB0cjxIVE1M
RWxlbWVudD4gbV9yZXN1bHRzQnV0dG9uOworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9jYW5j
ZWxCdXR0b247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKaW5kZXggMTliYmRlZjVkMWM0OTA3MTA5ZTY4ZmE5
MjRmYWQyY2U0MjUzOTQ4MC4uODZhZGRlNTU4ZjE2MzM1YzRkZGEyM2VlOTFiZjE2Y2NkYjNlY2E5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhl
bWUuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCkBAIC00OSwxMSArNTAsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBUZXh0RmllbGRJbnB1dFR5cGU6OlRleHRGaWVsZElucHV0VHlwZShI
VE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDogSW5wdXRUeXBlKGVsZW1lbnQpCi0gICAg
LCBtX2lubmVyVGV4dCgwKQotICAgICwgbV9pbm5lclNwaW5CdXR0b24oMCkKLSNpZiBFTkFCTEUo
SU5QVVRfU1BFRUNIKQotICAgICwgbV9zcGVlY2hCdXR0b24oMCkKLSNlbmRpZgoreworfQorCitU
ZXh0RmllbGRJbnB1dFR5cGU6On5UZXh0RmllbGRJbnB1dFR5cGUoKQogewogfQogCkBAIC0xMzQs
NyArMTM0LDkgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUo
KQogICAgIEFTU0VSVCghbV9pbm5lclRleHQpOwogICAgIEFTU0VSVCghbV9pbm5lclNwaW5CdXR0
b24pOwogCi0gICAgYm9vbCBzaG91bGRIYXZlU3BpbkJ1dHRvbiA9IFJlbmRlclRoZW1lOjp0aGVt
ZUZvclBhZ2UoZWxlbWVudCgpLT5kb2N1bWVudCgpLT5wYWdlKCkpLT5zaG91bGRIYXZlU3BpbkJ1
dHRvbihlbGVtZW50KCkpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKTsKKyAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQtPnBhZ2Uo
KSA/IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1l
KCk7CisgICAgYm9vbCBzaG91bGRIYXZlU3BpbkJ1dHRvbiA9IHRoZW1lLT5zaG91bGRIYXZlU3Bp
bkJ1dHRvbihlbGVtZW50KCkpOwogICAgIGJvb2wgaGFzRGVjb3JhdGlvbnMgPSBzaG91bGRIYXZl
U3BpbkJ1dHRvbjsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIGlmIChlbGVtZW50KCkt
PmlzU3BlZWNoRW5hYmxlZCgpKQpAQCAtMTQyLDM3ICsxNDQsNjIgQEAgdm9pZCBUZXh0RmllbGRJ
bnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogI2VuZGlmCiAKICAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBlbGVtZW50KCktPmRvY3VtZW50
KCk7Ci0gICAgUmVmUHRyPEhUTUxFbGVtZW50PiBpbm5lclRleHQgPSBUZXh0Q29udHJvbElubmVy
VGV4dEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgbV9pbm5lclRleHQgPSBpbm5lclRl
eHQuZ2V0KCk7Ci0gICAgZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxk
KGlubmVyVGV4dC5yZWxlYXNlKCksIGVjKTsKKyAgICBtX2lubmVyVGV4dCA9IFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAgICBlbGVtZW50KCktPmVuc3Vy
ZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQobV9pbm5lclRleHQsIGVjKTsKICAgICBpZiAoIWhh
c0RlY29yYXRpb25zKQogICAgICAgICByZXR1cm47CiAKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNI
KQogICAgIEFTU0VSVCghbV9zcGVlY2hCdXR0b24pOwogICAgIGlmIChlbGVtZW50KCktPmlzU3Bl
ZWNoRW5hYmxlZCgpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gc3BlZWNoID0gSW5w
dXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgICAgIG1f
c3BlZWNoQnV0dG9uID0gc3BlZWNoLmdldCgpOwotICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNo
YWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoc3BlZWNoLnJlbGVhc2UoKSwgZWMpOworICAgICAgICBt
X3NwZWVjaEJ1dHRvbiA9IElucHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQpOworICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hp
bGQobV9zcGVlY2hCdXR0b24sIGVjKTsKICAgICB9CiAjZW5kaWYKIAogICAgIGlmIChzaG91bGRI
YXZlU3BpbkJ1dHRvbikgewotICAgICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyID0gU3Bp
bkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgICAgIG1faW5uZXJTcGluQnV0
dG9uID0gaW5uZXIuZ2V0KCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+ZW5zdXJlU2hhZG93Um9vdCgp
LT5hcHBlbmRDaGlsZChpbm5lci5yZWxlYXNlKCksIGVjKTsKKyAgICAgICAgbV9pbm5lclNwaW5C
dXR0b24gPSBTcGluQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAgICAgICAgZWxl
bWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKG1faW5uZXJTcGluQnV0dG9u
LCBlYyk7CiAgICAgfQogfQogCit2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6c2V0SW5uZXJUZXh0
RWxlbWVudChQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQoreworICAgIG1faW5uZXJU
ZXh0ID0gZWxlbWVudDsKK30KKworI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCit2b2lkIFRleHRG
aWVsZElucHV0VHlwZTo6c2V0U3BlZWNoQnV0dG9uRWxlbWVudChQYXNzUmVmUHRyPEhUTUxFbGVt
ZW50PiBlbGVtZW50KQoreworICAgIG1fc3BlZWNoQnV0dG9uID0gZWxlbWVudDsKK30KKyNlbmRp
ZgorCitIVE1MRWxlbWVudCogVGV4dEZpZWxkSW5wdXRUeXBlOjppbm5lclRleHRFbGVtZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9pbm5lclRleHQuZ2V0KCk7Cit9CisKK0hUTUxFbGVtZW50
KiBUZXh0RmllbGRJbnB1dFR5cGU6OmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2lubmVyU3BpbkJ1dHRvbi5nZXQoKTsKK30KKworI2lmIEVOQUJMRShJTlBV
VF9TUEVFQ0gpCitIVE1MRWxlbWVudCogVGV4dEZpZWxkSW5wdXRUeXBlOjpzcGVlY2hCdXR0b25F
bGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zcGVlY2hCdXR0b24uZ2V0KCk7Cit9Cisj
ZW5kaWYKKwogdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkK
IHsKICAgICBJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7Ci0gICAgbV9pbm5lclRl
eHQgPSAwOworICAgIG1faW5uZXJUZXh0LmNsZWFyKCk7CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVD
SCkKLSAgICBtX3NwZWVjaEJ1dHRvbiA9IDA7CisgICAgbV9zcGVlY2hCdXR0b24uY2xlYXIoKTsK
ICNlbmRpZgotICAgIG1faW5uZXJTcGluQnV0dG9uID0gMDsKKyAgICBtX2lubmVyU3BpbkJ1dHRv
bi5jbGVhcigpOwogfQogCiBib29sIFRleHRGaWVsZElucHV0VHlwZTo6c2hvdWxkVXNlSW5wdXRN
ZXRob2QoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKaW5k
ZXggZWNiNjYwNjQ2ZTU5Njk3NjVhOTViYzM1ZTYwMmQxMjdiMjU0NThlYS4uMTZjYmMzMTlhYzNj
NTk2MDlhYWEzMDI0M2RjNGFlNmMyY2Y3MzkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRG
aWVsZElucHV0VHlwZS5oCkBAIC00MCwyMyArNDAsMjQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgVGV4dEZpZWxkSW5wdXRUeXBlIDogcHVibGljIElucHV0VHlwZSB7CiBwcm90ZWN0ZWQ6
CiAgICAgVGV4dEZpZWxkSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKKyAgICB2aXJ0dWFs
IH5UZXh0RmllbGRJbnB1dFR5cGUoKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuU2V0U3VnZ2VzdGVk
VmFsdWUoKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZl
bnQqKTsKICAgICB2b2lkIGhhbmRsZUtleWRvd25FdmVudEZvclNwaW5CdXR0b24oS2V5Ym9hcmRF
dmVudCopOwogICAgIHZvaWQgaGFuZGxlV2hlZWxFdmVudEZvclNwaW5CdXR0b24oV2hlZWxFdmVu
dCopOwogCi0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5uZXJUZXh0OyB9Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJT
cGluQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5uZXJTcGluQnV0dG9uOyB9Cisg
ICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0OworICAgIHZp
cnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyU3BpbkJ1dHRvbkVsZW1lbnQoKSBjb25zdDsKICNpZiBF
TkFCTEUoSU5QVVRfU1BFRUNIKQotICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHNwZWVjaEJ1dHRv
bkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3NwZWVjaEJ1dHRvbjsgfQorICAgIHZpcnR1YWwg
SFRNTEVsZW1lbnQqIHNwZWVjaEJ1dHRvbkVsZW1lbnQoKSBjb25zdDsKICNlbmRpZgogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZVNoYWRvd1N1YnRyZWUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGVzdHJveVNoYWRvd1N1YnRyZWUoKTsKLSAgICB2b2lkIHNldElubmVyVGV4dEVs
ZW1lbnQoSFRNTEVsZW1lbnQqIGVsZW1lbnQpIHsgbV9pbm5lclRleHQgPSBlbGVtZW50OyB9Cisg
ICAgdm9pZCBzZXRJbm5lclRleHRFbGVtZW50KFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+KTsKICNp
ZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQotICAgIHZvaWQgc2V0U3BlZWNoQnV0dG9uRWxlbWVudChI
VE1MRWxlbWVudCogZWxlbWVudCkgeyBtX3NwZWVjaEJ1dHRvbiA9IGVsZW1lbnQ7IH0KKyAgICB2
b2lkIHNldFNwZWVjaEJ1dHRvbkVsZW1lbnQoUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4pOwogI2Vu
ZGlmCiAKIHByaXZhdGU6CkBAIC03MCwxMCArNzEsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IFN0cmluZyBzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRSZXNwZWN0TGlzdEF0dHJpYnV0ZSgpOwogCi0gICAgSFRNTEVsZW1lbnQqIG1faW5uZXJU
ZXh0OwotICAgIEhUTUxFbGVtZW50KiBtX2lubmVyU3BpbkJ1dHRvbjsKKyAgICBSZWZQdHI8SFRN
TEVsZW1lbnQ+IG1faW5uZXJUZXh0OworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9pbm5lclNw
aW5CdXR0b247CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKLSAgICBIVE1MRWxlbWVudCogbV9z
cGVlY2hCdXR0b247CisgICAgUmVmUHRyPEhUTUxFbGVtZW50PiBtX3NwZWVjaEJ1dHRvbjsKICNl
bmRpZgogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98874</attachid>
            <date>2011-06-28 00:43:15 -0700</date>
            <delta_ts>2011-06-28 02:21:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63511-20110628164313.patch</filename>
            <type>text/plain</type>
            <size>12976</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4OTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOTJiZjc4YmJlMTkyMjlh
NDJkMzg1ZDU0OWYyZGY4NDI1ZGE4ZWVkLi4zODMzYjI2MjM3MGQ4OTkwYzkzYzc1NjZiMTBiZDc3
ZTI4OTc1MzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMTEtMDYtMjcgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVzZSBSZWZQdHIgZm9yIHRoZSBIVE1MRWxlbWVudCBkYXRh
IG1lbWJlcnMgb2YgVGV4dEZpZWxkSW5wdFR5cGUKKyAgICAgICAgYW5kIFNlYXJjaElucHV0VHlw
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTEx
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugb2Ygbm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VhcmNoSW5wdXRUeXBlOjpTZWFyY2hJbnB1dFR5cGUpOgorICAgICAgICBObyBuZWVkIHRvIGlu
aXRpYWxpemUgdGhlIGVsZW1lbnQgbWVtYmVycyBleHBsaWNpdGx5IGJlY2F1c2UKKyAgICAgICAg
UmVmUHRyIGNvbnN0cnVjdG9yIHdvcmtzIHdlbGwuCisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOgorICAgICAgICBTdWJzdGl0dXRlIGFuIGVs
ZW1lbnQgdG8gYSBkYXRhIG1lbWJlciwgYW5kIGRvbid0IGNhbGwgUmVmUHRyPD46OnJlbGVhc2Uo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaElucHV0VHlwZTo6aW5uZXJCbG9ja0VsZW1lbnQp
OgorICAgICAgICBNb3ZlZCBmcm9tIHRoZSBoZWFkZXIgZmlsZSwgYW5kIGFkanVzdG1lbnQgZm9y
IFJlZlB0cjw+LgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBlOjpyZXN1bHRzQnV0
dG9uRWxlbWVudCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBlOjpj
YW5jZWxCdXR0b25FbGVtZW50KTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1
dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgIEFkanVzdG1lbnQgZm9yIFJl
ZlB0cjw+LgorICAgICAgICAqIGh0bWwvU2VhcmNoSW5wdXRUeXBlLmg6CisgICAgICAgICAtIE1v
dmUgYWNjZXNzb3IgZnVuY3Rpb25zIHRvIHRoZSBjcHAgZmlsZSBiZWNhdXNlIHRoZXkgYXJlIHZp
cnR1YWwuCisgICAgICAgICAtIENoYW5nZSBlbGVtZW50IGRhdGEgbWVtYmVyIHR5cGVzOiBIVE1M
RWxlbWVudCogLT4gUmVmUHRyPEhUTUxFbGVtZW50Pi4KKyAgICAgICAgKiBodG1sL1RleHRGaWVs
ZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OlRl
eHRGaWVsZElucHV0VHlwZSk6CisgICAgICAgIE5vIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZWxl
bWVudCBtZW1iZXJzIGV4cGxpY2l0bHkgYmVjYXVzZQorICAgICAgICBSZWZQdHIgY29uc3RydWN0
b3Igd29ya3Mgd2VsbC4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6flRl
eHRGaWVsZElucHV0VHlwZSk6CisgICAgICAgIEV4cGxpY2l0eWx5IGRlZmluZXMgdGhlIGRlc3Ry
dWN0b3IgaW4gdGhlIGNwcCBmaWxlIHRvIGF2b2lkIHRvCisgICAgICAgIG1ha2UgaXQgaW1wbGlj
aXRseSBpbiB0aGUgaGVhZGVyIGZpbGUuIElmIHRoZSBkZXN0cnVjdG9yIHdhcyBtYWRlCisgICAg
ICAgIGluIHRoZSBoZWFkZXIgZmlsZSwgd2Ugd291bGQgbmVlZCB0byBpbmNsdWRlIEhUTUxFbGVt
ZW50LmggaW4gdGhlCisgICAgICAgIGhlYWRlciBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgLSBEb24ndCBj
YWxsIFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UoKS4KKyAgICAgICAgLSBTdWJzdGl0dXRlIGFu
IGVsZW1lbnQgdG8gYSBkYXRhIG1lbWJlciwgYW5kIGRvbid0IGNhbGwgUmVmUHRyPD46OnJlbGVh
c2UoKS4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c2V0SW5uZXJUZXh0
RWxlbWVudCk6CisgICAgICAgICBNb3ZlZCBmcm9tIHRoZSBoZWFkZXIgZmlsZSB0byBhdm9pZCB0
byBpbmNsdWRlIEhUTUxFbGVtZW50LmguCisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1
dFR5cGU6OnNldFNwZWVjaEJ1dHRvbkVsZW1lbnQpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlRleHRGaWVsZElucHV0VHlwZTo6aW5uZXJUZXh0RWxlbWVudCk6CisgICAgICAgIE1vdmVkIGZy
b20gdGhlIGhlYWRlciBmaWxlLCBhbmQgYWRqdXN0bWVudCBmb3IgUmVmUHRyPD4uCisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQpOiBk
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c3BlZWNoQnV0dG9u
RWxlbWVudCk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpk
ZXN0cm95U2hhZG93U3VidHJlZSk6CisgICAgICAgICBBZGp1c3RtZW50IGZvciBSZWZQdHI8Pi4K
KyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5oOgorICAgICAgICAgLSBNb3ZlIGFj
Y2Vzc29yIGZ1bmN0aW9ucyB0byB0aGUgY3BwIGZpbGUgYmVjYXVzZSB0aGV5IGFyZSB2aXJ0dWFs
LgorICAgICAgICAgLSBDaGFuZ2UgZWxlbWVudCBkYXRhIG1lbWJlciB0eXBlczogSFRNTEVsZW1l
bnQqIC0+IFJlZlB0cjxIVE1MRWxlbWVudD4uCisKIDIwMTEtMDYtMjcgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggc3R5
bGUgZXJyb3IgcmVsYXRlZCB0byB3cm9uZyBpbmNsdWRlIG9yZGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IDZmZWRkZWFmYmYxY2QzMTZiZjJiOTYyYmI2OTE3
OGExODk5NjdjNmEuLmFkNzk4YWZkNzM4OGI2YzMzZDlkOTFmMTkxOWQ4YzVhZmViMTc1NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTQwLDkgKzQwLDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgU2VhcmNoSW5wdXRUeXBlOjpTZWFyY2hJbnB1
dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICA6IEJhc2VUZXh0SW5wdXRUeXBl
KGVsZW1lbnQpCi0gICAgLCBtX2lubmVyQmxvY2soMCkKLSAgICAsIG1fcmVzdWx0c0J1dHRvbigw
KQotICAgICwgbV9jYW5jZWxCdXR0b24oMCkKIHsKIH0KIApAQCAtNjksNDMgKzY2LDUyIEBAIGJv
b2wgU2VhcmNoSW5wdXRUeXBlOjppc1NlYXJjaEZpZWxkKCkgY29uc3QKIHZvaWQgU2VhcmNoSW5w
dXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAgICBBU1NFUlQoIW1faW5uZXJCbG9j
ayk7Ci0gICAgQVNTRVJUKCFpbm5lclRleHRFbGVtZW50KCkpOwogICAgIEFTU0VSVCghbV9yZXN1
bHRzQnV0dG9uKTsKICAgICBBU1NFUlQoIW1fY2FuY2VsQnV0dG9uKTsKIAogICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQoKS0+ZG9jdW1l
bnQoKTsKLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyID0gVGV4dENvbnRyb2xJbm5lckVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgbV9pbm5lckJsb2NrID0gaW5uZXIuZ2V0KCk7
Ci0gICAgZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKGlubmVyLnJl
bGVhc2UoKSwgZWMpOworICAgIG1faW5uZXJCbG9jayA9IFRleHRDb250cm9sSW5uZXJFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGVsZW1lbnQoKS0+ZW5zdXJlU2hhZG93Um9vdCgpLT5h
cHBlbmRDaGlsZChtX2lubmVyQmxvY2ssIGVjKTsKIAogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gp
CiAgICAgaWYgKGVsZW1lbnQoKS0+aXNTcGVlY2hFbmFibGVkKCkpIHsKLSAgICAgICAgUmVmUHRy
PEhUTUxFbGVtZW50PiBzcGVlY2ggPSBJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50KTsKLSAgICAgICAgc2V0U3BlZWNoQnV0dG9uRWxlbWVudChzcGVlY2guZ2V0
KCkpOwotICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQo
c3BlZWNoLnJlbGVhc2UoKSwgZWMpOworICAgICAgICBzZXRTcGVlY2hCdXR0b25FbGVtZW50KElu
cHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpKTsKKyAgICAgICAg
ZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKHNwZWVjaEJ1dHRvbkVs
ZW1lbnQoKSwgZWMpOwogICAgIH0KICNlbmRpZgogCi0gICAgUmVmUHRyPEhUTUxFbGVtZW50PiBy
ZXN1bHRzID0gU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50
KTsKLSAgICBtX3Jlc3VsdHNCdXR0b24gPSByZXN1bHRzLmdldCgpOwotICAgIG1faW5uZXJCbG9j
ay0+YXBwZW5kQ2hpbGQocmVzdWx0cy5yZWxlYXNlKCksIGVjKTsKKyAgICBtX3Jlc3VsdHNCdXR0
b24gPSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwor
ICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQobV9yZXN1bHRzQnV0dG9uLCBlYyk7CiAKLSAg
ICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyVGV4dCA9IFRleHRDb250cm9sSW5uZXJUZXh0RWxl
bWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKLSAgICBzZXRJbm5lclRleHRFbGVtZW50KGlubmVyVGV4
dC5nZXQoKSk7Ci0gICAgbV9pbm5lckJsb2NrLT5hcHBlbmRDaGlsZChpbm5lclRleHQucmVsZWFz
ZSgpLCBlYyk7CisgICAgc2V0SW5uZXJUZXh0RWxlbWVudChUZXh0Q29udHJvbElubmVyVGV4dEVs
ZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCkpOworICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQo
aW5uZXJUZXh0RWxlbWVudCgpLCBlYyk7CiAKLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGNhbmNl
bCA9IFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKSk7Ci0gICAgbV9jYW5jZWxCdXR0b24gPSBjYW5jZWwuZ2V0KCk7Ci0gICAgbV9pbm5l
ckJsb2NrLT5hcHBlbmRDaGlsZChjYW5jZWwucmVsZWFzZSgpLCBlYyk7CisgICAgbV9jYW5jZWxC
dXR0b24gPSBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KCkt
PmRvY3VtZW50KCkpOworICAgIG1faW5uZXJCbG9jay0+YXBwZW5kQ2hpbGQobV9jYW5jZWxCdXR0
b24sIGVjKTsKK30KKworSFRNTEVsZW1lbnQqIFNlYXJjaElucHV0VHlwZTo6aW5uZXJCbG9ja0Vs
ZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBtX2lubmVyQmxvY2suZ2V0KCk7Cit9CisKK0hU
TUxFbGVtZW50KiBTZWFyY2hJbnB1dFR5cGU6OnJlc3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9yZXN1bHRzQnV0dG9uLmdldCgpOworfQorCitIVE1MRWxlbWVudCog
U2VhcmNoSW5wdXRUeXBlOjpjYW5jZWxCdXR0b25FbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9jYW5jZWxCdXR0b24uZ2V0KCk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpkZXN0
cm95U2hhZG93U3VidHJlZSgpCiB7CiAgICAgVGV4dEZpZWxkSW5wdXRUeXBlOjpkZXN0cm95U2hh
ZG93U3VidHJlZSgpOwotICAgIG1faW5uZXJCbG9jayA9IDA7Ci0gICAgbV9yZXN1bHRzQnV0dG9u
ID0gMDsKLSAgICBtX2NhbmNlbEJ1dHRvbiA9IDA7CisgICAgbV9pbm5lckJsb2NrLmNsZWFyKCk7
CisgICAgbV9yZXN1bHRzQnV0dG9uLmNsZWFyKCk7CisgICAgbV9jYW5jZWxCdXR0b24uY2xlYXIo
KTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaAppbmRleCBjMTMwZDNj
MTk0YjZjNjQwZDNlZTYyNDRjMzE1NzM5ZmIzNGExZmM3Li42ZDQzYTNjNjkxOTRmNzkzMDg2ZWY5
MDM2ZTNlNGU4N2FlMmJjNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgK
QEAgLTUxLDEzICs1MSwxMyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVz
cGVjdFNwZWVjaEF0dHJpYnV0ZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1NlYXJjaEZpZWxkKCkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJCbG9ja0VsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX2lubmVyQmxvY2s7IH0KLSAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiByZXN1
bHRzQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0c0J1dHRvbjsgfQotICAg
IHZpcnR1YWwgSFRNTEVsZW1lbnQqIGNhbmNlbEJ1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBtX2NhbmNlbEJ1dHRvbjsgfQorICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyQmxvY2tF
bGVtZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogcmVzdWx0c0J1dHRvbkVs
ZW1lbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBjYW5jZWxCdXR0b25FbGVt
ZW50KCkgY29uc3Q7CiAKLSAgICBIVE1MRWxlbWVudCogbV9pbm5lckJsb2NrOwotICAgIEhUTUxF
bGVtZW50KiBtX3Jlc3VsdHNCdXR0b247Ci0gICAgSFRNTEVsZW1lbnQqIG1fY2FuY2VsQnV0dG9u
OworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9pbm5lckJsb2NrOworICAgIFJlZlB0cjxIVE1M
RWxlbWVudD4gbV9yZXN1bHRzQnV0dG9uOworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9jYW5j
ZWxCdXR0b247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKaW5kZXggMTliYmRlZjVkMWM0OTA3MTA5ZTY4ZmE5
MjRmYWQyY2U0MjUzOTQ4MC4uYWU2ZDU3YTg0MTQwNjRlZWZhNDM0YTQyYmIzMTA3YTA2OTY3ZTM5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhl
bWUuaCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCkBAIC00OSwxMSArNTAsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBUZXh0RmllbGRJbnB1dFR5cGU6OlRleHRGaWVsZElucHV0VHlwZShI
VE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDogSW5wdXRUeXBlKGVsZW1lbnQpCi0gICAg
LCBtX2lubmVyVGV4dCgwKQotICAgICwgbV9pbm5lclNwaW5CdXR0b24oMCkKLSNpZiBFTkFCTEUo
SU5QVVRfU1BFRUNIKQotICAgICwgbV9zcGVlY2hCdXR0b24oMCkKLSNlbmRpZgoreworfQorCitU
ZXh0RmllbGRJbnB1dFR5cGU6On5UZXh0RmllbGRJbnB1dFR5cGUoKQogewogfQogCkBAIC0xMzQs
NyArMTM0LDkgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUo
KQogICAgIEFTU0VSVCghbV9pbm5lclRleHQpOwogICAgIEFTU0VSVCghbV9pbm5lclNwaW5CdXR0
b24pOwogCi0gICAgYm9vbCBzaG91bGRIYXZlU3BpbkJ1dHRvbiA9IFJlbmRlclRoZW1lOjp0aGVt
ZUZvclBhZ2UoZWxlbWVudCgpLT5kb2N1bWVudCgpLT5wYWdlKCkpLT5zaG91bGRIYXZlU3BpbkJ1
dHRvbihlbGVtZW50KCkpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKTsKKyAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQtPnBhZ2Uo
KSA/IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1l
KCk7CisgICAgYm9vbCBzaG91bGRIYXZlU3BpbkJ1dHRvbiA9IHRoZW1lLT5zaG91bGRIYXZlU3Bp
bkJ1dHRvbihlbGVtZW50KCkpOwogICAgIGJvb2wgaGFzRGVjb3JhdGlvbnMgPSBzaG91bGRIYXZl
U3BpbkJ1dHRvbjsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgIGlmIChlbGVtZW50KCkt
PmlzU3BlZWNoRW5hYmxlZCgpKQpAQCAtMTQyLDM3ICsxNDQsNjMgQEAgdm9pZCBUZXh0RmllbGRJ
bnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogI2VuZGlmCiAKICAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBlbGVtZW50KCktPmRvY3VtZW50
KCk7Ci0gICAgUmVmUHRyPEhUTUxFbGVtZW50PiBpbm5lclRleHQgPSBUZXh0Q29udHJvbElubmVy
VGV4dEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgbV9pbm5lclRleHQgPSBpbm5lclRl
eHQuZ2V0KCk7Ci0gICAgZWxlbWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxk
KGlubmVyVGV4dC5yZWxlYXNlKCksIGVjKTsKKyAgICBtX2lubmVyVGV4dCA9IFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAgICBlbGVtZW50KCktPmVuc3Vy
ZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQobV9pbm5lclRleHQsIGVjKTsKICAgICBpZiAoIWhh
c0RlY29yYXRpb25zKQogICAgICAgICByZXR1cm47CiAKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNI
KQogICAgIEFTU0VSVCghbV9zcGVlY2hCdXR0b24pOwogICAgIGlmIChlbGVtZW50KCktPmlzU3Bl
ZWNoRW5hYmxlZCgpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gc3BlZWNoID0gSW5w
dXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgICAgIG1f
c3BlZWNoQnV0dG9uID0gc3BlZWNoLmdldCgpOwotICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNo
YWRvd1Jvb3QoKS0+YXBwZW5kQ2hpbGQoc3BlZWNoLnJlbGVhc2UoKSwgZWMpOworICAgICAgICBt
X3NwZWVjaEJ1dHRvbiA9IElucHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQpOworICAgICAgICBlbGVtZW50KCktPmVuc3VyZVNoYWRvd1Jvb3QoKS0+YXBwZW5kQ2hp
bGQobV9zcGVlY2hCdXR0b24sIGVjKTsKICAgICB9CiAjZW5kaWYKIAogICAgIGlmIChzaG91bGRI
YXZlU3BpbkJ1dHRvbikgewotICAgICAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IGlubmVyID0gU3Bp
bkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgICAgIG1faW5uZXJTcGluQnV0
dG9uID0gaW5uZXIuZ2V0KCk7Ci0gICAgICAgIGVsZW1lbnQoKS0+ZW5zdXJlU2hhZG93Um9vdCgp
LT5hcHBlbmRDaGlsZChpbm5lci5yZWxlYXNlKCksIGVjKTsKKyAgICAgICAgbV9pbm5lclNwaW5C
dXR0b24gPSBTcGluQnV0dG9uRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAgICAgICAgZWxl
bWVudCgpLT5lbnN1cmVTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKG1faW5uZXJTcGluQnV0dG9u
LCBlYyk7CiAgICAgfQogfQogCit2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6c2V0SW5uZXJUZXh0
RWxlbWVudChQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQoreworICAgIG1faW5uZXJU
ZXh0ID0gZWxlbWVudDsKK30KKworI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCit2b2lkIFRleHRG
aWVsZElucHV0VHlwZTo6c2V0U3BlZWNoQnV0dG9uRWxlbWVudChQYXNzUmVmUHRyPEhUTUxFbGVt
ZW50PiBlbGVtZW50KQoreworICAgIG1fc3BlZWNoQnV0dG9uID0gZWxlbWVudDsKK30KKyNlbmRp
ZgorCitIVE1MRWxlbWVudCogVGV4dEZpZWxkSW5wdXRUeXBlOjppbm5lclRleHRFbGVtZW50KCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQobV9pbm5lclRleHQpOworICAgIHJldHVybiBtX2lubmVyVGV4
dC5nZXQoKTsKK30KKworSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlwZTo6aW5uZXJTcGlu
QnV0dG9uRWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5uZXJTcGluQnV0dG9uLmdl
dCgpOworfQorCisjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKK0hUTUxFbGVtZW50KiBUZXh0Rmll
bGRJbnB1dFR5cGU6OnNwZWVjaEJ1dHRvbkVsZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBt
X3NwZWVjaEJ1dHRvbi5nZXQoKTsKK30KKyNlbmRpZgorCiB2b2lkIFRleHRGaWVsZElucHV0VHlw
ZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogewogICAgIElucHV0VHlwZTo6ZGVzdHJveVNoYWRv
d1N1YnRyZWUoKTsKLSAgICBtX2lubmVyVGV4dCA9IDA7CisgICAgbV9pbm5lclRleHQuY2xlYXIo
KTsKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQotICAgIG1fc3BlZWNoQnV0dG9uID0gMDsKKyAg
ICBtX3NwZWVjaEJ1dHRvbi5jbGVhcigpOwogI2VuZGlmCi0gICAgbV9pbm5lclNwaW5CdXR0b24g
PSAwOworICAgIG1faW5uZXJTcGluQnV0dG9uLmNsZWFyKCk7CiB9CiAKIGJvb2wgVGV4dEZpZWxk
SW5wdXRUeXBlOjpzaG91bGRVc2VJbnB1dE1ldGhvZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0RmllbGRJbnB1dFR5cGUuaAppbmRleCBlY2I2NjA2NDZlNTk2OTc2NWE5NWJjMzVlNjAy
ZDEyN2IyNTQ1OGVhLi4xNmNiYzMxOWFjM2M1OTYwOWFhYTMwMjQzZGM0YWU2YzJjZjczOTM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKQEAgLTQwLDIzICs0MCwy
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBUZXh0RmllbGRJbnB1dFR5cGUgOiBwdWJs
aWMgSW5wdXRUeXBlIHsKIHByb3RlY3RlZDoKICAgICBUZXh0RmllbGRJbnB1dFR5cGUoSFRNTElu
cHV0RWxlbWVudCopOworICAgIHZpcnR1YWwgflRleHRGaWVsZElucHV0VHlwZSgpOwogICAgIHZp
cnR1YWwgYm9vbCBjYW5TZXRTdWdnZXN0ZWRWYWx1ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBoYW5k
bGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCopOwogICAgIHZvaWQgaGFuZGxlS2V5ZG93bkV2
ZW50Rm9yU3BpbkJ1dHRvbihLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2
ZW50Rm9yU3BpbkJ1dHRvbihXaGVlbEV2ZW50Kik7CiAKLSAgICB2aXJ0dWFsIEhUTUxFbGVtZW50
KiBpbm5lclRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbm5lclRleHQ7IH0KLSAgICB2
aXJ0dWFsIEhUTUxFbGVtZW50KiBpbm5lclNwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbm5lclNwaW5CdXR0b247IH0KKyAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBpbm5lclRl
eHRFbGVtZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJTcGluQnV0
dG9uRWxlbWVudCgpIGNvbnN0OwogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCi0gICAgdmlydHVh
bCBIVE1MRWxlbWVudCogc3BlZWNoQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Bl
ZWNoQnV0dG9uOyB9CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogc3BlZWNoQnV0dG9uRWxlbWVu
dCgpIGNvbnN0OwogI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRl
U2hhZG93U3VidHJlZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95U2hhZG93U3VidHJlZSgp
OwotICAgIHZvaWQgc2V0SW5uZXJUZXh0RWxlbWVudChIVE1MRWxlbWVudCogZWxlbWVudCkgeyBt
X2lubmVyVGV4dCA9IGVsZW1lbnQ7IH0KKyAgICB2b2lkIHNldElubmVyVGV4dEVsZW1lbnQoUGFz
c1JlZlB0cjxIVE1MRWxlbWVudD4pOwogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCi0gICAgdm9p
ZCBzZXRTcGVlY2hCdXR0b25FbGVtZW50KEhUTUxFbGVtZW50KiBlbGVtZW50KSB7IG1fc3BlZWNo
QnV0dG9uID0gZWxlbWVudDsgfQorICAgIHZvaWQgc2V0U3BlZWNoQnV0dG9uRWxlbWVudChQYXNz
UmVmUHRyPEhUTUxFbGVtZW50Pik7CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAgLTcwLDEwICs3MSwx
MCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3Ry
aW5nJik7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJlc3BlY3RMaXN0QXR0cmlidXRlKCk7CiAK
LSAgICBIVE1MRWxlbWVudCogbV9pbm5lclRleHQ7Ci0gICAgSFRNTEVsZW1lbnQqIG1faW5uZXJT
cGluQnV0dG9uOworICAgIFJlZlB0cjxIVE1MRWxlbWVudD4gbV9pbm5lclRleHQ7CisgICAgUmVm
UHRyPEhUTUxFbGVtZW50PiBtX2lubmVyU3BpbkJ1dHRvbjsKICNpZiBFTkFCTEUoSU5QVVRfU1BF
RUNIKQotICAgIEhUTUxFbGVtZW50KiBtX3NwZWVjaEJ1dHRvbjsKKyAgICBSZWZQdHI8SFRNTEVs
ZW1lbnQ+IG1fc3BlZWNoQnV0dG9uOwogI2VuZGlmCiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>