<?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>76036</bug_id>
          
          <creation_ts>2012-01-10 23:53:27 -0800</creation_ts>
          <short_desc>Implement the [Supplemental] IDL for custom methods</short_desc>
          <delta_ts>2012-01-11 16:56:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</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>72138</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>533684</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-10 23:53:27 -0800</bug_when>
    <thetext>We have implemented the [Supplemental] IDL for non-custom methods in bug 75944. We should also implement it for custom methods.

By this fix, we will have implemented the [Supplemental] IDL for custom attributes, non-custom attributes, custom methods and non-custom methods, which will cover most practical use cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533781</commentid>
    <comment_count>1</comment_count>
      <attachid>122001</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-11 03:14:00 -0800</bug_when>
    <thetext>Created attachment 122001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533782</commentid>
    <comment_count>2</comment_count>
      <attachid>122001</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-11 03:18:25 -0800</bug_when>
    <thetext>Comment on attachment 122001
Patch

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

&gt; Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h:48
&gt; +- (void)supplementalMethod3;

Currently ObjC does not support custom attributes nor methods, but ObjC outputs meaningless code for them. I&apos;ll stop those outputs in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533993</commentid>
    <comment_count>3</comment_count>
      <attachid>122001</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-11 10:17:07 -0800</bug_when>
    <thetext>Comment on attachment 122001
Patch

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

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp:332
&gt; +    TestInterface* impl = static_cast&lt;TestInterface*&gt;(castedThis-&gt;impl());
&gt; +    return JSValue::encode(castedThis-&gt;supplementalMethod3(impl, exec));

I&apos;m not sure I understand.  This looks like we&apos;re calling a non-static method of JSTestInterface, which means we don&apos;t need to passing impl as an argument because JSTestInterface already knows about impl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534339</commentid>
    <comment_count>4</comment_count>
      <attachid>122111</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-11 15:44:08 -0800</bug_when>
    <thetext>Created attachment 122111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534341</commentid>
    <comment_count>5</comment_count>
      <attachid>122001</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-11 15:45:25 -0800</bug_when>
    <thetext>Comment on attachment 122001
Patch

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

&gt;&gt; Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp:332
&gt;&gt; +    return JSValue::encode(castedThis-&gt;supplementalMethod3(impl, exec));
&gt; 
&gt; I&apos;m not sure I understand.  This looks like we&apos;re calling a non-static method of JSTestInterface, which means we don&apos;t need to passing impl as an argument because JSTestInterface already knows about impl.

Right. Fixed it. I&apos;ve made a similar mistake in bug 74837 and bug 74841. I&apos;ll fix them in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534417</commentid>
    <comment_count>6</comment_count>
      <attachid>122111</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 16:56:41 -0800</bug_when>
    <thetext>Comment on attachment 122111
Patch

Clearing flags on attachment: 122111

Committed r104767: &lt;http://trac.webkit.org/changeset/104767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534418</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 16:56:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122001</attachid>
            <date>2012-01-11 03:14:00 -0800</date>
            <delta_ts>2012-01-11 15:45:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76036-20120111201358.patch</filename>
            <type>text/plain</type>
            <size>11371</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZhMzU1YWUyMmJiYmE4
