<?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>80650</bug_id>
          
          <creation_ts>2012-03-08 16:00:30 -0800</creation_ts>
          <short_desc>[WebSocket] Add a layout test where server force to disable all extensions</short_desc>
          <delta_ts>2012-03-09 03:40:41 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Toyoshima">toyoshim</reporter>
          <assigned_to name="Takashi Toyoshima">toyoshim</assigned_to>
          <cc>bashi</cc>
    
    <cc>hnandor</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>574344</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 16:00:30 -0800</bug_when>
    <thetext>Currently, WebSocket extensions which WebKit implement are all enabled by default.
But this enabled extension list could be changed when WebKit support other extensions or rename existing extensions.
It means that the expectation of a test which verify extensions property depends on WebKit.
This is not good for embedder&apos;s unit tests.

So, I&apos;d like to add a layout test where server pyewebsocket just omit all extensions and the extensions property returns empty string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574375</commentid>
    <comment_count>1</comment_count>
      <attachid>130937</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 16:33:35 -0800</bug_when>
    <thetext>Created attachment 130937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574399</commentid>
    <comment_count>2</comment_count>
      <attachid>130937</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-03-08 17:07:26 -0800</bug_when>
    <thetext>Comment on attachment 130937
Patch

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

&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension.html:25
&gt; +    shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;x-webkit-deflate-frame&quot;);

shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;&quot;); ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574408</commentid>
    <comment_count>3</comment_count>
      <attachid>130937</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 17:12:12 -0800</bug_when>
    <thetext>Comment on attachment 130937
Patch

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

&gt;&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension.html:25
&gt;&gt; +    shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;x-webkit-deflate-frame&quot;);
&gt; 
&gt; shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;&quot;); ?

Oops, right.
I mistakenly overwrite the expectation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574412</commentid>
    <comment_count>4</comment_count>
      <attachid>130940</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 17:14:51 -0800</bug_when>
    <thetext>Created attachment 130940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574551</commentid>
    <comment_count>5</comment_count>
      <attachid>130940</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-08 20:34:36 -0800</bug_when>
    <thetext>Comment on attachment 130940
Patch

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

&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension-expected.txt:7
&gt; +PASS ws.extensions is &quot;&quot;
&gt; +PASS ws.extensions is &quot;&quot;
&gt; +PASS ws.extensions is &quot;&quot;

It&apos;s hard to understand what are tested here with this result. At least we should show:

Check the value before opening the connection:
PASS ws.extensions is &quot;&quot;
PASS ws.extensions = &quot;foo&quot;; ws.extensions is &quot;&quot;
Check the value after opening the connection:
PASS ws.extensions is &quot;&quot;

&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension.html:21
&gt; +ws.extensions = &quot;foo&quot;;
&gt; +shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;&quot;);

I prefer shouldBeEqualToString(&quot;ws.extensions = &apos;foo&apos;; ws.extensions&quot;, &quot;&quot;);

&gt; LayoutTests/http/tests/websocket/tests/hybi/extensions-expected.txt:7
&gt;  PASS ws.extensions is &quot;&quot;
&gt;  PASS ws.extensions is &quot;&quot;
&gt; +PASS ws.extensions is &quot;x-webkit-deflate-frame&quot;

I&apos;d like to make the same comment with echo-with-no-extension-expected.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574590</commentid>
    <comment_count>6</comment_count>
      <attachid>130940</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 21:25:20 -0800</bug_when>
    <thetext>Comment on attachment 130940
Patch

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

&gt;&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension-expected.txt:7
&gt;&gt; +PASS ws.extensions is &quot;&quot;
&gt; 
&gt; It&apos;s hard to understand what are tested here with this result. At least we should show:
&gt; 
&gt; Check the value before opening the connection:
&gt; PASS ws.extensions is &quot;&quot;
&gt; PASS ws.extensions = &quot;foo&quot;; ws.extensions is &quot;&quot;
&gt; Check the value after opening the connection:
&gt; PASS ws.extensions is &quot;&quot;

Agreed.

&gt;&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension.html:21
&gt;&gt; +shouldBeEqualToString(&quot;ws.extensions&quot;, &quot;&quot;);
&gt; 
&gt; I prefer shouldBeEqualToString(&quot;ws.extensions = &apos;foo&apos;; ws.extensions&quot;, &quot;&quot;);

