<?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>35630</bug_id>
          
          <creation_ts>2010-03-02 22:36:27 -0800</creation_ts>
          <short_desc>Refactoring: XMLHttpRequest.open() should have all overloaded implementations</short_desc>
          <delta_ts>2019-02-06 09:03:04 -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>DOM</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yaar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195391</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-02 22:36:27 -0800</bug_when>
    <thetext>Currently XMLHTTPRequest::open() miss a overloaded method that W3C IDL has, and glue code emulate that overload. 
We should have XMLHTTPRequest::open(method, url, ec) to comprehend overloads 
to eliminate vague overload emulation from each glues (both JSC and V8).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195392</commentid>
    <comment_count>1</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-02 22:39:14 -0800</bug_when>
    <thetext>correct component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195395</commentid>
    <comment_count>2</comment_count>
      <attachid>49880</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-02 22:48:43 -0800</bug_when>
    <thetext>Created attachment 49880
patch v0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195396</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-02 22:52:54 -0800</bug_when>
    <thetext>Attachment 49880 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/xml/XMLHttpRequest.cpp:297:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195401</commentid>
    <comment_count>4</comment_count>
    <who name="Yaar Schnitman">yaar</who>
    <bug_when>2010-03-02 23:09:50 -0800</bug_when>
    <thetext>Looking good. You probably also want to include a fix to V8HttpXMLRequestCustom in this patch.

I think Dimitri Glazkov or Nate Chapin would want to review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195403</commentid>
    <comment_count>5</comment_count>
      <attachid>49883</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-02 23:15:45 -0800</bug_when>
    <thetext>Created attachment 49883
patch v1; fix style violation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195404</commentid>
    <comment_count>6</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-02 23:16:48 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Looking good. You probably also want to include a fix to V8HttpXMLRequestCustom
&gt; in this patch.
Thank you for reviewing! I&apos;ll do it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195415</commentid>
    <comment_count>7</comment_count>
      <attachid>49886</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-03 01:26:00 -0800</bug_when>
    <thetext>Created attachment 49886
v2; added v8 binding change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195816</commentid>
    <comment_count>8</comment_count>
      <attachid>49886</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-03 16:45:45 -0800</bug_when>
    <thetext>Comment on attachment 49886
v2; added v8 binding change

+        No new tests. No functional change.

This is not accurate. This patch changes the behavior of open(&quot;GET&quot;, url, undefined) - we used to treat the last argument as false, and now it&apos;s true. This may or may not be desired, depending on what the spec says, and what other browsers do. It also changes the behavior of open(&quot;GET&quot;, url, undefined, user, password), in a way that seems clearly incorrect.

Regardless of whether you decide to keep or drop this change, please add a regression test that would have caught it.

An existing test xmlhttprequest/basic-auth.html covers undefined and missing values for user/password, and the patch seems to be fine in this regard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195830</commentid>
    <comment_count>9</comment_count>
    <who name="Yaar Schnitman">yaar</who>
    <bug_when>2010-03-03 17:31:25 -0800</bug_when>
    <thetext>http://www.w3.org/TR/XMLHttpRequest/#the-open-method says that the default for async is true. However, when async is passed, anything other then JS true should be treated as false. You should omit the !args.at(2).isUndefined() checks to achieve that effect.