YjhlNjFmY2U1MTA4MmM1NGU0ZTZmMjdhMy4uZGRlY2VkNWFkZmQ4NzBhZGY5MTM0MjFjNzE3YWZj
ZGRhOTgxNzU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAxLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IFtTdXBwbGVtZW50YWxdIElETCBmb3IgY3VzdG9tIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDM2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaGF2ZSBpbXBsZW1lbnRlZCB0aGUgW1N1
cHBsZW1lbnRhbF0gSURMIGZvciBub24tY3VzdG9tIG1ldGhvZHMgaW4gYnVnIDc1OTQ0LgorICAg
ICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgaXQgZm9yIGN1c3RvbSBtZXRob2RzLiBUaGlzIHBh
dGNoIG1vZGlmaWVzIG9ubHkKKyAgICAgICAgQ29kZUdlbmVyYXRvckpTLnBtIGFuZCBDb2RlR2Vu
ZXJhdG9yVjgucG0sIHNpbmNlIG90aGVyIGNvZGUgZ2VuZXJhdG9ycworICAgICAgICBkbyBub3Qg
c3VwcG9ydCBjdXN0b20gbWV0aG9kcy4KKworICAgICAgICBUZXN0OiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdFN1cHBsZW1lbnRhbC5pZGwKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAo
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN1cHBsZW1lbnRhbC5pZGw6IEFkZGVkIGEgY3VzdG9t
IG1ldGhvZCB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwuCisKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDogVXBkYXRlZCB0aGUgdGVzdCBy
ZXN1bHQuCisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlv
blN1cHBsZW1lbnRhbE1ldGhvZDMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuaDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5oOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLm1tOiBEaXR0by4KKyAgICAgICAgKC1b
RE9NVGVzdEludGVyZmFjZSBzdXBwbGVtZW50YWxNZXRob2QzXSk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHA6IERpdHRvLgorCiAyMDEyLTAx
LTExICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1v
dmUgdGhlIGNoZWNrIGZvciBjYW5FeGVjdXRlU2NyaXB0cyBvdXQgb2YgVjhQcm94eTo6cmV0cmll
dmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMTAxMDZlY2JlNjg2OTk2MjRjNjgyY2I1MTkxYTM5ZTg0N2ViYTA5Ni4uOGY5
YzMyNjFlOGY5YjZiNmJlMTNlOTlhNjQxM2YxZjI0Mjc0NzA1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTkzNiw3ICs5
MzYsMTEgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAgICAgICBuZXh0IHVubGVzcyAkZnVu
Y3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbSJ9IG9yICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDQ3VzdG9tIn07CiAgICAg
ICAgICAgICBuZXh0IGlmICRmdW5jdGlvbi0+e292ZXJsb2Fkc30gJiYgJGZ1bmN0aW9uLT57b3Zl
cmxvYWRJbmRleH0gIT0gMTsKICAgICAgICAgICAgIG15ICRmdW5jdGlvbkltcGxlbWVudGF0aW9u
TmFtZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVt
ZW50YXRpb25GdW5jdGlvbiJ9IHx8ICRjb2RlR2VuZXJhdG9yLT5XS19sY2ZpcnN0KCRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5uYW1lKTsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgSlNDOjpKU1ZhbHVlICIgLiAkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUgLiAiKEpTQzo6
RXhlY1N0YXRlKik7XG4iKTsKKyAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkltcGxlbWVudGVkQnkifSkgeworICAgICAgICAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgSlNDOjpKU1ZhbHVlICIgLiAkZnVuY3Rpb25JbXBs
ZW1lbnRhdGlvbk5hbWUgLiAiKCIgLiAkaW50ZXJmYWNlTmFtZSAuICIqLCBKU0M6OkV4ZWNTdGF0
ZSopO1xuIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICIgICAgSlNDOjpKU1ZhbHVlICIgLiAkZnVuY3Rpb25JbXBsZW1lbnRhdGlv
bk5hbWUgLiAiKEpTQzo6RXhlY1N0YXRlKik7XG4iKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KIApAQCAtMTEzOSw3ICsxMTQzLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAg
ICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgInZvaWQgJHtzZXR0ZXJ9KEpTQzo6RXhl
Y1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSk7XG4iKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoISRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Ik9taXRDb25zdHJ1Y3RvciJ9KSB7CiAgICAgICAgICAgICBteSAkZ2V0
dGVyID0gImpzIiAuICRpbnRlcmZhY2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsKICAgICAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkpTVmFsdWUgJHtnZXR0ZXJ9KEpTQzo6RXhlY1N0
YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTtcbiIpOwpAQCAtMjE1
MSw3ICsyMTU1LDEyIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIGlmICgkaXNDdXN0b20pIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPiIgLiAk
ZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUgLiAiKGV4ZWMpKTtcbiIpIHVubGVzcyAoJGZ1bmN0
aW9uLT5pc1N0YXRpYyk7CisgICAgICAgICAgICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50ZWRCeSJ9KSB7CisgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7aW50ZXJmYWNlTmFtZX0qIGltcGwgPSBz
dGF0aWNfY2FzdDwke2ludGVyZmFjZU5hbWV9Kj4oY2FzdGVkVGhpcy0+aW1wbCgpKTtcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGNhc3RlZFRoaXMtPiIgLiAkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUgLiAi
KGltcGwsIGV4ZWMpKTtcbiIpIHVubGVzcyAoJGZ1bmN0aW9uLT5pc1N0YXRpYyk7CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT4iIC4gJGZ1bmN0aW9uSW1w
bGVtZW50YXRpb25OYW1lIC4gIihleGVjKSk7XG4iKSB1bmxlc3MgKCRmdW5jdGlvbi0+aXNTdGF0
aWMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxUeXBlKiBpbXBsID0gc3RhdGljX2Nh
c3Q8JGltcGxUeXBlKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTtcbiIpIHVubGVzcyAoJGZ1bmN0aW9u
LT5pc1N0YXRpYyk7CiAgICAgICAgICAgICAgICAgaWYgKCRzdmdQcm9wZXJ0eVR5cGUgYW5kICEk
ZnVuY3Rpb24tPmlzU3RhdGljKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGIyYTUzMTRhNjdhZjAyMGVkNWMzZjBlNmI2
OWU0N2MyZDY4NGEwY2MuLjdiMTg0YTdhMWM4NGZlYzA0MWU4OTZjZWQ3ZjA1MDk4NTM0MTNkNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCkBAIC00MDAsNyArNDAwLDcgQEAgRU5ECiAgICAgICAgIG15ICRuYW1lID0gJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPm5hbWU7CiAgICAgICAgIG15ICRhdHRyRXh0ID0gJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlczsKIAotICAgICAgICBpZiAoKCRhdHRyRXh0LT57
IkN1c3RvbSJ9IHx8ICRhdHRyRXh0LT57IlY4Q3VzdG9tIn0pICYmICRmdW5jdGlvbi0+e292ZXJs
b2FkSW5kZXh9ID09IDEpIHsKKyAgICAgICAgaWYgKCgkYXR0ckV4dC0+eyJDdXN0b20ifSB8fCAk
YXR0ckV4dC0+eyJWOEN1c3RvbSJ9KSAmJiAhJGF0dHJFeHQtPnsiSW1wbGVtZW50ZWRCeSJ9ICYm
ICRmdW5jdGlvbi0+e292ZXJsb2FkSW5kZXh9ID09IDEpIHsKICAgICAgICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsIDw8RU5EKTsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7
bmFtZX1DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiBFTkQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKaW5kZXggZmE1NGEzM2U5NjVkNDI5OGY3MjQwOWNmYzQwMmU4NGNhYTk3NDYxOS4uMzJm
ZWUxOTZlMGQ3ZTFlNTJhODg0MDJmMDM1ZGRjZDY4MTE4YjI5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKQEAgLTEzNywxMCArMTM3LDEzIEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBK
U1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICNpZiBFTkFCTEUoQ29uZGl0
aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICB7ICJzdXBwbGVtZW50YWxNZXRob2Qy
IiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRp
dmVGdW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25TdXBwbGVtZW50YWxN
ZXRob2QyKSwgKGludHB0cl90KTIsIE5vSW50cmluc2ljIH0sCiAjZW5kaWYKKyNpZiBFTkFCTEUo
Q29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKKyAgICB7ICJzdXBwbGVtZW50YWxN
ZXRob2QzIiwgRG9udERlbGV0ZSB8IEpTQzo6RnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rpb25TdXBwbGVt
ZW50YWxNZXRob2QzKSwgKGludHB0cl90KTAsIE5vSW50cmluc2ljIH0sCisjZW5kaWYKICAgICB7
IDAsIDAsIDAsIDAsIE5vSW50cmluc2ljIH0KIH07CiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGUg
SlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGUgPSB7IDUsIDMsIEpTVGVzdEludGVyZmFjZVBy
b3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdElu
dGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyA4LCA3LCBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVU
YWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEludGVyZmFjZVByb3RvdHlw
ZTo6c19pbmZvID0geyAiVGVzdEludGVyZmFjZVByb3RvdHlwZSIsICZCYXNlOjpzX2luZm8sICZK
U1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rl
c3RJbnRlcmZhY2VQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RJbnRlcmZhY2VQcm90
b3R5cGU6OnNlbGYoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQpAQCAtMzE3LDYgKzMyMCwyMCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uU3VwcGxlbWVudGFsTWV0aG9kMgogCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQorRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblN1
cHBsZW1lbnRhbE1ldGhvZDMoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1Zh
bHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIGlmICghdGhpc1ZhbHVlLmluaGVyaXRz
KCZKU1Rlc3RJbnRlcmZhY2U6OnNfaW5mbykpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVy
cm9yKGV4ZWMpOworICAgIEpTVGVzdEludGVyZmFjZSogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0
PEpTVGVzdEludGVyZmFjZSo+KGFzT2JqZWN0KHRoaXNWYWx1ZSkpOworICAgIEFTU0VSVF9HQ19P
QkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgJkpTVGVzdEludGVyZmFjZTo6c19pbmZvKTsKKyAg
ICBUZXN0SW50ZXJmYWNlKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdEludGVyZmFjZSo+KGNhc3Rl
ZFRoaXMtPmltcGwoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5z
dXBwbGVtZW50YWxNZXRob2QzKGltcGwsIGV4ZWMpKTsKK30KKworI2VuZGlmCisKIHN0YXRpYyBp
bmxpbmUgYm9vbCBpc09ic2VydmFibGUoSlNUZXN0SW50ZXJmYWNlKiBqc1Rlc3RJbnRlcmZhY2Up
CiB7CiAgICAgaWYgKGpzVGVzdEludGVyZmFjZS0+aGFzQ3VzdG9tUHJvcGVydGllcygpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oCmluZGV4IGVjOTRlZWQzNjI5OTQ2MGFjZGI1ODliNzUyMDZjODZiNDVmNGQ2
NzcuLmMxMmFjZjA2N2Y5MjhlMGU3NzUxYjNkZjVlZjljN2EzNTU4N2U3ODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmgKQEAgLTU4LDYgKzU4LDkgQEAgcHVibGljOgogCiAgICAgLy8gQ3VzdG9tIGF0dHJp
YnV0ZXMKICAgICBKU0M6OkpTVmFsdWUgc3VwcGxlbWVudGFsU3RyMyhUZXN0SW50ZXJmYWNlKiwg
SlNDOjpFeGVjU3RhdGUqKSBjb25zdDsKKworICAgIC8vIEN1c3RvbSBmdW5jdGlvbnMKKyAgICBK
U0M6OkpTVmFsdWUgc3VwcGxlbWVudGFsTWV0aG9kMyhUZXN0SW50ZXJmYWNlKiwgSlNDOjpFeGVj
U3RhdGUqKTsKICAgICBUZXN0SW50ZXJmYWNlKiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBs
OyB9CiAgICAgdm9pZCByZWxlYXNlSW1wbCgpIHsgbV9pbXBsLT5kZXJlZigpOyBtX2ltcGwgPSAw
OyB9CiAKQEAgLTE0Niw2ICsxNDksNyBAQCBwcm90ZWN0ZWQ6CiAKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblN1cHBsZW1l
bnRhbE1ldGhvZDEoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBqc1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblN1cHBsZW1lbnRhbE1ldGhv
ZDIoSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblN1cHBsZW1lbnRhbE1ldGhvZDMoSlNDOjpF
eGVjU3RhdGUqKTsKIC8vIEF0dHJpYnV0ZXMKIAogSlNDOjpKU1ZhbHVlIGpzVGVzdEludGVyZmFj
ZVN1cHBsZW1lbnRhbFN0cjEoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5oCmluZGV4IDQ0NTdkZTZmYmU4
NmJkZTVkNmMwMjA1NzE4ODQ0ZDlkMGZkOGI3NWIuLmFiZDVhNjY4ZmI4NzczZGVmNTEyMDg0ZDli
NzVkY2UzM2U4ZDNmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLmgKQEAgLTQ1LDYgKzQ1LDcg
QEAKICNlbmRpZgogLSAodm9pZClzdXBwbGVtZW50YWxNZXRob2QxOwogLSAoRE9NVGVzdE9iaiAq
KXN1cHBsZW1lbnRhbE1ldGhvZDI6KE5TU3RyaW5nICopc3RyQXJnIG9iakFyZzooRE9NVGVzdE9i
aiAqKW9iakFyZzsKKy0gKHZvaWQpc3VwcGxlbWVudGFsTWV0aG9kMzsKIEBlbmQKIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0SW50ZXJmYWNlLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdEludGVyZmFjZS5tbQppbmRleCAwZTAyYjk1NjMzNjdiNDE0ZjgzMjViYmE0
M2MxNGJlZDY1ODhhNjNjLi5kOGExN2EwNzMzZDA0Yjg5YTRkYzQwYmRhYjE1M2YxYWZmOTlmYzJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0SW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2UubW0KQEAgLTEzMSw2ICsxMzEsMTYgQEAKIAogI2Vu
ZGlmCiAKKworI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQor
LSAodm9pZClzdXBwbGVtZW50YWxNZXRob2QzCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOworICAgIFRlc3RTdXBwbGVtZW50YWw6OnN1cHBsZW1lbnRhbE1ldGhv
ZDMoSU1QTCk7Cit9CisKKyNlbmRpZgorCiBAZW5kCiAKIFdlYkNvcmU6OlRlc3RJbnRlcmZhY2Uq
IGNvcmUoRE9NVGVzdEludGVyZmFjZSAqd3JhcHBlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlkbAppbmRleCA3
ZGRjYTE3NDhlNDM5ZThlMDk2Nzc4Mjg5Mzg4YTU5NDZlMDliY2JiLi4wMjliZjViOWFkNWI0ODZi
NmVlN2Y2MmZiM2E0MWUxNmUxZmZhZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN1cHBsZW1lbnRhbC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVtZW50YWwuaWRsCkBAIC0zOSw1ICsz
OSw2IEBAIG1vZHVsZSB0ZXN0IHsKIAogICAgICAgICB2b2lkIHN1cHBsZW1lbnRhbE1ldGhvZDEo
KTsKICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFRlc3RPYmogc3Vw
cGxlbWVudGFsTWV0aG9kMihpbiBET01TdHJpbmcgc3RyQXJnLCBpbiBUZXN0T2JqIG9iakFyZykg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIHZvaWQgc3VwcGxlbWVudGFs
TWV0aG9kMygpOwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDRiM2Y2YWU2
YWQwNzliM2U3Y2Y0YTFjYWU2ZDBjZWU5NjBkZTc5ZmQuLmRkYjg3ZjZlNzUzNTk0OTc0M2JkYzYx
YjU4MDFkNjIwOWFkYWJmNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC0xNDEsNiArMTQx
LDkgQEAgc3RhdGljIGNvbnN0IEJhdGNoZWRDYWxsYmFjayBUZXN0SW50ZXJmYWNlQ2FsbGJhY2tz
W10gPSB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCiAg
ICAgeyJzdXBwbGVtZW50YWxNZXRob2QxIiwgVGVzdEludGVyZmFjZUludGVybmFsOjpzdXBwbGVt
ZW50YWxNZXRob2QxQ2FsbGJhY2t9LAogI2VuZGlmCisjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMTIpCisgICAgeyJzdXBwbGVtZW50YWxNZXRob2QzIiwgVjhUZXN0
SW50ZXJmYWNlOjpzdXBwbGVtZW50YWxNZXRob2QzQ2FsbGJhY2t9LAorI2VuZGlmCiB9OwogCiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0SW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122111</attachid>
            <date>2012-01-11 15:44:08 -0800</date>
            <delta_ts>2012-01-11 16:56:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76036-20120112084407.patch</filename>
            <type>text/plain</type>
            <size>8427</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZhMzU1YWUyMmJiYmE4