I see.

&gt;&gt; LayoutTests/http/tests/websocket/tests/hybi/extensions-expected.txt:7
&gt;&gt; +PASS ws.extensions is &quot;x-webkit-deflate-frame&quot;
&gt; 
&gt; I&apos;d like to make the same comment with echo-with-no-extension-expected.txt.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574592</commentid>
    <comment_count>7</comment_count>
      <attachid>130975</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-03-08 21:26:01 -0800</bug_when>
    <thetext>Created attachment 130975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574594</commentid>
    <comment_count>8</comment_count>
      <attachid>130975</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-08 21:27:41 -0800</bug_when>
    <thetext>Comment on attachment 130975
Patch

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

&gt; LayoutTests/http/tests/websocket/tests/hybi/echo-with-no-extension.html:21
&gt; +// extensions attribute is read-only.
&gt; +debug(&quot;Check if the value is read only:&quot;);

nit: The comment is not helpful.

&gt; LayoutTests/http/tests/websocket/tests/hybi/extensions.html:20
&gt;  // extensions attribute is read-only.

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574706</commentid>
    <comment_count>9</comment_count>
      <attachid>130975</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 00:48:34 -0800</bug_when>
    <thetext>Comment on attachment 130975
Patch

Clearing flags on attachment: 130975

Committed r110274: &lt;http://trac.webkit.org/changeset/110274&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574707</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 00:48:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574734</commentid>
    <comment_count>11</comment_count>
    <who name="Nandor Huszka">hnandor</who>
    <bug_when>2012-03-09 01:51:00 -0800</bug_when>
    <thetext>This revision (r110274) causes fail on Qt. The diff:

--- /ramdisk/qt-linux-64-release/build/layout-test-results/http/tests/websocket/tests/hybi/extensions-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/http/tests/websocket/tests/hybi/extensions-actual.txt 
@@ -7,7 +7,7 @@
 Check if the value is read only:
 PASS ws.extensions = &apos;foo&apos;; ws.extensions is &quot;&quot;
 Check the value after the connection is established:
-PASS ws.extensions is &quot;x-webkit-deflate-frame&quot;
+FAIL ws.extensions should be x-webkit-deflate-frame. Was .
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574741</commentid>
    <comment_count>12</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-09 02:01:53 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; This revision (r110274) causes fail on Qt. The diff:

It&apos;s the same reason with compressed-control-frame.html, deflate-frame-invalid-parameter.html, deflate-frame-parameter.html, and handshake-fail-by-extensions-header.html.  They are skipped in Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574793</commentid>
    <comment_count>13</comment_count>
    <who name="Nandor Huszka">hnandor</who>
    <bug_when>2012-03-09 03:40:41 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; It&apos;s the same reason with compressed-control-frame.html, deflate-frame-invalid-parameter.html, deflate-frame-parameter.html, and handshake-fail-by-extensions-header.html.  They are skipped in Qt.

Thank you for the information, test will be inserted to that group.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130937</attachid>
            <date>2012-03-08 16:33:35 -0800</date>
            <delta_ts>2012-03-08 17:14:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80650-20120309093334.patch</filename>
            <type>text/plain</type>
            <size>7268</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2RiYzcxY2Q2NjYxODgyODM1ZmFh