(In reply to comment #8)
&gt; (From update of attachment 49886 [details])
&gt; +        No new tests. No functional change.
&gt; 
&gt; This is not accurate. This patch changes the behavior of open(&quot;GET&quot;, url,
&gt; undefined) - we used to treat the last argument as false, and now it&apos;s true.
&gt; This may or may not be desired, depending on what the spec says, and what other
&gt; browsers do. It also changes the behavior of open(&quot;GET&quot;, url, undefined, user,
&gt; password), in a way that seems clearly incorrect.
&gt; 
&gt; Regardless of whether you decide to keep or drop this change, please add a
&gt; regression test that would have caught it.
&gt; 
&gt; An existing test xmlhttprequest/basic-auth.html covers undefined and missing
&gt; values for user/password, and the patch seems to be fine in this regard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195877</commentid>
    <comment_count>10</comment_count>
      <attachid>49980</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-03 21:11:05 -0800</bug_when>
    <thetext>Created attachment 49980
v3; follow feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195879</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-03 21:13:37 -0800</bug_when>
    <thetext>Alexey and Yarr, thank you for review and advice!
I&apos;ll 

(In reply to comment #9)
&gt; &gt; This is not accurate. This patch changes the behavior of open(&quot;GET&quot;, url,
&gt; &gt; undefined) - we used to treat the last argument as false, and now it&apos;s true.
I fixed that problem and added the test case for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195898</commentid>
    <comment_count>12</comment_count>
      <attachid>49980</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-03 22:28:09 -0800</bug_when>
    <thetext>Comment on attachment 49980
v3; follow feedback

Does this test fully pass in Firefox?

Expecting exactly two req.onreadystatechange events seems fragile. Perhaps you could just check readyState or status after calling send()?

Code changes look good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195914</commentid>
    <comment_count>13</comment_count>
      <attachid>49992</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-03 23:55:15 -0800</bug_when>
    <thetext>Created attachment 49992
v4; fix test to pass on ff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195915</commentid>
    <comment_count>14</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-03 23:56:54 -0800</bug_when>
    <thetext>&gt; Expecting exactly two req.onreadystatechange events seems fragile. Perhaps you
&gt; could just check readyState or status after calling send()?
True!
And I fixed it to pass also on FF.
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196124</commentid>
    <comment_count>15</comment_count>
      <attachid>49992</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-04 10:39:36 -0800</bug_when>
    <thetext>Comment on attachment 49992
v4; fix test to pass on ff

&gt; +PASS: if async argument is something defined, send() should behave like as async=true

This is not what the current code implements. The argument is converted to boolean, so e.g. null or &quot;&quot; become false.

Please change &quot;if async argument is something defined, send() should behave like as async=true&quot; to &quot;if async argument is a non-empty string, send() should behave like as async=true&quot;, because that&apos;s what the subtest verifies. One can make this change when landing, or you could submit a new patch if you want to use commit-queue.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196298</commentid>
    <comment_count>16</comment_count>
      <attachid>50077</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-04 18:33:49 -0800</bug_when>
    <thetext>Created attachment 50077
v5; rearrange test description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196299</commentid>
    <comment_count>17</comment_count>
      <attachid>50077</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-03-04 18:37:29 -0800</bug_when>
    <thetext>Comment on attachment 50077
v5; rearrange test description

Thank you for reviewing again!
I fixed confusing test description, and set commit-queue:?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196349</commentid>
    <comment_count>18</comment_count>
      <attachid>50077</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 21:35:44 -0800</bug_when>
    <thetext>Comment on attachment 50077
v5; rearrange test description

Clearing flags on attachment: 50077

Committed r55569: &lt;http://trac.webkit.org/changeset/55569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196350</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-04 21:35:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502898</commentid>
    <comment_count>20</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:04 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49880</attachid>
            <date>2010-03-02 22:48:43 -0800</date>
            <delta_ts>2010-03-02 23:15:40 -0800</delta_ts>
            <desc>patch v0</desc>
            <filename>bug-35630-20100303154841.patch</filename>
            <type>text/plain</type>
            <size>3793</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDc0YjRmNC4uNjdiZGVkMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wMiAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZzogWE1MSFRUUFJlcXVlc3Qub3BlbigpIHNob3Vs
ZCBoYXZlIGFsbCBvdmVybG9hZGVkIGltcGxlbWVudGF0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MzAKKworICAgICAgICBObyBuZXcgdGVz
dHMuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1hNTEh0dHBSZXF1ZXN0
OjpvcGVuKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MSHR0cFJlcXVlc3Q6Om9wZW4pOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dC5oOgorCiAyMDEwLTAxLTI4ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBlMjBiNmQ5
Li41NTk3YjgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1
c3RvbS5jcHAKQEAgLTY3LDIxICs2NywyMyBAQCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9w
ZW4oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQogCiAgICAgY29uc3QgS1VS
TCYgdXJsID0gaW1wbCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGFy
Z3MuYXQoMSkudG9TdHJpbmcoZXhlYykpOwogICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KDAp
LnRvU3RyaW5nKGV4ZWMpOwotICAgIGJvb2wgYXN5bmMgPSB0cnVlOwotICAgIGlmIChhcmdzLnNp
emUoKSA+PSAzKQotICAgICAgICBhc3luYyA9IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpOwog
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYg
IWFyZ3MuYXQoMykuaXNVbmRlZmluZWQoKSkgewotICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVl
VG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOwotCi0gICAgICAgIGlmIChh
cmdzLnNpemUoKSA+PSA1ICYmICFhcmdzLmF0KDQpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAg
ICAgIFN0cmluZyBwYXNzd29yZCA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFy
Z3MuYXQoNCkpOwotICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywg
dXNlciwgcGFzc3dvcmQsIGVjKTsKKyAgICBpZiAoYXJncy5zaXplKCkgPj0gMyAmJiAhYXJncy5h
dCgyKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGJvb2wgYXN5bmMgPSBhcmdzLmF0KDIpLnRv
Qm9vbGVhbihleGVjKTsKKworICAgICAgICBpZiAoYXJncy5zaXplKCkgPj0gNCAmJiAhYXJncy5h
dCgzKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9T
dHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOworICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAoYXJncy5zaXplKCkgPj0gNSAmJiAhYXJncy5hdCg0KS5pc1VuZGVmaW5lZCgp
KSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIHBhc3N3b3JkID0gdmFsdWVUb1N0cmluZ1dpdGhO
dWxsQ2hlY2soZXhlYywgYXJncy5hdCg0KSk7CisgICAgICAgICAgICAgICAgaW1wbCgpLT5vcGVu
KG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGVjKTsKKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVz
ZXIsIGVjKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CisgICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCBlYyk7CiAgICAgfSBlbHNlCi0gICAgICAgIGltcGwoKS0+b3BlbihtZXRo
b2QsIHVybCwgYXN5bmMsIGVjKTsKKyAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBl
Yyk7CiAKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwogICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDMyODE4ZGYuLjczMTUzOTcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI5Miw2ICsyOTIsMTEgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2V0V2l0aENyZWRlbnRpYWxzKGJvb2wgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
IG1faW5jbHVkZUNyZWRlbnRpYWxzID0gdmFsdWU7CiB9CiAKK3ZvaWQgWE1MSHR0cFJlcXVlc3Q6
Om9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmIHVybCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgIG9wZW4obWV0aG9kLCB1cmwsIHRydWUsIGVjKTsKK30KKwogdm9pZCBYTUxI
dHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYgdXJsLCBi
b29sIGFzeW5jLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpbnRlcm5hbEFib3J0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaAppbmRleCAyY2VhNWM2Li41ZTQ3ZDQxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
QEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIFN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsK
ICAgICBib29sIHdpdGhDcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1faW5jbHVkZUNyZWRl
bnRpYWxzOyB9CiAgICAgdm9pZCBzZXRXaXRoQ3JlZGVudGlhbHMoYm9vbCwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0
IEtVUkwmLCBib29sIGFzeW5jLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0
IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwgYm9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1
c2VyLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9k
LCBjb25zdCBLVVJMJiwgYm9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1c2VyLCBjb25zdCBTdHJp
bmcmIHBhc3N3b3JkLCBFeGNlcHRpb25Db2RlJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49883</attachid>
            <date>2010-03-02 23:15:45 -0800</date>
            <delta_ts>2010-03-03 01:25:55 -0800</delta_ts>
            <desc>patch v1; fix style violation</desc>
            <filename>bug-35630-20100303161543.patch</filename>
            <type>text/plain</type>
            <size>3795</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDc0YjRmNC4uNjdiZGVkMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wMiAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZzogWE1MSFRUUFJlcXVlc3Qub3BlbigpIHNob3Vs
ZCBoYXZlIGFsbCBvdmVybG9hZGVkIGltcGxlbWVudGF0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MzAKKworICAgICAgICBObyBuZXcgdGVz
dHMuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1hNTEh0dHBSZXF1ZXN0
OjpvcGVuKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MSHR0cFJlcXVlc3Q6Om9wZW4pOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dC5oOgorCiAyMDEwLTAxLTI4ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBlMjBiNmQ5
Li41NTk3YjgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVl
c3RDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1
c3RvbS5jcHAKQEAgLTY3LDIxICs2NywyMyBAQCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9w
ZW4oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQogCiAgICAgY29uc3QgS1VS
TCYgdXJsID0gaW1wbCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGFy
Z3MuYXQoMSkudG9TdHJpbmcoZXhlYykpOwogICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KDAp
LnRvU3RyaW5nKGV4ZWMpOwotICAgIGJvb2wgYXN5bmMgPSB0cnVlOwotICAgIGlmIChhcmdzLnNp
emUoKSA+PSAzKQotICAgICAgICBhc3luYyA9IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpOwog
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYg
IWFyZ3MuYXQoMykuaXNVbmRlZmluZWQoKSkgewotICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVl
VG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOwotCi0gICAgICAgIGlmIChh
cmdzLnNpemUoKSA+PSA1ICYmICFhcmdzLmF0KDQpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAg
ICAgIFN0cmluZyBwYXNzd29yZCA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFy
Z3MuYXQoNCkpOwotICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywg
dXNlciwgcGFzc3dvcmQsIGVjKTsKKyAgICBpZiAoYXJncy5zaXplKCkgPj0gMyAmJiAhYXJncy5h
dCgyKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIGJvb2wgYXN5bmMgPSBhcmdzLmF0KDIpLnRv
Qm9vbGVhbihleGVjKTsKKworICAgICAgICBpZiAoYXJncy5zaXplKCkgPj0gNCAmJiAhYXJncy5h
dCgzKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9T
dHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOworICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAoYXJncy5zaXplKCkgPj0gNSAmJiAhYXJncy5hdCg0KS5pc1VuZGVmaW5lZCgp
KSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIHBhc3N3b3JkID0gdmFsdWVUb1N0cmluZ1dpdGhO
dWxsQ2hlY2soZXhlYywgYXJncy5hdCg0KSk7CisgICAgICAgICAgICAgICAgaW1wbCgpLT5vcGVu
KG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGVjKTsKKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVz
ZXIsIGVjKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CisgICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCBlYyk7CiAgICAgfSBlbHNlCi0gICAgICAgIGltcGwoKS0+b3BlbihtZXRo
b2QsIHVybCwgYXN5bmMsIGVjKTsKKyAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBl
Yyk7CiAKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwogICAgIHJldHVybiBqc1VuZGVm
aW5lZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDMyODE4ZGYuLjBlMDRjY2IgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI5Miw2ICsyOTIsMTEgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2V0V2l0aENyZWRlbnRpYWxzKGJvb2wgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
IG1faW5jbHVkZUNyZWRlbnRpYWxzID0gdmFsdWU7CiB9CiAKK3ZvaWQgWE1MSHR0cFJlcXVlc3Q6
Om9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmIHVybCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgb3BlbihtZXRob2QsIHVybCwgdHJ1ZSwgZWMpOworfQorCiB2b2lkIFhN
TEh0dHBSZXF1ZXN0OjpvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiB1cmws
IGJvb2wgYXN5bmMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGludGVybmFsQWJvcnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCmluZGV4IDJjZWE1YzYuLjVlNDdkNDEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgU3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0
OwogICAgIGJvb2wgd2l0aENyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9pbmNsdWRlQ3Jl
ZGVudGlhbHM7IH0KICAgICB2b2lkIHNldFdpdGhDcmVkZW50aWFscyhib29sLCBFeGNlcHRpb25D
b2RlJik7CisgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29u
c3QgS1VSTCYsIGJvb2wgYXN5bmMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29u
c3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmLCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcm
IHVzZXIsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRo
b2QsIGNvbnN0IEtVUkwmLCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcmIHVzZXIsIGNvbnN0IFN0
cmluZyYgcGFzc3dvcmQsIEV4Y2VwdGlvbkNvZGUmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49886</attachid>
            <date>2010-03-03 01:26:00 -0800</date>
            <delta_ts>2010-03-03 21:11:00 -0800</delta_ts>
            <desc>v2; added v8 binding change</desc>
            <filename>bug-35630-20100303182558.patch</filename>
            <type>text/plain</type>
            <size>5604</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTU4YjljMS4uZDllMTczNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0wMyAgTU9SSVRBIEhhamlt
ZSA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nOiBYTUxIVFRQUmVxdWVzdC5vcGVuKCkgc2hvdWxk
IGhhdmUgYWxsIG92ZXJsb2FkZWQgaW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTYzMAorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6
Om9wZW4pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFj
ayk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlhNTEh0dHBSZXF1ZXN0OjpvcGVuKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoK
KwogMjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IE5vdCByZXZpZXdlZCwgdGVzdCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBlMjBiNmQ5Li41NTk3YjgwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTY3LDIxICs2Nywy
MyBAQCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4oRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBBcmdMaXN0JiBhcmdzKQogCiAgICAgY29uc3QgS1VSTCYgdXJsID0gaW1wbCgpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGFyZ3MuYXQoMSkudG9TdHJpbmcoZXhlYykp
OwogICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpOwotICAgIGJv
b2wgYXN5bmMgPSB0cnVlOwotICAgIGlmIChhcmdzLnNpemUoKSA+PSAzKQotICAgICAgICBhc3lu
YyA9IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYgIWFyZ3MuYXQoMykuaXNVbmRlZmluZWQo
KSkgewotICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4
ZWMsIGFyZ3MuYXQoMykpOwotCi0gICAgICAgIGlmIChhcmdzLnNpemUoKSA+PSA1ICYmICFhcmdz
LmF0KDQpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgICAgIFN0cmluZyBwYXNzd29yZCA9IHZh
bHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoNCkpOwotICAgICAgICAgICAg
aW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGVjKTsKKyAg
ICBpZiAoYXJncy5zaXplKCkgPj0gMyAmJiAhYXJncy5hdCgyKS5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgIGJvb2wgYXN5bmMgPSBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVjKTsKKworICAgICAg
ICBpZiAoYXJncy5zaXplKCkgPj0gNCAmJiAhYXJncy5hdCgzKS5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMs
IGFyZ3MuYXQoMykpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoYXJncy5zaXplKCkg
Pj0gNSAmJiAhYXJncy5hdCg0KS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAgICAgICAgU3Ry
aW5nIHBhc3N3b3JkID0gdmFsdWVUb1N0cmluZ1dpdGhOdWxsQ2hlY2soZXhlYywgYXJncy5hdCg0
KSk7CisgICAgICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNl
ciwgcGFzc3dvcmQsIGVjKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGlt
cGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIGVjKTsKICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7
CisgICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCBlYyk7CiAgICAg
fSBlbHNlCi0gICAgICAgIGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIGVjKTsKKyAg
ICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBlYyk7CiAKICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgZWMpOwogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBh
NmEwYzk4Li45YjU5NTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtNzMsMjAgKzczLDIzIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKIAogICAgIEtVUkwgdXJsID0gY29udGV4dC0+Y29tcGxldGVVUkwodXJs
c3RyaW5nKTsKIAotICAgIGJvb2wgYXN5bmMgPSAoYXJncy5MZW5ndGgoKSA8IDMpID8gdHJ1ZSA6
IGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpOwotCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0g
ICAgU3RyaW5nIHVzZXIsIHBhc3N3ZDsKLSAgICBpZiAoYXJncy5MZW5ndGgoKSA+PSA0ICYmICFh
cmdzWzNdLT5Jc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIHVzZXIgPSB0b1dlYkNvcmVTdHJpbmdX
aXRoTnVsbENoZWNrKGFyZ3NbM10pOwogCi0gICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID49IDUg
JiYgIWFyZ3NbNF0tPklzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgICAgIHBhc3N3ZCA9IHRvV2Vi
Q29yZVN0cmluZ1dpdGhOdWxsQ2hlY2soYXJnc1s0XSk7Ci0gICAgICAgICAgICB4bWxIdHRwUmVx
dWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3ZCwgZWMpOworICAgIGlm
IChhcmdzLkxlbmd0aCgpID49IDMgJiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAg
ICAgYm9vbCBhc3luYyA9IGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpOworCisgICAgICAgIGlmIChh
cmdzLkxlbmd0aCgpID49IDQgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAg
ICAgIFN0cmluZyB1c2VyID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhhcmdzWzNdKTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPj0gNSAmJiAhYXJn
c1s0XS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBwYXNzd2QgPSB0
b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKGFyZ3NbNF0pOworICAgICAgICAgICAgICAgIHht
bEh0dHBSZXF1ZXN0LT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dkLCBlYyk7
CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3Bl
bihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIGVjKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIGVjKTsK
KyAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgZWMp
OwogICAgIH0gZWxzZQotICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwg
YXN5bmMsIGVjKTsKKyAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGVj
KTsKIAogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCmluZGV4IDMyODE4ZGYuLjBlMDRjY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKQEAgLTI5Miw2ICsyOTIsMTEgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2V0V2l0aENyZWRl
bnRpYWxzKGJvb2wgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIG1faW5jbHVkZUNyZWRl
bnRpYWxzID0gdmFsdWU7CiB9CiAKK3ZvaWQgWE1MSHR0cFJlcXVlc3Q6Om9wZW4oY29uc3QgU3Ry
aW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
b3BlbihtZXRob2QsIHVybCwgdHJ1ZSwgZWMpOworfQorCiB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpv
cGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgYXN5bmMsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGludGVybmFsQWJvcnQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5o
CmluZGV4IDJjZWE1YzYuLjVlNDdkNDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNjYsNiArNjYs
NyBAQCBwdWJsaWM6CiAgICAgU3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0OwogICAgIGJvb2wgd2l0
aENyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9pbmNsdWRlQ3JlZGVudGlhbHM7IH0KICAg
ICB2b2lkIHNldFdpdGhDcmVkZW50aWFscyhib29sLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9p
ZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYsIGJvb2wg
YXN5bmMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRo
b2QsIGNvbnN0IEtVUkwmLCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcmIHVzZXIsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwm
LCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcmIHVzZXIsIGNvbnN0IFN0cmluZyYgcGFzc3dvcmQs
IEV4Y2VwdGlvbkNvZGUmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49980</attachid>
            <date>2010-03-03 21:11:05 -0800</date>
            <delta_ts>2010-03-03 23:55:10 -0800</delta_ts>
            <desc>v3; follow feedback</desc>
            <filename>bug-35630-20100304141103.patch</filename>
            <type>text/plain</type>
            <size>9136</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTg5OGZiLi4wZGE0ZjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MDMgIE1PUklUQSBIYWppbWUgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZzogWE1MSFRUUFJlcXVl
c3Qub3BlbigpIHNob3VsZCBoYXZlIGFsbCBvdmVybG9hZGVkIGltcGxlbWVudGF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MzAKKworICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Bl
bi1hc3luYy1vdmVybG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAg
PHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgdGVzdCBmaXguCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5
bmMtb3ZlcmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4yODNhNDk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1hNTEh0dHBSZXF1ZXN0Lm9wZW4oKSBzaG91bGQgYmUgY29y
cmVjdGx5IG92ZXJsb2FkZWQKKworUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdHJ1ZSwgc2Vu
ZCgpIHNob3VsZCBiZWhhdmUgYXN5bmNocm9ub3VzbHkKK1BBU1M6IGlmIGFzeW5jIGFyZ3VtZW50
IGlzIGZhbHNlLCBzZW5kKCkgc2hvdWxkIGJlaGF2ZSBzeW5jaHJvbm91c2x5CitQQVNTOiBpZiBh
c3luYyBhcmd1bWVudCBpcyBub3QgZ2l2ZW4sIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMg
YXN5bmM9dHJ1ZQorUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdW5kZWZpbmVkLCBzZW5kKCkg
c2hvdWxkIGJlaGF2ZSBsaWtlIGFzIGFzeW5jPWZhbHNlCitQQVNTOiBpZiBhc3luYyBhcmd1bWVu
dCBpcyBzb21ldGhpbmcgZGVmaW5lZCwgc2VuZCgpIHNob3VsZCBiZWhhdmUgbGlrZSBhcyBhc3lu
Yz10cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjRkYjVlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbApAQCAtMCwwICsx
LDU1IEBACis8aHRtbD4KKzxib2R5PgorPHA+WE1MSHR0cFJlcXVlc3Qub3BlbigpIHNob3VsZCBi
ZSBjb3JyZWN0bHkgb3ZlcmxvYWRlZDwvcD4KKzxzY3JpcHQ+CisKKyAgICB2YXIgY29uc29sZV9t
ZXNzYWdlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9sIik7CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChjb25zb2xlX21lc3NhZ2VzKTsKKworICAgIGZ1bmN0aW9uIGxvZyhtZXNz
YWdlKQorICAgIHsKKyAgICAgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJs
aSIpOworICAgICAgICBpdGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1l
c3NhZ2UpKTsKKyAgICAgICAgY29uc29sZV9tZXNzYWdlcy5hcHBlbmRDaGlsZChpdGVtKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCBhc3luYywgZGVzY3Jp
cHRpb24pCisgICAgeworICAgICAgICB2YXIgZXhwZWN0ZWRFdmVudENvdW50ID0gYXN5bmMgPyAw
IDogMjsKKyAgICAgICAgdmFyIGV2ZW50Q291bnQgPSAwOworCisgICAgICAgIHJlcS5vbnJlYWR5
c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsgZXZlbnRDb3VudCsrOyB9CisgICAgICAgIHJlcS5z
ZW5kKCk7CisKKyAgICAgICAgaWYgKGV2ZW50Q291bnQgPT0gZXhwZWN0ZWRFdmVudENvdW50KQor
ICAgICAgICAgIGxvZygiUEFTUzogIiArIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgZWxzZSAgICAg
ICAgCisgICAgICAgICAgbG9nKCJGQUlMOiAiICsgZGVzY3JpcHRpb24gKyAiIChleHBlY3RlZDoi
ICsgZXhwZWN0ZWRFdmVudENvdW50ICsgIiwgYWN0dWFsOiIgKyBldmVudENvdW50ICsiKSIpOwor
ICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHJlcSA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5jZ2kiLCB0cnVlKTsKKyAg
ICBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCB0cnVlLCAiaWYgYXN5bmMgYXJndW1lbnQgaXMgdHJ1
ZSwgc2VuZCgpIHNob3VsZCBiZWhhdmUgYXN5bmNocm9ub3VzbHkiKTsKKworICAgIHJlcSA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5jZ2kiLCBm
YWxzZSk7CisgICAgc2hvdWxkU2VuZEJlaGF2ZUFzKHJlcSwgZmFsc2UsICJpZiBhc3luYyBhcmd1
bWVudCBpcyBmYWxzZSwgc2VuZCgpIHNob3VsZCBiZWhhdmUgc3luY2hyb25vdXNseSIpOworCisg
ICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgcmVxLm9wZW4oIkdFVCIsICJtZXRo
b2RzLmNnaSIpOworICAgIHNob3VsZFNlbmRCZWhhdmVBcyhyZXEsIHRydWUsICJpZiBhc3luYyBh
cmd1bWVudCBpcyBub3QgZ2l2ZW4sIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMgYXN5bmM9
dHJ1ZSIpOworCisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgcmVxLm9wZW4o
IkdFVCIsICJtZXRob2RzLmNnaSIsIHVuZGVmaW5lZCk7CisgICAgc2hvdWxkU2VuZEJlaGF2ZUFz
KHJlcSwgZmFsc2UsICJpZiBhc3luYyBhcmd1bWVudCBpcyB1bmRlZmluZWQsIHNlbmQoKSBzaG91
bGQgYmVoYXZlIGxpa2UgYXMgYXN5bmM9ZmFsc2UiKTsKKworICAgIHJlcSA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5jZ2kiLCAiT0siKTsKKyAg
ICBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCB0cnVlLCAiaWYgYXN5bmMgYXJndW1lbnQgaXMgc29t
ZXRoaW5nIGRlZmluZWQsIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMgYXN5bmM9dHJ1ZSIp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU4YjljMS4uZjNhYTRlOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMC0wMy0wMyAgTU9SSVRBIEhhamltZSA8bW9ycml0YUBnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9y
aW5nOiBYTUxIVFRQUmVxdWVzdC5vcGVuKCkgc2hvdWxkIGhhdmUgYWxsIG92ZXJsb2FkZWQgaW1w
bGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTYzMAorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Bl
bi1hc3luYy1vdmVybG9hZC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1hNTEh0dHBS
ZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6Om9w
ZW4pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6Om9wZW5DYWxsYmFjayk6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhN
TEh0dHBSZXF1ZXN0OjpvcGVuKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwog
MjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5v
dCByZXZpZXdlZCwgdGVzdCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBS
ZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBlMjBiNmQ5Li42ODRkZTkxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAgLTY3LDIxICs2NywyMyBA
QCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBB
cmdMaXN0JiBhcmdzKQogCiAgICAgY29uc3QgS1VSTCYgdXJsID0gaW1wbCgpLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGFyZ3MuYXQoMSkudG9TdHJpbmcoZXhlYykpOwog
ICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KDApLnRvU3RyaW5nKGV4ZWMpOwotICAgIGJvb2wg
YXN5bmMgPSB0cnVlOwotICAgIGlmIChhcmdzLnNpemUoKSA+PSAzKQotICAgICAgICBhc3luYyA9
IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYgIWFyZ3MuYXQoMykuaXNVbmRlZmluZWQoKSkg
ewotICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMs
IGFyZ3MuYXQoMykpOwotCi0gICAgICAgIGlmIChhcmdzLnNpemUoKSA+PSA1ICYmICFhcmdzLmF0
KDQpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgICAgIFN0cmluZyBwYXNzd29yZCA9IHZhbHVl
VG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoNCkpOwotICAgICAgICAgICAgaW1w
bCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGVjKTsKKyAgICBp
ZiAoYXJncy5zaXplKCkgPj0gMykgeworICAgICAgICBib29sIGFzeW5jID0gYXJncy5hdCgyKS50
b0Jvb2xlYW4oZXhlYyk7CisKKyAgICAgICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYgIWFyZ3Mu
YXQoMykuaXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgU3RyaW5nIHVzZXIgPSB2YWx1ZVRv
U3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCBhcmdzLmF0KDMpKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgaWYgKGFyZ3Muc2l6ZSgpID49IDUgJiYgIWFyZ3MuYXQoNCkuaXNVbmRlZmluZWQo
KSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBwYXNzd29yZCA9IHZhbHVlVG9TdHJpbmdXaXRo
TnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoNCkpOworICAgICAgICAgICAgICAgIGltcGwoKS0+b3Bl
bihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3b3JkLCBlYyk7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1
c2VyLCBlYyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhv
ZCwgdXJsLCBhc3luYywgdXNlciwgZWMpOworICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhv
ZCwgdXJsLCBhc3luYywgZWMpOwogICAgIH0gZWxzZQotICAgICAgICBpbXBsKCktPm9wZW4obWV0
aG9kLCB1cmwsIGFzeW5jLCBlYyk7CisgICAgICAgIGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwg
ZWMpOwogCiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0
cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRw
UmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggYTZhMGM5OC4uZGNlMmQyMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAg
LTczLDIwICs3MywyMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6
b3BlbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKICAgICBLVVJMIHVybCA9
IGNvbnRleHQtPmNvbXBsZXRlVVJMKHVybHN0cmluZyk7CiAKLSAgICBib29sIGFzeW5jID0gKGFy
Z3MuTGVuZ3RoKCkgPCAzKSA/IHRydWUgOiBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKLQogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFN0cmluZyB1c2VyLCBwYXNzd2Q7Ci0gICAgaWYg
KGFyZ3MuTGVuZ3RoKCkgPj0gNCAmJiAhYXJnc1szXS0+SXNVbmRlZmluZWQoKSkgewotICAgICAg
ICB1c2VyID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhhcmdzWzNdKTsKIAotICAgICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA+PSA1ICYmICFhcmdzWzRdLT5Jc1VuZGVmaW5lZCgpKSB7Ci0g
ICAgICAgICAgICBwYXNzd2QgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKGFyZ3NbNF0p
OwotICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1
c2VyLCBwYXNzd2QsIGVjKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+PSAzKSB7CisgICAgICAg
IGJvb2wgYXN5bmMgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKworICAgICAgICBpZiAoYXJn
cy5MZW5ndGgoKSA+PSA0ICYmICFhcmdzWzNdLT5Jc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAg
ICBTdHJpbmcgdXNlciA9IHRvV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2soYXJnc1szXSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID49IDUgJiYgIWFyZ3Nb
NF0tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgcGFzc3dkID0gdG9X
ZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhhcmdzWzRdKTsKKyAgICAgICAgICAgICAgICB4bWxI
dHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3ZCwgZWMpOwor
ICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4o
bWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7Cisg
ICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIGVjKTsK
ICAgICB9IGVsc2UKLSAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGFz
eW5jLCBlYyk7CisgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5vcGVuKG1ldGhvZCwgdXJsLCBlYyk7
CiAKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAppbmRleCAzMjgxOGRmLi4wZTA0Y2NiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CkBAIC0yOTIsNiArMjkyLDExIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNldFdpdGhDcmVkZW50
aWFscyhib29sIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBtX2luY2x1ZGVDcmVkZW50
aWFscyA9IHZhbHVlOwogfQogCit2b2lkIFhNTEh0dHBSZXF1ZXN0OjpvcGVuKGNvbnN0IFN0cmlu
ZyYgbWV0aG9kLCBjb25zdCBLVVJMJiB1cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIG9w
ZW4obWV0aG9kLCB1cmwsIHRydWUsIGVjKTsKK30KKwogdm9pZCBYTUxIdHRwUmVxdWVzdDo6b3Bl
bihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYgdXJsLCBib29sIGFzeW5jLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpbnRlcm5hbEFib3J0KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApp
bmRleCAyY2VhNWM2Li41ZTQ3ZDQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTY2LDYgKzY2LDcg
QEAgcHVibGljOgogICAgIFN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKICAgICBib29sIHdpdGhD
cmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1faW5jbHVkZUNyZWRlbnRpYWxzOyB9CiAgICAg
dm9pZCBzZXRXaXRoQ3JlZGVudGlhbHMoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQg
b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmLCBib29sIGFz
eW5jLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9k
LCBjb25zdCBLVVJMJiwgYm9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1c2VyLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwg
Ym9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1c2VyLCBjb25zdCBTdHJpbmcmIHBhc3N3b3JkLCBF
eGNlcHRpb25Db2RlJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49992</attachid>
            <date>2010-03-03 23:55:15 -0800</date>
            <delta_ts>2010-03-04 18:33:43 -0800</delta_ts>
            <desc>v4; fix test to pass on ff</desc>
            <filename>bug-35630-20100304165513.patch</filename>
            <type>text/plain</type>
            <size>9037</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTg5OGZiLi4wZGE0ZjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MDMgIE1PUklUQSBIYWppbWUgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZzogWE1MSFRUUFJlcXVl
c3Qub3BlbigpIHNob3VsZCBoYXZlIGFsbCBvdmVybG9hZGVkIGltcGxlbWVudGF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MzAKKworICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Bl
bi1hc3luYy1vdmVybG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAg
PHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgdGVzdCBmaXguCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5
bmMtb3ZlcmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4yODNhNDk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1hNTEh0dHBSZXF1ZXN0Lm9wZW4oKSBzaG91bGQgYmUgY29y
cmVjdGx5IG92ZXJsb2FkZWQKKworUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdHJ1ZSwgc2Vu
ZCgpIHNob3VsZCBiZWhhdmUgYXN5bmNocm9ub3VzbHkKK1BBU1M6IGlmIGFzeW5jIGFyZ3VtZW50
IGlzIGZhbHNlLCBzZW5kKCkgc2hvdWxkIGJlaGF2ZSBzeW5jaHJvbm91c2x5CitQQVNTOiBpZiBh
c3luYyBhcmd1bWVudCBpcyBub3QgZ2l2ZW4sIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMg
YXN5bmM9dHJ1ZQorUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdW5kZWZpbmVkLCBzZW5kKCkg
c2hvdWxkIGJlaGF2ZSBsaWtlIGFzIGFzeW5jPWZhbHNlCitQQVNTOiBpZiBhc3luYyBhcmd1bWVu
dCBpcyBzb21ldGhpbmcgZGVmaW5lZCwgc2VuZCgpIHNob3VsZCBiZWhhdmUgbGlrZSBhcyBhc3lu
Yz10cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc2OWZjNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbApAQCAtMCwwICsx
LDUzIEBACis8aHRtbD4KKzxib2R5PgorPHA+WE1MSHR0cFJlcXVlc3Qub3BlbigpIHNob3VsZCBi
ZSBjb3JyZWN0bHkgb3ZlcmxvYWRlZDwvcD4KKzxzY3JpcHQ+CisKKyAgICB2YXIgY29uc29sZV9t
ZXNzYWdlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9sIik7CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChjb25zb2xlX21lc3NhZ2VzKTsKKworICAgIGZ1bmN0aW9uIGxvZyhtZXNz
YWdlKQorICAgIHsKKyAgICAgICAgdmFyIGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJs
aSIpOworICAgICAgICBpdGVtLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1l
c3NhZ2UpKTsKKyAgICAgICAgY29uc29sZV9tZXNzYWdlcy5hcHBlbmRDaGlsZChpdGVtKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCBhc3luYywgZGVzY3Jp
cHRpb24pCisgICAgeworICAgICAgICB2YXIgZXhwZWN0ZWRTdGF0ZSA9IGFzeW5jID8gMSA6IDQ7
CisKKyAgICAgICAgcmVxLnNlbmQoKTsKKworICAgICAgICBpZiAocmVxLnJlYWR5U3RhdGUgPT0g
ZXhwZWN0ZWRTdGF0ZSkKKyAgICAgICAgICBsb2coIlBBU1M6ICIgKyBkZXNjcmlwdGlvbik7Cisg
ICAgICAgIGVsc2UgICAgICAgIAorICAgICAgICAgIGxvZygiRkFJTDogIiArIGRlc2NyaXB0aW9u
ICsgIiAoZXhwZWN0ZWQ6IiArIGV4cGVjdGVkU3RhdGUgKyAiLCBhY3R1YWw6IiArIHJlcS5yZWFk
eVN0YXRlICsiKSIpOworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHJl
cSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5j
Z2kiLCB0cnVlKTsKKyAgICBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCB0cnVlLCAiaWYgYXN5bmMg
YXJndW1lbnQgaXMgdHJ1ZSwgc2VuZCgpIHNob3VsZCBiZWhhdmUgYXN5bmNocm9ub3VzbHkiKTsK
KworICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAi
bWV0aG9kcy5jZ2kiLCBmYWxzZSk7CisgICAgc2hvdWxkU2VuZEJlaGF2ZUFzKHJlcSwgZmFsc2Us
ICJpZiBhc3luYyBhcmd1bWVudCBpcyBmYWxzZSwgc2VuZCgpIHNob3VsZCBiZWhhdmUgc3luY2hy
b25vdXNseSIpOworCisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgcmVxLm9w
ZW4oIkdFVCIsICJtZXRob2RzLmNnaSIpOworICAgIHNob3VsZFNlbmRCZWhhdmVBcyhyZXEsIHRy
dWUsICJpZiBhc3luYyBhcmd1bWVudCBpcyBub3QgZ2l2ZW4sIHNlbmQoKSBzaG91bGQgYmVoYXZl
IGxpa2UgYXMgYXN5bmM9dHJ1ZSIpOworCisgICAgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
CisgICAgcmVxLm9wZW4oIkdFVCIsICJtZXRob2RzLmNnaSIsIHVuZGVmaW5lZCk7CisgICAgc2hv
dWxkU2VuZEJlaGF2ZUFzKHJlcSwgZmFsc2UsICJpZiBhc3luYyBhcmd1bWVudCBpcyB1bmRlZmlu
ZWQsIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMgYXN5bmM9ZmFsc2UiKTsKKworICAgIHJl
cSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5j
Z2kiLCAiT0siKTsKKyAgICBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCB0cnVlLCAiaWYgYXN5bmMg
YXJndW1lbnQgaXMgc29tZXRoaW5nIGRlZmluZWQsIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2Ug
YXMgYXN5bmM9dHJ1ZSIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU4YjljMS4u
ZjNhYTRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMy0wMyAgTU9SSVRBIEhhamltZSA8bW9ycml0
YUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlZmFjdG9yaW5nOiBYTUxIVFRQUmVxdWVzdC5vcGVuKCkgc2hvdWxkIGhhdmUgYWxs
IG92ZXJsb2FkZWQgaW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNTYzMAorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1M
SHR0cFJlcXVlc3Q6Om9wZW4pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0cFJlcXVlc3Q6
Om9wZW5DYWxsYmFjayk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpvcGVuKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuaDoKKwogMjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgdGVzdCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBlMjBiNmQ5Li42ODRkZTkxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3Bw
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKQEAg
LTY3LDIxICs2NywyMyBAQCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6Om9wZW4oRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQogCiAgICAgY29uc3QgS1VSTCYgdXJsID0gaW1w
bCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGFyZ3MuYXQoMSkudG9T
dHJpbmcoZXhlYykpOwogICAgIFN0cmluZyBtZXRob2QgPSBhcmdzLmF0KDApLnRvU3RyaW5nKGV4
ZWMpOwotICAgIGJvb2wgYXN5bmMgPSB0cnVlOwotICAgIGlmIChhcmdzLnNpemUoKSA+PSAzKQot
ICAgICAgICBhc3luYyA9IGFyZ3MuYXQoMikudG9Cb29sZWFuKGV4ZWMpOwogCiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDQgJiYgIWFyZ3MuYXQoMyku
aXNVbmRlZmluZWQoKSkgewotICAgICAgICBTdHJpbmcgdXNlciA9IHZhbHVlVG9TdHJpbmdXaXRo
TnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOwotCi0gICAgICAgIGlmIChhcmdzLnNpemUoKSA+
PSA1ICYmICFhcmdzLmF0KDQpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgICAgIFN0cmluZyBw
YXNzd29yZCA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoNCkpOwot
ICAgICAgICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dv
cmQsIGVjKTsKKyAgICBpZiAoYXJncy5zaXplKCkgPj0gMykgeworICAgICAgICBib29sIGFzeW5j
ID0gYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYyk7CisKKyAgICAgICAgaWYgKGFyZ3Muc2l6ZSgp
ID49IDQgJiYgIWFyZ3MuYXQoMykuaXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgU3RyaW5n
IHVzZXIgPSB2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCBhcmdzLmF0KDMpKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGFyZ3Muc2l6ZSgpID49IDUgJiYgIWFyZ3MuYXQo
NCkuaXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgICAgIFN0cmluZyBwYXNzd29yZCA9IHZh
bHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoNCkpOworICAgICAgICAgICAg
ICAgIGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3b3JkLCBlYyk7
CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW1w
bCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgZWMpOworICAgICAgICAgICAgaW1w
bCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgZWMpOwogICAgIH0gZWxzZQotICAgICAgICBp
bXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCBlYyk7CisgICAgICAgIGltcGwoKS0+b3Bl
bihtZXRob2QsIHVybCwgZWMpOwogCiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXggYTZhMGM5OC4uZGNlMmQyMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVz
dEN1c3RvbS5jcHAKQEAgLTczLDIwICs3MywyMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhY
TUxIdHRwUmVxdWVzdDo6b3BlbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAK
ICAgICBLVVJMIHVybCA9IGNvbnRleHQtPmNvbXBsZXRlVVJMKHVybHN0cmluZyk7CiAKLSAgICBi
b29sIGFzeW5jID0gKGFyZ3MuTGVuZ3RoKCkgPCAzKSA/IHRydWUgOiBhcmdzWzJdLT5Cb29sZWFu
VmFsdWUoKTsKLQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFN0cmluZyB1c2VyLCBw
YXNzd2Q7Ci0gICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPj0gNCAmJiAhYXJnc1szXS0+SXNVbmRlZmlu
ZWQoKSkgewotICAgICAgICB1c2VyID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhhcmdz
WzNdKTsKIAotICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA+PSA1ICYmICFhcmdzWzRdLT5Jc1Vu
ZGVmaW5lZCgpKSB7Ci0gICAgICAgICAgICBwYXNzd2QgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVs
bENoZWNrKGFyZ3NbNF0pOwotICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9k
LCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNzd2QsIGVjKTsKKyAgICBpZiAoYXJncy5MZW5ndGgoKSA+
PSAzKSB7CisgICAgICAgIGJvb2wgYXN5bmMgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKwor
ICAgICAgICBpZiAoYXJncy5MZW5ndGgoKSA+PSA0ICYmICFhcmdzWzNdLT5Jc1VuZGVmaW5lZCgp
KSB7CisgICAgICAgICAgICBTdHJpbmcgdXNlciA9IHRvV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hl
Y2soYXJnc1szXSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChhcmdzLkxlbmd0aCgp
ID49IDUgJiYgIWFyZ3NbNF0tPklzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgICAgICAgICBTdHJp
bmcgcGFzc3dkID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhhcmdzWzRdKTsKKyAgICAg
ICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIs
IHBhc3N3ZCwgZWMpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgeG1sSHR0
cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CiAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5j
LCB1c2VyLCBlYyk7CisgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVy
bCwgYXN5bmMsIGVjKTsKICAgICB9IGVsc2UKLSAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4o
bWV0aG9kLCB1cmwsIGFzeW5jLCBlYyk7CisgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5vcGVuKG1l
dGhvZCwgdXJsLCBlYyk7CiAKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KGVjKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAzMjgxOGRmLi4wZTA0Y2NiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC0yOTIsNiArMjkyLDExIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6
OnNldFdpdGhDcmVkZW50aWFscyhib29sIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBt
X2luY2x1ZGVDcmVkZW50aWFscyA9IHZhbHVlOwogfQogCit2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpv
cGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiB1cmwsIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIG9wZW4obWV0aG9kLCB1cmwsIHRydWUsIGVjKTsKK30KKwogdm9pZCBYTUxI
dHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYgdXJsLCBi
b29sIGFzeW5jLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpbnRlcm5hbEFib3J0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaAppbmRleCAyY2VhNWM2Li41ZTQ3ZDQxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
QEAgLTY2LDYgKzY2LDcgQEAgcHVibGljOgogICAgIFN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsK
ICAgICBib29sIHdpdGhDcmVkZW50aWFscygpIGNvbnN0IHsgcmV0dXJuIG1faW5jbHVkZUNyZWRl
bnRpYWxzOyB9CiAgICAgdm9pZCBzZXRXaXRoQ3JlZGVudGlhbHMoYm9vbCwgRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0
IEtVUkwmLCBib29sIGFzeW5jLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0
IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwgYm9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1
c2VyLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9k
LCBjb25zdCBLVVJMJiwgYm9vbCBhc3luYywgY29uc3QgU3RyaW5nJiB1c2VyLCBjb25zdCBTdHJp
bmcmIHBhc3N3b3JkLCBFeGNlcHRpb25Db2RlJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50077</attachid>
            <date>2010-03-04 18:33:49 -0800</date>
            <delta_ts>2010-03-04 21:35:44 -0800</delta_ts>
            <desc>v5; rearrange test description</desc>
            <filename>bug-35630-20100305113347.patch</filename>
            <type>text/plain</type>
            <size>9039</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3YTg5OGZiLi4wZGE0ZjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MDMgIE1PUklUQSBIYWppbWUgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZzogWE1MSFRUUFJlcXVl
c3Qub3BlbigpIHNob3VsZCBoYXZlIGFsbCBvdmVybG9hZGVkIGltcGxlbWVudGF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MzAKKworICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Blbi1hc3luYy1vdmVybG9hZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb3Bl
bi1hc3luYy1vdmVybG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMy0wMiAgVG9ueSBDaGFuZyAg
PHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgdGVzdCBmaXguCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29wZW4tYXN5
bmMtb3ZlcmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5iYmU4NTM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1hNTEh0dHBSZXF1ZXN0Lm9wZW4oKSBzaG91bGQgYmUgY29y
cmVjdGx5IG92ZXJsb2FkZWQKKworUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdHJ1ZSwgc2Vu
ZCgpIHNob3VsZCBiZWhhdmUgYXN5bmNocm9ub3VzbHkKK1BBU1M6IGlmIGFzeW5jIGFyZ3VtZW50
IGlzIGZhbHNlLCBzZW5kKCkgc2hvdWxkIGJlaGF2ZSBzeW5jaHJvbm91c2x5CitQQVNTOiBpZiBh
c3luYyBhcmd1bWVudCBpcyBub3QgZ2l2ZW4sIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMg
YXN5bmM9dHJ1ZQorUEFTUzogaWYgYXN5bmMgYXJndW1lbnQgaXMgdW5kZWZpbmVkLCBzZW5kKCkg
c2hvdWxkIGJlaGF2ZSBsaWtlIGFzIGFzeW5jPWZhbHNlCitQQVNTOiBpZiBhc3luYyBhcmd1bWVu
dCBpcyBhIG5vbi1lbXB0eSBzdHJpbmcsIHNlbmQoKSBzaG91bGQgYmVoYXZlIGxpa2UgYXMgYXN5
bmM9dHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9vcGVuLWFzeW5jLW92ZXJsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L29wZW4tYXN5bmMtb3ZlcmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5mNDk1MmQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLmh0bWwKQEAgLTAsMCAr
MSw1MyBAQAorPGh0bWw+Cis8Ym9keT4KKzxwPlhNTEh0dHBSZXF1ZXN0Lm9wZW4oKSBzaG91bGQg
YmUgY29ycmVjdGx5IG92ZXJsb2FkZWQ8L3A+Cis8c2NyaXB0PgorCisgICAgdmFyIGNvbnNvbGVf
bWVzc2FnZXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvbCIpOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoY29uc29sZV9tZXNzYWdlcyk7CisKKyAgICBmdW5jdGlvbiBsb2cobWVz
c2FnZSkKKyAgICB7CisgICAgICAgIHZhciBpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bGkiKTsKKyAgICAgICAgaXRlbS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSht
ZXNzYWdlKSk7CisgICAgICAgIGNvbnNvbGVfbWVzc2FnZXMuYXBwZW5kQ2hpbGQoaXRlbSk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc2hvdWxkU2VuZEJlaGF2ZUFzKHJlcSwgYXN5bmMsIGRlc2Ny
aXB0aW9uKQorICAgIHsKKyAgICAgICAgdmFyIGV4cGVjdGVkU3RhdGUgPSBhc3luYyA/IDEgOiA0
OworCisgICAgICAgIHJlcS5zZW5kKCk7CisKKyAgICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlID09
IGV4cGVjdGVkU3RhdGUpCisgICAgICAgICAgbG9nKCJQQVNTOiAiICsgZGVzY3JpcHRpb24pOwor
ICAgICAgICBlbHNlICAgICAgICAKKyAgICAgICAgICBsb2coIkZBSUw6ICIgKyBkZXNjcmlwdGlv
biArICIgKGV4cGVjdGVkOiIgKyBleHBlY3RlZFN0YXRlICsgIiwgYWN0dWFsOiIgKyByZXEucmVh
ZHlTdGF0ZSArIikiKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICBy
ZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEub3BlbigiR0VUIiwgIm1ldGhvZHMu
Y2dpIiwgdHJ1ZSk7CisgICAgc2hvdWxkU2VuZEJlaGF2ZUFzKHJlcSwgdHJ1ZSwgImlmIGFzeW5j
IGFyZ3VtZW50IGlzIHRydWUsIHNlbmQoKSBzaG91bGQgYmVoYXZlIGFzeW5jaHJvbm91c2x5Iik7
CisKKyAgICByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEub3BlbigiR0VUIiwg
Im1ldGhvZHMuY2dpIiwgZmFsc2UpOworICAgIHNob3VsZFNlbmRCZWhhdmVBcyhyZXEsIGZhbHNl
LCAiaWYgYXN5bmMgYXJndW1lbnQgaXMgZmFsc2UsIHNlbmQoKSBzaG91bGQgYmVoYXZlIHN5bmNo
cm9ub3VzbHkiKTsKKworICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5v
cGVuKCJHRVQiLCAibWV0aG9kcy5jZ2kiKTsKKyAgICBzaG91bGRTZW5kQmVoYXZlQXMocmVxLCB0
cnVlLCAiaWYgYXN5bmMgYXJndW1lbnQgaXMgbm90IGdpdmVuLCBzZW5kKCkgc2hvdWxkIGJlaGF2
ZSBsaWtlIGFzIGFzeW5jPXRydWUiKTsKKworICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OworICAgIHJlcS5vcGVuKCJHRVQiLCAibWV0aG9kcy5jZ2kiLCB1bmRlZmluZWQpOworICAgIHNo
b3VsZFNlbmRCZWhhdmVBcyhyZXEsIGZhbHNlLCAiaWYgYXN5bmMgYXJndW1lbnQgaXMgdW5kZWZp
bmVkLCBzZW5kKCkgc2hvdWxkIGJlaGF2ZSBsaWtlIGFzIGFzeW5jPWZhbHNlIik7CisKKyAgICBy
ZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEub3BlbigiR0VUIiwgIm1ldGhvZHMu
Y2dpIiwgIk9LIik7CisgICAgc2hvdWxkU2VuZEJlaGF2ZUFzKHJlcSwgdHJ1ZSwgImlmIGFzeW5j
IGFyZ3VtZW50IGlzIGEgbm9uLWVtcHR5IHN0cmluZywgc2VuZCgpIHNob3VsZCBiZWhhdmUgbGlr
ZSBhcyBhc3luYz10cnVlIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNThiOWMx
Li5mM2FhNGU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTAzLTAzICBNT1JJVEEgSGFqaW1lIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVmYWN0b3Jpbmc6IFhNTEhUVFBSZXF1ZXN0Lm9wZW4oKSBzaG91bGQgaGF2ZSBh
bGwgb3ZlcmxvYWRlZCBpbXBsZW1lbnRhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NjMwCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9vcGVuLWFzeW5jLW92ZXJsb2FkLmh0bWwKKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNY
TUxIdHRwUmVxdWVzdDo6b3Blbik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4WE1M
SHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhYTUxIdHRwUmVxdWVz
dDo6b3BlbkNhbGxiYWNrKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Om9wZW4pOgorICAgICAgICAqIHhtbC9YTUxI
dHRwUmVxdWVzdC5oOgorCiAyMDEwLTAzLTAyICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLCB0ZXN0IGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTWE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCmluZGV4IGUyMGI2ZDkuLjY4NGRlOTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApA
QCAtNjcsMjEgKzY3LDIzIEBAIEpTVmFsdWUgSlNYTUxIdHRwUmVxdWVzdDo6b3BlbihFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiAKICAgICBjb25zdCBLVVJMJiB1cmwgPSBp
bXBsKCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29tcGxldGVVUkwoYXJncy5hdCgxKS50
b1N0cmluZyhleGVjKSk7CiAgICAgU3RyaW5nIG1ldGhvZCA9IGFyZ3MuYXQoMCkudG9TdHJpbmco
ZXhlYyk7Ci0gICAgYm9vbCBhc3luYyA9IHRydWU7Ci0gICAgaWYgKGFyZ3Muc2l6ZSgpID49IDMp
Ci0gICAgICAgIGFzeW5jID0gYXJncy5hdCgyKS50b0Jvb2xlYW4oZXhlYyk7CiAKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKLSAgICBpZiAoYXJncy5zaXplKCkgPj0gNCAmJiAhYXJncy5hdCgz
KS5pc1VuZGVmaW5lZCgpKSB7Ci0gICAgICAgIFN0cmluZyB1c2VyID0gdmFsdWVUb1N0cmluZ1dp
dGhOdWxsQ2hlY2soZXhlYywgYXJncy5hdCgzKSk7Ci0KLSAgICAgICAgaWYgKGFyZ3Muc2l6ZSgp
ID49IDUgJiYgIWFyZ3MuYXQoNCkuaXNVbmRlZmluZWQoKSkgewotICAgICAgICAgICAgU3RyaW5n
IHBhc3N3b3JkID0gdmFsdWVUb1N0cmluZ1dpdGhOdWxsQ2hlY2soZXhlYywgYXJncy5hdCg0KSk7
Ci0gICAgICAgICAgICBpbXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBwYXNz
d29yZCwgZWMpOworICAgIGlmIChhcmdzLnNpemUoKSA+PSAzKSB7CisgICAgICAgIGJvb2wgYXN5
bmMgPSBhcmdzLmF0KDIpLnRvQm9vbGVhbihleGVjKTsKKworICAgICAgICBpZiAoYXJncy5zaXpl
KCkgPj0gNCAmJiAhYXJncy5hdCgzKS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAgICBTdHJp
bmcgdXNlciA9IHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIGFyZ3MuYXQoMykpOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoYXJncy5zaXplKCkgPj0gNSAmJiAhYXJncy5h
dCg0KS5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgICAgICAgICAgU3RyaW5nIHBhc3N3b3JkID0g
dmFsdWVUb1N0cmluZ1dpdGhOdWxsQ2hlY2soZXhlYywgYXJncy5hdCg0KSk7CisgICAgICAgICAg
ICAgICAgaW1wbCgpLT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNlciwgcGFzc3dvcmQsIGVj
KTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGltcGwoKS0+b3BlbihtZXRo
b2QsIHVybCwgYXN5bmMsIHVzZXIsIGVjKTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBp
bXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCB1c2VyLCBlYyk7CisgICAgICAgICAgICBp
bXBsKCktPm9wZW4obWV0aG9kLCB1cmwsIGFzeW5jLCBlYyk7CiAgICAgfSBlbHNlCi0gICAgICAg
IGltcGwoKS0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIGVjKTsKKyAgICAgICAgaW1wbCgpLT5v
cGVuKG1ldGhvZCwgdXJsLCBlYyk7CiAKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwog
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAppbmRleCBhNmEwYzk4Li5kY2UyZDIx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0
Q3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1
ZXN0Q3VzdG9tLmNwcApAQCAtNzMsMjAgKzczLDIzIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFhNTEh0dHBSZXF1ZXN0OjpvcGVuQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
IAogICAgIEtVUkwgdXJsID0gY29udGV4dC0+Y29tcGxldGVVUkwodXJsc3RyaW5nKTsKIAotICAg
IGJvb2wgYXN5bmMgPSAoYXJncy5MZW5ndGgoKSA8IDMpID8gdHJ1ZSA6IGFyZ3NbMl0tPkJvb2xl
YW5WYWx1ZSgpOwotCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgU3RyaW5nIHVzZXIs
IHBhc3N3ZDsKLSAgICBpZiAoYXJncy5MZW5ndGgoKSA+PSA0ICYmICFhcmdzWzNdLT5Jc1VuZGVm
aW5lZCgpKSB7Ci0gICAgICAgIHVzZXIgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKGFy
Z3NbM10pOwogCi0gICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID49IDUgJiYgIWFyZ3NbNF0tPklz
VW5kZWZpbmVkKCkpIHsKLSAgICAgICAgICAgIHBhc3N3ZCA9IHRvV2ViQ29yZVN0cmluZ1dpdGhO
dWxsQ2hlY2soYXJnc1s0XSk7Ci0gICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRo
b2QsIHVybCwgYXN5bmMsIHVzZXIsIHBhc3N3ZCwgZWMpOworICAgIGlmIChhcmdzLkxlbmd0aCgp
ID49IDMpIHsKKyAgICAgICAgYm9vbCBhc3luYyA9IGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpOwor
CisgICAgICAgIGlmIChhcmdzLkxlbmd0aCgpID49IDQgJiYgIWFyZ3NbM10tPklzVW5kZWZpbmVk
KCkpIHsKKyAgICAgICAgICAgIFN0cmluZyB1c2VyID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxD
aGVjayhhcmdzWzNdKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGFyZ3MuTGVuZ3Ro
KCkgPj0gNSAmJiAhYXJnc1s0XS0+SXNVbmRlZmluZWQoKSkgeworICAgICAgICAgICAgICAgIFN0
cmluZyBwYXNzd2QgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbENoZWNrKGFyZ3NbNF0pOworICAg
ICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5vcGVuKG1ldGhvZCwgdXJsLCBhc3luYywgdXNl
ciwgcGFzc3dkLCBlYyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB4bWxI
dHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5bmMsIHVzZXIsIGVjKTsKICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3BlbihtZXRob2QsIHVybCwgYXN5
bmMsIHVzZXIsIGVjKTsKKyAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5vcGVuKG1ldGhvZCwg
dXJsLCBhc3luYywgZWMpOwogICAgIH0gZWxzZQotICAgICAgICB4bWxIdHRwUmVxdWVzdC0+b3Bl
bihtZXRob2QsIHVybCwgYXN5bmMsIGVjKTsKKyAgICAgICAgeG1sSHR0cFJlcXVlc3QtPm9wZW4o
bWV0aG9kLCB1cmwsIGVjKTsKIAogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoZWMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDMyODE4ZGYuLjBlMDRjY2IgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI5Miw2ICsyOTIsMTEgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2V0V2l0aENyZWRlbnRpYWxzKGJvb2wgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
IG1faW5jbHVkZUNyZWRlbnRpYWxzID0gdmFsdWU7CiB9CiAKK3ZvaWQgWE1MSHR0cFJlcXVlc3Q6
Om9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmIHVybCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgb3BlbihtZXRob2QsIHVybCwgdHJ1ZSwgZWMpOworfQorCiB2b2lkIFhN
TEh0dHBSZXF1ZXN0OjpvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiB1cmws
IGJvb2wgYXN5bmMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGludGVybmFsQWJvcnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCmluZGV4IDJjZWE1YzYuLjVlNDdkNDEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aApAQCAtNjYsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgU3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0
OwogICAgIGJvb2wgd2l0aENyZWRlbnRpYWxzKCkgY29uc3QgeyByZXR1cm4gbV9pbmNsdWRlQ3Jl
ZGVudGlhbHM7IH0KICAgICB2b2lkIHNldFdpdGhDcmVkZW50aWFscyhib29sLCBFeGNlcHRpb25D
b2RlJik7CisgICAgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29u
c3QgS1VSTCYsIGJvb2wgYXN5bmMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29u
c3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmLCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcm
IHVzZXIsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBtZXRo
b2QsIGNvbnN0IEtVUkwmLCBib29sIGFzeW5jLCBjb25zdCBTdHJpbmcmIHVzZXIsIGNvbnN0IFN0
cmluZyYgcGFzc3dvcmQsIEV4Y2VwdGlvbkNvZGUmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>