YjhlNjFmY2U1MTA4MmM1NGU0ZTZmMjdhMy4uM2E3MmRmMGRlYTk3YzE5M2YzOTc3ZjRlZjExMmE3
NDEzZTkzYzg3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAxLTExICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IFtTdXBwbGVtZW50YWxdIElETCBmb3IgY3VzdG9tIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDM2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaGF2ZSBpbXBsZW1lbnRlZCB0aGUgW1N1
cHBsZW1lbnRhbF0gSURMIGZvciBub24tY3VzdG9tIG1ldGhvZHMgaW4gYnVnIDc1OTQ0LgorICAg
ICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgaXQgZm9yIGN1c3RvbSBtZXRob2RzLiBUaGlzIHBh
dGNoIG1vZGlmaWVzIG9ubHkgQ29kZUdlbmVyYXRvclY4LnBtLAorICAgICAgICBzaW5jZSBDb2Rl
R2VuZXJhdG9ySlMucG0gcmVxdWlyZXMgbm8gY2hhbmdlIGFuZCBvdGhlciBjb2RlIGdlbmVyYXRv
cnMKKyAgICAgICAgZG8gbm90IHN1cHBvcnQgY3VzdG9tIG1ldGhvZHMuCisKKyAgICAgICAgVGVz
dDogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVtZW50YWwuaWRsCisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRl
SGVhZGVyKToKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVu
dGFsLmlkbDogQWRkZWQgYSBjdXN0b20gbWV0aG9kIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElE
TC4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwOiBVcGRhdGVkIHRoZSB0ZXN0IHJlc3VsdC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdElu
dGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uU3VwcGxlbWVudGFsTWV0aG9kMyk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oOiBEaXR0by4KKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLmg6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2Uu
bW06IERpdHRvLgorICAgICAgICAoLVtET01UZXN0SW50ZXJmYWNlIHN1cHBsZW1lbnRhbE1ldGhv
ZDNdKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNl
LmNwcDogRGl0dG8uCisKIDIwMTItMDEtMTEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgTW92ZSB0aGUgY2hlY2sgZm9yIGNhbkV4ZWN1dGVTY3JpcHRz
IG91dCBvZiBWOFByb3h5OjpyZXRyaWV2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBiMmE1MzE0YTY3YWYwMjBlZDVjM2Yw
ZTZiNjllNDdjMmQ2ODRhMGNjLi43YjE4NGE3YTFjODRmZWMwNDFlODk2Y2VkN2YwNTA5ODUzNDEz
ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQpAQCAtNDAwLDcgKzQwMCw3IEBAIEVORAogICAgICAgICBteSAkbmFtZSA9ICRm
dW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOwogICAgICAgICBteSAkYXR0ckV4dCA9ICRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXM7CiAKLSAgICAgICAgaWYgKCgkYXR0ckV4
dC0+eyJDdXN0b20ifSB8fCAkYXR0ckV4dC0+eyJWOEN1c3RvbSJ9KSAmJiAkZnVuY3Rpb24tPntv
dmVybG9hZEluZGV4fSA9PSAxKSB7CisgICAgICAgIGlmICgoJGF0dHJFeHQtPnsiQ3VzdG9tIn0g
fHwgJGF0dHJFeHQtPnsiVjhDdXN0b20ifSkgJiYgISRhdHRyRXh0LT57IkltcGxlbWVudGVkQnki
fSAmJiAkZnVuY3Rpb24tPntvdmVybG9hZEluZGV4fSA9PSAxKSB7CiAgICAgICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCA8PEVORCk7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiAke25hbWV9Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogRU5ECmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2UuY3BwCmluZGV4IGZhNTRhMzNlOTY1ZDQyOThmNzI0MDljZmM0MDJlODRjYWE5NzQ2MTku
LjE1N2YxNWE4ZTUxODU2ZTBlYWY2YzBmOTcyNmRhYzgyZDM3NTcwODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2UuY3BwCkBAIC0xMzcsMTAgKzEzNywxMyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFs
dWUgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAjaWYgRU5BQkxFKENv
bmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCiAgICAgeyAic3VwcGxlbWVudGFsTWV0
aG9kMiIsIERvbnREZWxldGUgfCBKU0M6OkZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uU3VwcGxlbWVu
dGFsTWV0aG9kMiksIChpbnRwdHJfdCkyLCBOb0ludHJpbnNpYyB9LAogI2VuZGlmCisjaWYgRU5B
QkxFKENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29uZGl0aW9uMTIpCisgICAgeyAic3VwcGxlbWVu
dGFsTWV0aG9kMyIsIERvbnREZWxldGUgfCBKU0M6OkZ1bmN0aW9uLCAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uU3Vw
cGxlbWVudGFsTWV0aG9kMyksIChpbnRwdHJfdCkwLCBOb0ludHJpbnNpYyB9LAorI2VuZGlmCiAg
ICAgeyAwLCAwLCAwLCAwLCBOb0ludHJpbnNpYyB9CiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRh
YmxlIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyA1LCAzLCBKU1Rlc3RJbnRlcmZh
Y2VQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rl
c3RJbnRlcmZhY2VQcm90b3R5cGVUYWJsZSA9IHsgOCwgNywgSlNUZXN0SW50ZXJmYWNlUHJvdG90
eXBlVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RJbnRlcmZhY2VQcm90
b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RJbnRlcmZhY2VQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZv
LCAmSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlKSB9OwogCiBKU09iamVjdCogSlNUZXN0SW50ZXJmYWNl
UHJvdG90eXBlOjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKQEAgLTMxNyw2ICszMjAsMTkgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVGdW5jdGlvblN1cHBsZW1lbnRhbE1ldGhvZDIKIAogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0SW50ZXJmYWNlUHJvdG90eXBlRnVuY3Rp
b25TdXBwbGVtZW50YWxNZXRob2QzKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRo
aXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBpZiAoIXRoaXNWYWx1ZS5pbmhl
cml0cygmSlNUZXN0SW50ZXJmYWNlOjpzX2luZm8pKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RJbnRlcmZhY2UqIGNhc3RlZFRoaXMgPSBzdGF0aWNf
Y2FzdDxKU1Rlc3RJbnRlcmZhY2UqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RJbnRlcmZhY2U6OnNfaW5mbyk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYXN0ZWRUaGlzLT5zdXBwbGVtZW50YWxNZXRo
b2QzKGV4ZWMpKTsKK30KKworI2VuZGlmCisKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc09ic2VydmFi
bGUoSlNUZXN0SW50ZXJmYWNlKiBqc1Rlc3RJbnRlcmZhY2UpCiB7CiAgICAgaWYgKGpzVGVzdElu
dGVyZmFjZS0+aGFzQ3VzdG9tUHJvcGVydGllcygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGVj
OTRlZWQzNjI5OTQ2MGFjZGI1ODliNzUyMDZjODZiNDVmNGQ2NzcuLmFlZmY3NmFkZjY0Y2FmZTlk
MjQ5MWE5Yzk5YzIxNWEyMGI1OWZjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTU4LDYgKzU4
LDkgQEAgcHVibGljOgogCiAgICAgLy8gQ3VzdG9tIGF0dHJpYnV0ZXMKICAgICBKU0M6OkpTVmFs
dWUgc3VwcGxlbWVudGFsU3RyMyhUZXN0SW50ZXJmYWNlKiwgSlNDOjpFeGVjU3RhdGUqKSBjb25z
dDsKKworICAgIC8vIEN1c3RvbSBmdW5jdGlvbnMKKyAgICBKU0M6OkpTVmFsdWUgc3VwcGxlbWVu
dGFsTWV0aG9kMyhKU0M6OkV4ZWNTdGF0ZSopOwogICAgIFRlc3RJbnRlcmZhY2UqIGltcGwoKSBj
b25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICB2b2lkIHJlbGVhc2VJbXBsKCkgeyBtX2ltcGwt
PmRlcmVmKCk7IG1faW1wbCA9IDA7IH0KIApAQCAtMTQ2LDYgKzE0OSw3IEBAIHByb3RlY3RlZDoK
IAogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3Rv
dHlwZUZ1bmN0aW9uU3VwcGxlbWVudGFsTWV0aG9kMShKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0
aW9uU3VwcGxlbWVudGFsTWV0aG9kMihKU0M6OkV4ZWNTdGF0ZSopOworSlNDOjpFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEludGVyZmFjZVByb3RvdHlwZUZ1bmN0aW9uU3VwcGxl
bWVudGFsTWV0aG9kMyhKU0M6OkV4ZWNTdGF0ZSopOwogLy8gQXR0cmlidXRlcwogCiBKU0M6OkpT
VmFsdWUganNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsU3RyMShKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNl
LmgKaW5kZXggNDQ1N2RlNmZiZTg2YmRlNWQ2YzAyMDU3MTg4NDRkOWQwZmQ4Yjc1Yi4uYWJkNWE2
NjhmYjg3NzNkZWY1MTIwODRkOWI3NWRjZTMzZThkM2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZh
Y2UuaApAQCAtNDUsNiArNDUsNyBAQAogI2VuZGlmCiAtICh2b2lkKXN1cHBsZW1lbnRhbE1ldGhv
ZDE7CiAtIChET01UZXN0T2JqICopc3VwcGxlbWVudGFsTWV0aG9kMjooTlNTdHJpbmcgKilzdHJB
cmcgb2JqQXJnOihET01UZXN0T2JqICopb2JqQXJnOworLSAodm9pZClzdXBwbGVtZW50YWxNZXRo
b2QzOwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLm1tCmluZGV4IDBlMDJi
OTU2MzM2N2I0MTRmODMyNWJiYTQzYzE0YmVkNjU4OGE2M2MuLmQ4YTE3YTA3MzNkMDRiODlhNGRj
NDBiZGFiMTUzZjFhZmY5OWZjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RJbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5tbQpAQCAtMTMx
LDYgKzEzMSwxNiBAQAogCiAjZW5kaWYKIAorCisjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMTIpCistICh2b2lkKXN1cHBsZW1lbnRhbE1ldGhvZDMKK3sKKyAgICBX
ZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgVGVzdFN1cHBsZW1lbnRh
bDo6c3VwcGxlbWVudGFsTWV0aG9kMyhJTVBMKTsKK30KKworI2VuZGlmCisKIEBlbmQKIAogV2Vi
Q29yZTo6VGVzdEludGVyZmFjZSogY29yZShET01UZXN0SW50ZXJmYWNlICp3cmFwcGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBwbGVt
ZW50YWwuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RTdXBw
bGVtZW50YWwuaWRsCmluZGV4IDdkZGNhMTc0OGU0MzllOGUwOTY3NzgyODkzODhhNTk0NmUwOWJj
YmIuLjAyOWJmNWI5YWQ1YjQ4NmI2ZWU3ZjYyZmIzYTQxZTE2ZTFmZmFkZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0U3VwcGxlbWVudGFsLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFN1cHBsZW1l
bnRhbC5pZGwKQEAgLTM5LDUgKzM5LDYgQEAgbW9kdWxlIHRlc3QgewogCiAgICAgICAgIHZvaWQg
c3VwcGxlbWVudGFsTWV0aG9kMSgpOwogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gVGVzdE9iaiBzdXBwbGVtZW50YWxNZXRob2QyKGluIERPTVN0cmluZyBzdHJBcmcs
IGluIFRlc3RPYmogb2JqQXJnKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3Rv
bV0gdm9pZCBzdXBwbGVtZW50YWxNZXRob2QzKCk7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5jcHAKaW5kZXggNGIzZjZhZTZhZDA3OWIzZTdjZjRhMWNhZTZkMGNlZTk2MGRlNzlmZC4uZGRi
ODdmNmU3NTM1OTQ5NzQzYmRjNjFiNTgwMWQ2MjA5YWRhYmY0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5jcHAKQEAgLTE0MSw2ICsxNDEsOSBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZENhbGxiYWNrIFRl
c3RJbnRlcmZhY2VDYWxsYmFja3NbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVO
QUJMRShDb25kaXRpb24xMikKICAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDEiLCBUZXN0SW50ZXJm
YWNlSW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1ldGhvZDFDYWxsYmFja30sCiAjZW5kaWYKKyNpZiBF
TkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKKyAgICB7InN1cHBsZW1l
bnRhbE1ldGhvZDMiLCBWOFRlc3RJbnRlcmZhY2U6OnN1cHBsZW1lbnRhbE1ldGhvZDNDYWxsYmFj
a30sCisjZW5kaWYKIH07CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RJbnRlcmZhY2U6
OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
</data>

          </attachment>
      

    </bug>

</bugzilla>