NThkNjk0NTAzM2U2NWE3YmYwYi4uYTU0ZDU2NDU5YmVhMWM5MjQ5YjM5ZjM2ODFlNjY4NzJkODY3
MWNmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA4ICBUYWthc2hpIFRveW9zaGlt
YSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0XSBBZGQgYSBs
YXlvdXQgdGVzdCB3aGVyZSBzZXJ2ZXIgZm9yY2UgdG8gZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2NTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNo
by13aXRoLW5vLWV4dGVuc2lvbi5odG1sOiBDaGVjayBpZiBleHRlbnNpb24gcHJvcGVydHkgaXMg
YWx3YXlzIGVtcHR5IHN0cmluZy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5OiBBZGRlZCBhIGhhbmRsZXIgd2hp
Y2ggZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucy4KKyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKToKKyAgICAgICAgKHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YSk6CisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLWV4cGVjdGVkLnR4
dDogVXBkYXRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4
dGVuc2lvbnMuaHRtbDogQWRkZWQgdGhlIGNhc2UgYWZ0ZXIgY29ubmVjdGlvbiBpcyBlc3RhYmxp
c2hlZC4KKwogMjAxMi0wMy0wOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtGb3Jtc10gUmUtb3JnYW5pemUgdGVzdCBmaWxlcyBvZiBsYWJlbCBlbGVt
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzdlZWE5NjA0YTBhYmE4ZGI1NWNhMTA5M2MyMjU0ZjViYWFh
ZjVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUZXN0IFdlYlNvY2tldC5leHRlbnNpb25zIGF0dHJpYnV0ZSB3aXRoIG5vIGV4dGVu
c2lvbiBzdXBwb3J0IGluIHNlcnZlciBzaWRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1Mgd3MuZXh0ZW5zaW9ucyBpcyAiIgorUEFTUyB3cy5leHRlbnNpb25zIGlzICIiCitQ
QVNTIHdzLmV4dGVuc2lvbnMgaXMgIiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24uaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhlMDBjNDRjNjJhNGZjY2RlZmFhMTczYmQ4ZDY1NzFkMGM4MzE1
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24uaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQuZXh0ZW5zaW9ucyBhdHRy
aWJ1dGUgd2l0aCBubyBleHRlbnNpb24gc3VwcG9ydCBpbiBzZXJ2ZXIgc2lkZS4iKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNv
Y2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgt
bm8tZXh0ZW5zaW9uIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndzLmV4dGVuc2lvbnMiLCAi
Iik7CisKKy8vIGV4dGVuc2lvbnMgYXR0cmlidXRlIGlzIHJlYWQtb25seS4KK3dzLmV4dGVuc2lv
bnMgPSAiZm9vIjsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5zaW9ucyIsICIiKTsK
Kword3Mub25vcGVuID0gZnVuY3Rpb24oZXZlbnQpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3cy5leHRlbnNpb25zIiwgIngtd2Via2l0LWRlZmxhdGUtZnJhbWUiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uX3dzaC5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MjA2ODMxY2I1MTM1ZDVlMDM5MjhiZjlkOTk1YjJiZjllMTU2MDE4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9l
Y2hvLXdpdGgtbm8tZXh0ZW5zaW9uX3dzaC5weQpAQCAtMCwwICsxLDQ4IEBACisjIENvcHlyaWdo
dCAyMDEyLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMg
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworCitfR09PREJZRV9NRVNTQUdFID0gdSdHb29kYnllJworCisKK2RlZiB3ZWJfc29j
a2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICByZXF1ZXN0LndzX2V4dGVuc2lv
bl9wcm9jZXNzb3JzID0gW10KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVl
c3QpOgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpbmUgPSByZXF1ZXN0LndzX3N0cmVhbS5y
ZWNlaXZlX21lc3NhZ2UoKQorICAgICAgICBpZiBsaW5lIGlzIE5vbmU6CisgICAgICAgICAgICBy
ZXR1cm4KKyAgICAgICAgaWYgaXNpbnN0YW5jZShsaW5lLCB1bmljb2RlKToKKyAgICAgICAgICAg
IHJlcXVlc3Qud3Nfc3RyZWFtLnNlbmRfbWVzc2FnZShsaW5lLCBiaW5hcnk9RmFsc2UpCisgICAg
ICAgICAgICBpZiBsaW5lID09IF9HT09EQllFX01FU1NBR0U6CisgICAgICAgICAgICAgICAgcmV0
dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXF1ZXN0LndzX3N0cmVhbS5zZW5kX21l
c3NhZ2UobGluZSwgYmluYXJ5PVRydWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLWV4cGVjdGVk
LnR4dAppbmRleCBmNWQwMGM4ZDQwYTdiYmQ2MzExNWM3ODZiNmY0MmFkNzFjMjBjZTdiLi45NTZl
NjMyMjEyMTUyNDlhZjk4ODFkNDY3MTdlZjkzMTNjNWJiZmU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXh0
ZW5zaW9ucy1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIFBBU1Mgd3MuZXh0ZW5zaW9ucyBpcyAiIgogUEFTUyB3cy5leHRlbnNpb25zIGlzICIi
CitQQVNTIHdzLmV4dGVuc2lvbnMgaXMgIngtd2Via2l0LWRlZmxhdGUtZnJhbWUiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXh0ZW5zaW9ucy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25z
Lmh0bWwKaW5kZXggYjVjM2UzMTk0MTcxZDc0ZTMxNjFjNWYzNDczNGExMzAyMTdhYzNlNC4uOGJm
NzliZTIzZTVhYmM5N2U5NWQxMWQ5NzRhZTA3OWFlZDkxNzhjYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25z
Lmh0bWwKQEAgLTksNiArOSw3IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3QgV2ViU29j
a2V0LmV4dGVuc2lvbnMgYXR0cmlidXRlLiIpOwogCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CiBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOwogCkBAIC0xOSw2ICsyMCwxMiBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmco
IndzLmV4dGVuc2lvbnMiLCAiIik7CiB3cy5leHRlbnNpb25zID0gImZvbyI7CiBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndzLmV4dGVuc2lvbnMiLCAiIik7CiAKK3dzLm9ub3BlbiA9IGZ1bmN0aW9u
KGV2ZW50KQoreworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5zaW9ucyIsICJ4
LXdlYmtpdC1kZWZsYXRlLWZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130940</attachid>
            <date>2012-03-08 17:14:51 -0800</date>
            <delta_ts>2012-03-08 21:25:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80650-20120309101449.patch</filename>
            <type>text/plain</type>
            <size>7246</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2RiYzcxY2Q2NjYxODgyODM1ZmFh
NThkNjk0NTAzM2U2NWE3YmYwYi4uYTU0ZDU2NDU5YmVhMWM5MjQ5YjM5ZjM2ODFlNjY4NzJkODY3
MWNmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA4ICBUYWthc2hpIFRveW9zaGlt
YSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0XSBBZGQgYSBs
YXlvdXQgdGVzdCB3aGVyZSBzZXJ2ZXIgZm9yY2UgdG8gZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2NTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNo
by13aXRoLW5vLWV4dGVuc2lvbi5odG1sOiBDaGVjayBpZiBleHRlbnNpb24gcHJvcGVydHkgaXMg
YWx3YXlzIGVtcHR5IHN0cmluZy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5OiBBZGRlZCBhIGhhbmRsZXIgd2hp
Y2ggZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucy4KKyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKToKKyAgICAgICAgKHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YSk6CisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLWV4cGVjdGVkLnR4
dDogVXBkYXRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4
dGVuc2lvbnMuaHRtbDogQWRkZWQgdGhlIGNhc2UgYWZ0ZXIgY29ubmVjdGlvbiBpcyBlc3RhYmxp
c2hlZC4KKwogMjAxMi0wMy0wOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtGb3Jtc10gUmUtb3JnYW5pemUgdGVzdCBmaWxlcyBvZiBsYWJlbCBlbGVt
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzdlZWE5NjA0YTBhYmE4ZGI1NWNhMTA5M2MyMjU0ZjViYWFh
ZjVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUZXN0IFdlYlNvY2tldC5leHRlbnNpb25zIGF0dHJpYnV0ZSB3aXRoIG5vIGV4dGVu
c2lvbiBzdXBwb3J0IGluIHNlcnZlciBzaWRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK1BBU1Mgd3MuZXh0ZW5zaW9ucyBpcyAiIgorUEFTUyB3cy5leHRlbnNpb25zIGlzICIiCitQ
QVNTIHdzLmV4dGVuc2lvbnMgaXMgIiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24uaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lv
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE5ZDg2M2VlMDZmZTJhMDViYjhhYTQzYzk2MzIxZmFiODNkNzJh
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24uaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQuZXh0ZW5zaW9ucyBhdHRy
aWJ1dGUgd2l0aCBubyBleHRlbnNpb24gc3VwcG9ydCBpbiBzZXJ2ZXIgc2lkZS4iKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNv
Y2tldCgid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgt
bm8tZXh0ZW5zaW9uIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndzLmV4dGVuc2lvbnMiLCAi
Iik7CisKKy8vIGV4dGVuc2lvbnMgYXR0cmlidXRlIGlzIHJlYWQtb25seS4KK3dzLmV4dGVuc2lv
bnMgPSAiZm9vIjsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5zaW9ucyIsICIiKTsK
Kword3Mub25vcGVuID0gZnVuY3Rpb24oZXZlbnQpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3cy5leHRlbnNpb25zIiwgIiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVu
c2lvbl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMDY4MzFjYjUxMzVk
NWUwMzkyOGJmOWQ5OTViMmJmOWUxNTYwMTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25f
d3NoLnB5CkBAIC0wLDAgKzEsNDggQEAKKyMgQ29weXJpZ2h0IDIwMTIsIEdvb2dsZSBJbmMuCisj
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisj
IG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK19HT09EQllFX01F
U1NBR0UgPSB1J0dvb2RieWUnCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtl
KHJlcXVlc3QpOgorICAgIHJlcXVlc3Qud3NfZXh0ZW5zaW9uX3Byb2Nlc3NvcnMgPSBbXQorCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgbGluZSA9IHJlcXVlc3Qud3Nfc3RyZWFtLnJlY2VpdmVfbWVzc2FnZSgpCisgICAg
ICAgIGlmIGxpbmUgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBpZiBpc2lu
c3RhbmNlKGxpbmUsIHVuaWNvZGUpOgorICAgICAgICAgICAgcmVxdWVzdC53c19zdHJlYW0uc2Vu
ZF9tZXNzYWdlKGxpbmUsIGJpbmFyeT1GYWxzZSkKKyAgICAgICAgICAgIGlmIGxpbmUgPT0gX0dP
T0RCWUVfTUVTU0FHRToKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJlcXVlc3Qud3Nfc3RyZWFtLnNlbmRfbWVzc2FnZShsaW5lLCBiaW5hcnk9VHJ1
ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGY1ZDAwYzhkNDBh
N2JiZDYzMTE1Yzc4NmI2ZjQyYWQ3MWMyMGNlN2IuLjk1NmU2MzIyMTIxNTI0OWFmOTg4MWQ0Njcx
N2VmOTMxM2M1YmJmZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLWV4cGVjdGVkLnR4dApA
QCAtNCw2ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyB3cy5leHRlbnNp
b25zIGlzICIiCiBQQVNTIHdzLmV4dGVuc2lvbnMgaXMgIiIKK1BBU1Mgd3MuZXh0ZW5zaW9ucyBp
cyAieC13ZWJraXQtZGVmbGF0ZS1mcmFtZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMuaHRtbAppbmRleCBiNWMzZTMxOTQx
NzFkNzRlMzE2MWM1ZjM0NzM0YTEzMDIxN2FjM2U0Li44YmY3OWJlMjNlNWFiYzk3ZTk1ZDExZDk3
NGFlMDc5YWVkOTE3OGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMuaHRtbApAQCAtOSw2ICs5LDcgQEAK
IDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQuZXh0ZW5zaW9ucyBhdHRyaWJ1
dGUuIik7CiAKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CiAKQEAgLTE5
LDYgKzIwLDEyIEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5zaW9ucyIsICIiKTsK
IHdzLmV4dGVuc2lvbnMgPSAiZm9vIjsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5z
aW9ucyIsICIiKTsKIAord3Mub25vcGVuID0gZnVuY3Rpb24oZXZlbnQpCit7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ3cy5leHRlbnNpb25zIiwgIngtd2Via2l0LWRlZmxhdGUtZnJhbWUi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130975</attachid>
            <date>2012-03-08 21:26:01 -0800</date>
            <delta_ts>2012-03-09 00:48:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80650-20120309142559.patch</filename>
            <type>text/plain</type>
            <size>8132</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2RiYzcxY2Q2NjYxODgyODM1ZmFh
NThkNjk0NTAzM2U2NWE3YmYwYi4uYTU0ZDU2NDU5YmVhMWM5MjQ5YjM5ZjM2ODFlNjY4NzJkODY3
MWNmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA4ICBUYWthc2hpIFRveW9zaGlt
YSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbV2ViU29ja2V0XSBBZGQgYSBs
YXlvdXQgdGVzdCB3aGVyZSBzZXJ2ZXIgZm9yY2UgdG8gZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2NTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNo
by13aXRoLW5vLWV4dGVuc2lvbi5odG1sOiBDaGVjayBpZiBleHRlbnNpb24gcHJvcGVydHkgaXMg
YWx3YXlzIGVtcHR5IHN0cmluZy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5OiBBZGRlZCBhIGhhbmRsZXIgd2hp
Y2ggZGlzYWJsZSBhbGwgZXh0ZW5zaW9ucy4KKyAgICAgICAgKHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKToKKyAgICAgICAgKHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YSk6CisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9leHRlbnNpb25zLWV4cGVjdGVkLnR4
dDogVXBkYXRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4
dGVuc2lvbnMuaHRtbDogQWRkZWQgdGhlIGNhc2UgYWZ0ZXIgY29ubmVjdGlvbiBpcyBlc3RhYmxp
c2hlZC4KKwogMjAxMi0wMy0wOCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtGb3Jtc10gUmUtb3JnYW5pemUgdGVzdCBmaWxlcyBvZiBsYWJlbCBlbGVt
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MDRlOWY4NzBmZWIyOTM1OTRjODMzZDMyNGYyYmI3NjQ2ZTlk
OWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitUZXN0IFdlYlNvY2tldC5leHRlbnNpb25zIGF0dHJpYnV0ZSB3aXRoIG5vIGV4dGVu
c2lvbiBzdXBwb3J0IGluIHNlcnZlciBzaWRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK0NoZWNrIHRoZSB2YWx1ZSBiZWZvcmUgb3BlbmluZyB0aGUgY29ubmVjdGlvbjoKK1BBU1Mg
d3MuZXh0ZW5zaW9ucyBpcyAiIgorQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIHJlYWQgb25seToKK1BB
U1Mgd3MuZXh0ZW5zaW9ucyA9ICdmb28nOyB3cy5leHRlbnNpb25zIGlzICIiCitDaGVjayB0aGUg
dmFsdWUgYWZ0ZXIgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQ6CitQQVNTIHdzLmV4dGVu
c2lvbnMgaXMgIiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby13aXRoLW5vLWV4dGVuc2lvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwMmNmNWQyYWY1YjFkOThmNTkxMTYyM2FkYmE5OWNmMTFkZjczMWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vj
aG8td2l0aC1uby1leHRlbnNpb24uaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQuZXh0ZW5zaW9ucyBhdHRyaWJ1dGUgd2l0aCBu
byBleHRlbnNpb24gc3VwcG9ydCBpbiBzZXJ2ZXIgc2lkZS4iKTsKKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9s
b2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9u
Iik7CitkZWJ1ZygiQ2hlY2sgdGhlIHZhbHVlIGJlZm9yZSBvcGVuaW5nIHRoZSBjb25uZWN0aW9u
OiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3cy5leHRlbnNpb25zIiwgIiIpOworCisvLyBl
eHRlbnNpb25zIGF0dHJpYnV0ZSBpcyByZWFkLW9ubHkuCitkZWJ1ZygiQ2hlY2sgaWYgdGhlIHZh
bHVlIGlzIHJlYWQgb25seToiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5zaW9u
cyA9ICdmb28nOyB3cy5leHRlbnNpb25zIiwgIiIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbihl
dmVudCkKK3sKKyAgICBkZWJ1ZygiQ2hlY2sgdGhlIHZhbHVlIGFmdGVyIHRoZSBjb25uZWN0aW9u
IGlzIGVzdGFibGlzaGVkOiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid3MuZXh0ZW5z
aW9ucyIsICIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8td2l0aC1uby1leHRlbnNpb25fd3NoLnB5IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8t
ZXh0ZW5zaW9uX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjA2ODMxY2I1MTM1ZDVlMDM5MjhiZjlkOTk1
YjJiZjllMTU2MDE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLXdpdGgtbm8tZXh0ZW5zaW9uX3dzaC5weQpAQCAtMCww
ICsxLDQ4IEBACisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlz
dHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitfR09PREJZRV9NRVNTQUdFID0gdSdHb29k
YnllJworCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAg
ICByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9jZXNzb3JzID0gW10KKworCitkZWYgd2ViX3NvY2tl
dF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpbmUg
PSByZXF1ZXN0LndzX3N0cmVhbS5yZWNlaXZlX21lc3NhZ2UoKQorICAgICAgICBpZiBsaW5lIGlz
IE5vbmU6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgaXNpbnN0YW5jZShsaW5lLCB1
bmljb2RlKToKKyAgICAgICAgICAgIHJlcXVlc3Qud3Nfc3RyZWFtLnNlbmRfbWVzc2FnZShsaW5l
LCBiaW5hcnk9RmFsc2UpCisgICAgICAgICAgICBpZiBsaW5lID09IF9HT09EQllFX01FU1NBR0U6
CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXF1
ZXN0LndzX3N0cmVhbS5zZW5kX21lc3NhZ2UobGluZSwgYmluYXJ5PVRydWUpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2V4dGVuc2lvbnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9leHRlbnNpb25zLWV4cGVjdGVkLnR4dAppbmRleCBmNWQwMGM4ZDQwYTdiYmQ2MzExNWM3ODZi
NmY0MmFkNzFjMjBjZTdiLi5iZmI0MDNiM2I5YmIzZmY5NTM5ZGZiNGMwMTliZjE3MTdhNWIxM2Y5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2V4dGVuc2lvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZXh0ZW5zaW9ucy1leHBlY3RlZC50eHQKQEAgLTIsOCArMiwxMiBA
QCBUZXN0IFdlYlNvY2tldC5leHRlbnNpb25zIGF0dHJpYnV0ZS4KIAogT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgogCitDaGVjayB0aGUgdmFsdWUgYmVmb3JlIG9wZW5pbmcgdGhlIGNvbm5lY3Rp
b246CiBQQVNTIHdzLmV4dGVuc2lvbnMgaXMgIiIKLVBBU1Mgd3MuZXh0ZW5zaW9ucyBpcyAiIgor
Q2hlY2sgaWYgdGhlIHZhbHVlIGlzIHJlYWQgb25seToKK1BBU1Mgd3MuZXh0ZW5zaW9ucyA9ICdm
b28nOyB3cy5leHRlbnNpb25zIGlzICIiCitDaGVjayB0aGUgdmFsdWUgYWZ0ZXIgdGhlIGNvbm5l
Y3Rpb24gaXMgZXN0YWJsaXNoZWQ6CitQQVNTIHdzLmV4dGVuc2lvbnMgaXMgIngtd2Via2l0LWRl
ZmxhdGUtZnJhbWUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZXh0ZW5zaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9leHRlbnNpb25zLmh0bWwKaW5kZXggYjVjM2UzMTk0MTcxZDc0ZTMxNjFjNWYz
NDczNGExMzAyMTdhYzNlNC4uODY0ODM0NWQ0YmZjNGY1Nzg1YzYyNDBhOGNlNjBlZTdiY2Y0ZDdj
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9leHRlbnNpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9leHRlbnNpb25zLmh0bWwKQEAgLTksMTUgKzksMjQgQEAKIDxzY3JpcHQ+CiBk
ZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQuZXh0ZW5zaW9ucyBhdHRyaWJ1dGUuIik7CiAKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CiAKIHZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIik7
CitkZWJ1ZygiQ2hlY2sgdGhlIHZhbHVlIGJlZm9yZSBvcGVuaW5nIHRoZSBjb25uZWN0aW9uOiIp
Owogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3cy5leHRlbnNpb25zIiwgIiIpOwogCiAvLyBleHRl
bnNpb25zIGF0dHJpYnV0ZSBpcyByZWFkLW9ubHkuCi13cy5leHRlbnNpb25zID0gImZvbyI7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoIndzLmV4dGVuc2lvbnMiLCAiIik7CitkZWJ1ZygiQ2hlY2sg
aWYgdGhlIHZhbHVlIGlzIHJlYWQgb25seToiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygid3Mu
ZXh0ZW5zaW9ucyA9ICdmb28nOyB3cy5leHRlbnNpb25zIiwgIiIpOworCit3cy5vbm9wZW4gPSBm
dW5jdGlvbihldmVudCkKK3sKKyAgICBkZWJ1ZygiQ2hlY2sgdGhlIHZhbHVlIGFmdGVyIHRoZSBj
b25uZWN0aW9uIGlzIGVzdGFibGlzaGVkOiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
d3MuZXh0ZW5zaW9ucyIsICJ4LXdlYmtpdC1kZWZsYXRlLWZyYW1lIik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9OwogCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>