<?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>32165</bug_id>
          
          <creation_ts>2009-12-04 11:22:33 -0800</creation_ts>
          <short_desc>WebSocket errors should be logged to console</short_desc>
          <delta_ts>2009-12-11 02:45: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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>ukai</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168852</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-04 11:22:33 -0800</bug_when>
    <thetext>Currently, WebSocket errors are logged via LOG and LOG_ERROR, which is only helpful to WebKit developers. People who really need to see these errors are Web developers, so we should print WebSocket errors to Web Inspector console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168879</commentid>
    <comment_count>1</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2009-12-04 12:50:41 -0800</bug_when>
    <thetext>As long as there&apos;s a way for me to NOT see them.  I already consider the XHR messages logged to the console to be spammy.  And I&apos;m happy for &quot;seeing them&quot; to be the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169610</commentid>
    <comment_count>2</comment_count>
      <attachid>44459</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-07 23:29:47 -0800</bug_when>
    <thetext>Created attachment 44459
Log WebSocket error to Web Inspector console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169611</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-07 23:34:39 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44459 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169612</commentid>
    <comment_count>4</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-07 23:35:32 -0800</bug_when>
    <thetext>This patch just logs errors to Web Inspector console.  Should we provide a way to not see them?

I think it would be nice to log more details of WebSocket activities, which should have a way to not see them.  I think it would be like InspectorResource.

(In reply to comment #1)
&gt; As long as there&apos;s a way for me to NOT see them.  I already consider the XHR
&gt; messages logged to the console to be spammy.  And I&apos;m happy for &quot;seeing them&quot;
&gt; to be the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169788</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-12-08 14:11:27 -0800</bug_when>
    <thetext>         LOG(Network, &quot;Error in sending handshake message.&quot;);
+#if ENABLE(INSPECTOR)
+        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Error in sending handshake message.&quot;, 0, m_handshake.clientOrigin());
+#endif

I don&apos;t think it&apos;s useful to keep logging the error with LOG - looks like we&apos;re not doing this for e.g. XMLHttpRequest.

Someone working on Web Inspector should probably review this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169883</commentid>
    <comment_count>6</comment_count>
      <attachid>44508</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-08 19:56:45 -0800</bug_when>
    <thetext>Created attachment 44508
Log WebSocket error to Web Inspector console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169884</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-08 19:59:59 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44508 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170010</commentid>
    <comment_count>8</comment_count>
      <attachid>44508</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-09 08:44:33 -0800</bug_when>
    <thetext>Comment on attachment 44508
Log WebSocket error to Web Inspector console.

&gt; +        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Error in sending handshake message.&quot;, 0, m_handshake.clientOrigin());

Why do you dump this using InspectorControllerDestinatio (not the ConsoleDestination)? Latter would dump both into the console clients and inspector controller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170011</commentid>
    <comment_count>9</comment_count>
      <attachid>44508</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-12-09 08:45:11 -0800</bug_when>
    <thetext>Comment on attachment 44508
Log WebSocket error to Web Inspector console.

Some feedback on the error strings:


&gt; +++ b/WebCore/websockets/WebSocketChannel.cpp
...
&gt; +        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Error in sending handshake message.&quot;, 0, m_handshake.clientOrigin());

nit: &quot;Error sending handshake message.&quot;


&gt; +    m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, String::format(&quot;Too long WebSocket frame %d&quot;, m_bufferSize + len), 0, 

nit: &quot;WebSocket frame (at %d bytes) is too long.&quot;


&gt; +            m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;short server handshake: &quot; + String(header, len), 0, clientOrigin());

nit: Start with an upper case letter?  &quot;Short server handshake:&quot;


&gt; +            m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;no response code found: &quot; + String(header, len), 0, clientOrigin());

nit: Start with an upper case letter?  &quot;No response code found:&quot;


&gt; +        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Mismatch origin: &quot; + clientOrigin() + &quot; != &quot; + m_wsOrigin, 0, clientOrigin());
&gt; +        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Mismatch location: &quot; + clientLocation() + &quot; != &quot; + m_wsLocation, 0, clientOrigin());
&gt; +        m_context-&gt;addMessage(InspectorControllerDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, &quot;Mismatch protocol: &quot; + m_clientProtocol + &quot; != &quot; + m_wsProtocol, 0, clientOrigin());

nit: &quot;Origin mismatch&quot; or &quot;Mismatched origin&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170310</commentid>
    <comment_count>10</comment_count>
      <attachid>44591</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-09 21:08:13 -0800</bug_when>
    <thetext>Created attachment 44591
Log WebSokcet error to Web Inspector console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170311</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-09 21:12:36 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44591 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170402</commentid>
    <comment_count>12</comment_count>
      <attachid>44591</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-10 05:51:59 -0800</bug_when>
    <thetext>Comment on attachment 44591
Log WebSokcet error to Web Inspector console.

Sorry for not pointing it out earlier - now that you use non-inspector destination, it seems to be fine to make this call no matter whether inspector is there or not. I see this check in Console.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170567</commentid>
    <comment_count>13</comment_count>
      <attachid>44645</attachid>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-10 16:09:06 -0800</bug_when>
    <thetext>Created attachment 44645
Log WebSocket error to Web Inspector console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170569</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-10 16:12:38 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44645 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170641</commentid>
    <comment_count>15</comment_count>
      <attachid>44645</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-10 22:18:31 -0800</bug_when>
    <thetext>Comment on attachment 44645
Log WebSocket error to Web Inspector console.

nits: &quot;WebSocket-Origin not found&quot; and &quot;WebSocket-Location not found&quot; should use same pattern as &quot;No response code found&quot;. Also &quot;origin found&quot; and &quot;location found&quot; might sound like the corresponding urls could not be resolved, while in your case you want to say that they are missing in headers. Consider reporting something more concrete like &quot;Error during WebSocket handshake: &apos;websocket-origin&apos; header is missing&quot;. Same for location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170662</commentid>
    <comment_count>16</comment_count>
    <who name="Fumitoshi Ukai">ukai</who>
    <bug_when>2009-12-11 02:45:04 -0800</bug_when>
    <thetext>Committed r51979: &lt;http://trac.webkit.org/changeset/51979&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44459</attachid>
            <date>2009-12-07 23:29:47 -0800</date>
            <delta_ts>2009-12-08 19:56:39 -0800</delta_ts>
            <desc>Log WebSocket error to Web Inspector console.</desc>
            <filename>bug-32165-20091208162945.patch</filename>
            <type>text/plain</type>
            <size>9412</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTIxYjAwMy4uNjFhNjQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0xMi0wNyAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBMb2cgV2ViU29ja2V0IGVycm9yIHRvIFdlYiBJbnNwZWN0b3IgY29u
c29sZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTY1CisKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Blbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcik6CisgICAgICAgICogd2Vic29ja2V0
cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6Y2hlY2tSZXNwb25zZUhlYWRlcnMpOgorCiAyMDA5LTEyLTA3ICBWaWN0b3Ig
V2FuZyAgPHZpY3RvcndAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBh
MjIyYjRkLi5jOWY1MjI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5jcHAKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3Bw
CkBAIC0xMTksNiArMTE5LDkgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuKFNvY2tl
dFN0cmVhbUhhbmRsZSogaGFuZGxlKQogICAgIGNvbnN0IENTdHJpbmcmIGhhbmRzaGFrZU1lc3Nh
Z2UgPSBtX2hhbmRzaGFrZS5jbGllbnRIYW5kc2hha2VNZXNzYWdlKCk7CiAgICAgaWYgKCFoYW5k
bGUtPnNlbmQoaGFuZHNoYWtlTWVzc2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3Ro
KCkpKSB7CiAgICAgICAgIExPRyhOZXR3b3JrLCAiRXJyb3IgaW4gc2VuZGluZyBoYW5kc2hha2Ug
bWVzc2FnZS4iKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQtPmFk
ZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkVycm9yIGluIHNlbmRpbmcgaGFu
ZHNoYWtlIG1lc3NhZ2UuIiwgMCwgbV9oYW5kc2hha2UuY2xpZW50T3JpZ2luKCkpOworI2VuZGlm
CiAgICAgICAgIGhhbmRsZS0+Y2xvc2UoKTsKICAgICB9CiB9CkBAIC0yNDcsNiArMjUwLDkgQEAg
Ym9vbCBXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBkYXRhLCBp
bnQgbGVuKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgTE9HKE5ldHdvcmssICJU
b28gbG9uZyBXZWJTb2NrZXQgZnJhbWUgJWQiLCBtX2J1ZmZlclNpemUgKyBsZW4pOworI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRy
b2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIFN0cmluZzo6Zm9ybWF0KCJUb28gbG9uZyBXZWJTb2NrZXQgZnJhbWUgJWQi
LCBtX2J1ZmZlclNpemUgKyBsZW4pLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRPcmlnaW4oKSk7Cisj
ZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29j
a2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dEhhbmRzaGFrZS5jcHAKaW5kZXggZDFkYTQ0My4uNDEzMTkxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAgLTIxNywxOCArMjE3LDMwIEBAIGludCBXZWJT
b2NrZXRIYW5kc2hha2U6OnJlYWRTZXJ2ZXJIYW5kc2hha2UoY29uc3QgY2hhciogaGVhZGVyLCBz
aXplX3QgbGVuKQogICAgICAgICBjb25zdCBTdHJpbmcmIGNvZGUgPSBleHRyYWN0UmVzcG9uc2VD
b2RlKGhlYWRlciwgbGVuKTsKICAgICAgICAgaWYgKGNvZGUuaXNOdWxsKCkpIHsKICAgICAgICAg
ICAgIExPRyhOZXR3b3JrLCAic2hvcnQgc2VydmVyIGhhbmRzaGFrZTogJXMiLCBoZWFkZXIpOwor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2Uo
SW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgInNob3J0IHNlcnZlciBoYW5kc2hha2U6ICIgKyBT
dHJpbmcoaGVhZGVyLCBsZW4pLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAg
ICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICBpZiAoY29kZS5pc0VtcHR5KCkpIHsK
ICAgICAgICAgICAgIExPRyhOZXR3b3JrLCAibm8gcmVzcG9uc2UgY29kZSBmb3VuZDogJXMiLCBo
ZWFkZXIpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgICAgICBtX2NvbnRleHQtPmFk
ZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2Us
IExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIm5vIHJlc3BvbnNlIGNvZGUgZm91
bmQ6ICIgKyBTdHJpbmcoaGVhZGVyLCBsZW4pLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYK
ICAgICAgICAgICAgIHJldHVybiBsZW47CiAgICAgICAgIH0KICAgICAgICAgTE9HKE5ldHdvcmss
ICJyZXNwb25zZSBjb2RlOiAlcyIsIGNvZGUudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIGlmIChj
b2RlID09ICI0MDEiKSB7CiAgICAgICAgICAgICBMT0coTmV0d29yaywgIkF1dGhlbnRpY2F0aW9u
IHJlcXVpcmVkIik7CisjaWYgRU5BQkxFKElOU0VQQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4
dC0+YWRkTWVzc2FnZShJbnNlY3RvckNvbnRyb2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJBdXRoZW50aWNhdGlvbiBy
ZXF1aXJlZCwgYnV0IG5vdCBpbXBsZW1lbnRlZCB5ZXQuIiwgMCwgY2xpZW50T3JpZ2luKCkpOwor
I2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbGVuOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBzZXJ2ZXIgaGFuZHNoYWtlOiAlcyIsIGhlYWRl
cik7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVz
c2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiVW5leHBlY3RlZCByZXNwb25zZSBjb2Rl
OiIgKyBjb2RlICsgIiBpbiAiICsgU3RyaW5nKGhlYWRlciwgbGVuKSwgMCwgY2xpZW50T3JpZ2lu
KCkpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbGVuOwogICAgICAgICB9CiAgICAgfQpA
QCAtMjQxLDYgKzI1Myw5IEBAIGludCBXZWJTb2NrZXRIYW5kc2hha2U6OnJlYWRTZXJ2ZXJIYW5k
c2hha2UoY29uc3QgY2hhciogaGVhZGVyLCBzaXplX3QgbGVuKQogICAgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgIGlmIChtZW1jbXAocCwgd2ViU29ja2V0VXBncmFkZUhlYWRlciwgc2l6ZW9m
KHdlYlNvY2tldFVwZ3JhZGVIZWFkZXIpIC0gMSkpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3Jr
LCAiQmFkIHVwZ3JhZGUgaGVhZGVyOiAlcyIsIHApOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisg
ICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3Rp
bmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZl
bCwgIkJhZCBVcGdyYWRlIGhlYWRlcjogIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50
T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gcCAtIGhlYWRlciArIHNpemVv
Zih3ZWJTb2NrZXRVcGdyYWRlSGVhZGVyKSAtIDE7CiAgICAgICAgIH0KICAgICAgICAgcCArPSBz
aXplb2Yod2ViU29ja2V0VXBncmFkZUhlYWRlcikgLSAxOwpAQCAtMjUwLDYgKzI2NSw5IEBAIGlu
dCBXZWJTb2NrZXRIYW5kc2hha2U6OnJlYWRTZXJ2ZXJIYW5kc2hha2UoY29uc3QgY2hhciogaGVh
ZGVyLCBzaXplX3QgbGVuKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBpZiAobWVt
Y21wKHAsIHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIsIHNpemVvZih3ZWJTb2NrZXRDb25uZWN0
aW9uSGVhZGVyKSAtIDEpKSB7CiAgICAgICAgICAgICBMT0coTmV0d29yaywgIkJhZCBjb25uZWN0
aW9uIGhlYWRlcjogJXMiLCBwKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICAgICAg
bV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRyb2xsZXJEZXN0aW5hdGlvbiwgSlNN
ZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCYWQgQ29u
bmVjdGlvbiBoZWFkZXI6ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigp
KTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIHAgLSBoZWFkZXIgKyBzaXplb2Yod2ViU29j
a2V0Q29ubmVjdGlvbkhlYWRlcikgLSAxOwogICAgICAgICB9CiAgICAgICAgIHAgKz0gc2l6ZW9m
KHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIpIC0gMTsKQEAgLTM1OSwxMiArMzc3LDIxIEBAIGNv
bnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIq
IHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICAgICAgICAgIGlmIChwICsgMSA8IGVu
ZCAmJiAqKHAgKyAxKSA9PSAnXG4nKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHAg
KyAyOwogICAgICAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgIkNSIGRvZXNuJ3QgZm9sbG93
IExGIHA9JXAgZW5kPSVwIiwgcCwgZW5kKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAg
ICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRl
c3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VM
ZXZlbCwgIkNSIGRvZXNuJ3QgZm9sbG93IExGIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAs
IGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJVbmV4cGVj
dGVkIENSIGluIG5hbWUiKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICAgICAgICAg
IG1fY29udGV4dC0+YWRkTWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpT
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiVW5leHBl
Y3RlZCBDUiBpbiBuYW1lIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdp
bigpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgY2Fz
ZSAnXG4nOgogICAgICAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiVW5leHBlY3RlZCBMRiBpbiBu
YW1lIik7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQt
PmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuZXhwZWN0ZWQgTEYgaW4g
bmFtZSBhdCAiICsgU3RyaW5nKHAsIGVuZCAtIHApLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5k
aWYKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIGNhc2UgJzonOgogICAg
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzg5LDYgKzQxNiw5IEBAIGNvbnN0IGNoYXIqIFdlYlNv
Y2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBj
aGFyKiBlCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICdcbic6CiAg
ICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJVbmV4cGVjdGVkIExGIGluIHZhbHVlIik7Cisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3Nh
Z2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVuZXhwZWN0ZWQgTEYgaW4gdmFsdWUgYXQg
IiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
ICAgIHZhbHVlLmFwcGVuZCgqcCk7CkBAIC00MDAsNiArNDMwLDkgQEAgY29uc3QgY2hhciogV2Vi
U29ja2V0SGFuZHNoYWtlOjpyZWFkSFRUUEhlYWRlcnMoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0
IGNoYXIqIGUKICAgICAgICAgfQogICAgICAgICBpZiAocCA+PSBlbmQgfHwgKnAgIT0gJ1xuJykg
ewogICAgICAgICAgICAgTE9HKE5ldHdvcmssICJDUiBkb2Vzbid0IGZvbGxvdyBMRiBhZnRlciB2
YWx1ZSBwPSVwIGVuZD0lcCIsIHAsIGVuZCk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAg
ICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRp
b24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAi
Q1IgZG9lc24ndCBmb2xsb3cgTEYgYWZ0ZXIgdmFsdWUgYXQgIiArIFN0cmluZyhwLCBlbmQgLSBw
KSwgMCwgY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gMDsKICAg
ICAgICAgfQogICAgICAgICBBdG9taWNTdHJpbmcgbmFtZVN0cihTdHJpbmc6OmZyb21VVEY4KG5h
bWUuZGF0YSgpLCBuYW1lLnNpemUoKSkpOwpAQCAtNDQxLDE5ICs0NzQsMzggQEAgdm9pZCBXZWJT
b2NrZXRIYW5kc2hha2U6OmNoZWNrUmVzcG9uc2VIZWFkZXJzKCkKIHsKICAgICBBU1NFUlQobV9t
b2RlID09IE5vcm1hbCk7CiAgICAgbV9tb2RlID0gRmFpbGVkOwotICAgIGlmIChtX3dzT3JpZ2lu
LmlzTnVsbCgpIHx8IG1fd3NMb2NhdGlvbi5pc051bGwoKSkKKyAgICBpZiAobV93c09yaWdpbi5p
c051bGwoKSkgeworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRk
TWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2ViU29ja2V0LU9yaWdpbiBub3Qg
Zm91bmQiLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAobV93c0xvY2F0aW9uLmlzTnVsbCgpKSB7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRyb2xsZXJEZXN0
aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJXZWJTb2NrZXQtTG9jYXRpb24gbm90IGZvdW5kIiwgMCwgY2xpZW50T3JpZ2luKCkpOwor
I2VuZGlmCisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoY2xpZW50T3JpZ2luKCkg
IT0gbV93c09yaWdpbikgewogICAgICAgICBMT0coTmV0d29yaywgIk1pc21hdGNoIG9yaWdpbjog
JXMgIT0gJXMiLCBjbGllbnRPcmlnaW4oKS51dGY4KCkuZGF0YSgpLCBtX3dzT3JpZ2luLnV0Zjgo
KS5kYXRhKCkpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRk
TWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiTWlzbWF0Y2ggb3JpZ2luOiAiICsg
Y2xpZW50T3JpZ2luKCkgKyAiICE9ICIgKyBtX3dzT3JpZ2luLCAwLCBjbGllbnRPcmlnaW4oKSk7
CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoY2xpZW50TG9jYXRpb24o
KSAhPSBtX3dzTG9jYXRpb24pIHsKICAgICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBsb2Nh
dGlvbjogJXMgIT0gJXMiLCBjbGllbnRMb2NhdGlvbigpLnV0ZjgoKS5kYXRhKCksIG1fd3NMb2Nh
dGlvbi51dGY4KCkuZGF0YSgpKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2Nv
bnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk1pc21hdGNoIGxv
Y2F0aW9uOiAiICsgY2xpZW50TG9jYXRpb24oKSArICIgIT0gIiArIG1fd3NMb2NhdGlvbiwgMCwg
Y2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYg
KCFtX2NsaWVudFByb3RvY29sLmlzRW1wdHkoKSAmJiBtX2NsaWVudFByb3RvY29sICE9IG1fd3NQ
cm90b2NvbCkgewogICAgICAgICBMT0coTmV0d29yaywgIk1pc21hdGNoIHByb3RvY29sOiAlcyAh
PSAlcyIsIG1fY2xpZW50UHJvdG9jb2wudXRmOCgpLmRhdGEoKSwgbV93c1Byb3RvY29sLnV0Zjgo
KS5kYXRhKCkpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRk
TWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiTWlzbWF0Y2ggcHJvdG9jb2w6ICIg
KyBtX2NsaWVudFByb3RvY29sICsgIiAhPSAiICsgbV93c1Byb3RvY29sLCAwLCBjbGllbnRPcmln
aW4oKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX21vZGUgPSBDb25u
ZWN0ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44508</attachid>
            <date>2009-12-08 19:56:45 -0800</date>
            <delta_ts>2009-12-09 21:08:07 -0800</delta_ts>
            <desc>Log WebSocket error to Web Inspector console.</desc>
            <filename>bug-32165-20091209125643.patch</filename>
            <type>text/plain</type>
            <size>9752</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjkzNzAyMC4uMzdmZDUzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAwOS0xMi0wOCAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBMb2cgV2ViU29ja2V0IGVycm9yIHRvIFdlYiBJbnNwZWN0b3IgY29u
c29sZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTY1CisKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Blbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcik6CisgICAgICAgICogd2Vic29ja2V0
cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6Y2hlY2tSZXNwb25zZUhlYWRlcnMpOgorCisyMDA5LTEyLTA4ICBGdW1pdG9z
aGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgogCiAgICAgICAgIFdlYlNvY2tldCBhbGxvdyBzcGFjZSAoVSswMDIwKSBpbiBzdWIg
cHJvdG9jb2wgbmFtZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRl
eCBhMjIyYjRkLi43NjI0OTY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5jcHAKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCkBAIC0xMTgsNyArMTE4LDkgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuKFNv
Y2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5kbGUp
OwogICAgIGNvbnN0IENTdHJpbmcmIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS5jbGll
bnRIYW5kc2hha2VNZXNzYWdlKCk7CiAgICAgaWYgKCFoYW5kbGUtPnNlbmQoaGFuZHNoYWtlTWVz
c2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKSB7Ci0gICAgICAgIExPRyhO
ZXR3b3JrLCAiRXJyb3IgaW4gc2VuZGluZyBoYW5kc2hha2UgbWVzc2FnZS4iKTsKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29u
dHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgIkVycm9yIGluIHNlbmRpbmcgaGFuZHNoYWtlIG1lc3NhZ2UuIiwgMCwg
bV9oYW5kc2hha2UuY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgIGhhbmRsZS0+Y2xv
c2UoKTsKICAgICB9CiB9CkBAIC0yNDYsNyArMjQ4LDkgQEAgYm9vbCBXZWJTb2NrZXRDaGFubmVs
OjphcHBlbmRUb0J1ZmZlcihjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuKQogICAgICAgICBtX2J1
ZmZlclNpemUgKz0gbGVuOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgTE9HKE5l
dHdvcmssICJUb28gbG9uZyBXZWJTb2NrZXQgZnJhbWUgJWQiLCBtX2J1ZmZlclNpemUgKyBsZW4p
OworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3Bl
Y3RvckNvbnRyb2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIFN0cmluZzo6Zm9ybWF0KCJUb28gbG9uZyBXZWJTb2NrZXQg
ZnJhbWUgJWQiLCBtX2J1ZmZlclNpemUgKyBsZW4pLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRPcmln
aW4oKSk7CisjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKaW5kZXggZDFkYTQ0My4uNDIxZDc5NSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKKysrIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5jcHAKQEAgLTIxNiwxOSArMjE2LDI3IEBA
IGludCBXZWJTb2NrZXRIYW5kc2hha2U6OnJlYWRTZXJ2ZXJIYW5kc2hha2UoY29uc3QgY2hhciog
aGVhZGVyLCBzaXplX3QgbGVuKQogICAgIGVsc2UgewogICAgICAgICBjb25zdCBTdHJpbmcmIGNv
ZGUgPSBleHRyYWN0UmVzcG9uc2VDb2RlKGhlYWRlciwgbGVuKTsKICAgICAgICAgaWYgKGNvZGUu
aXNOdWxsKCkpIHsKLSAgICAgICAgICAgIExPRyhOZXR3b3JrLCAic2hvcnQgc2VydmVyIGhhbmRz
aGFrZTogJXMiLCBoZWFkZXIpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgICAgICBt
X2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgInNob3J0IHNl
cnZlciBoYW5kc2hha2U6ICIgKyBTdHJpbmcoaGVhZGVyLCBsZW4pLCAwLCBjbGllbnRPcmlnaW4o
KSk7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICBp
ZiAoY29kZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIExPRyhOZXR3b3JrLCAibm8gcmVzcG9u
c2UgY29kZSBmb3VuZDogJXMiLCBoZWFkZXIpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAg
ICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0
aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
Im5vIHJlc3BvbnNlIGNvZGUgZm91bmQ6ICIgKyBTdHJpbmcoaGVhZGVyLCBsZW4pLCAwLCBjbGll
bnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiBsZW47CiAgICAgICAgIH0K
ICAgICAgICAgTE9HKE5ldHdvcmssICJyZXNwb25zZSBjb2RlOiAlcyIsIGNvZGUudXRmOCgpLmRh
dGEoKSk7CiAgICAgICAgIGlmIChjb2RlID09ICI0MDEiKSB7Ci0gICAgICAgICAgICBMT0coTmV0
d29yaywgIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkIik7CisjaWYgRU5BQkxFKElOU0VQQ1RPUikK
KyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShJbnNlY3RvckNvbnRyb2xsZXJEZXN0
aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJBdXRoZW50aWNhdGlvbiByZXF1aXJlZCwgYnV0IG5vdCBpbXBsZW1lbnRlZCB5ZXQuIiwg
MCwgY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbGVuOwogICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBzZXJ2ZXIg
aGFuZHNoYWtlOiAlcyIsIGhlYWRlcik7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAg
ICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24s
IEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiVW5l
eHBlY3RlZCByZXNwb25zZSBjb2RlOiIgKyBjb2RlICsgIiBpbiAiICsgU3RyaW5nKGhlYWRlciwg
bGVuKSwgMCwgY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbGVu
OwogICAgICAgICB9CiAgICAgfQpAQCAtMjQwLDcgKzI0OCw5IEBAIGludCBXZWJTb2NrZXRIYW5k
c2hha2U6OnJlYWRTZXJ2ZXJIYW5kc2hha2UoY29uc3QgY2hhciogaGVhZGVyLCBzaXplX3QgbGVu
KQogICAgICAgICBpZiAoaGVhZGVyU2l6ZSA8IHNpemVvZih3ZWJTb2NrZXRVcGdyYWRlSGVhZGVy
KSAtIDEpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgaWYgKG1lbWNtcChwLCB3ZWJT
b2NrZXRVcGdyYWRlSGVhZGVyLCBzaXplb2Yod2ViU29ja2V0VXBncmFkZUhlYWRlcikgLSAxKSkg
ewotICAgICAgICAgICAgTE9HKE5ldHdvcmssICJCYWQgdXBncmFkZSBoZWFkZXI6ICVzIiwgcCk7
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2Fn
ZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmFkIFVwZ3JhZGUgaGVhZGVyOiAiICsgU3Ry
aW5nKHAsIGVuZCAtIHApLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAg
IHJldHVybiBwIC0gaGVhZGVyICsgc2l6ZW9mKHdlYlNvY2tldFVwZ3JhZGVIZWFkZXIpIC0gMTsK
ICAgICAgICAgfQogICAgICAgICBwICs9IHNpemVvZih3ZWJTb2NrZXRVcGdyYWRlSGVhZGVyKSAt
IDE7CkBAIC0yNDksNyArMjU5LDkgQEAgaW50IFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZFNlcnZl
ckhhbmRzaGFrZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBsZW4pCiAgICAgICAgIGlmICho
ZWFkZXJTaXplIDwgc2l6ZW9mKHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIpIC0gMSkKICAgICAg
ICAgICAgIHJldHVybiAtMTsKICAgICAgICAgaWYgKG1lbWNtcChwLCB3ZWJTb2NrZXRDb25uZWN0
aW9uSGVhZGVyLCBzaXplb2Yod2ViU29ja2V0Q29ubmVjdGlvbkhlYWRlcikgLSAxKSkgewotICAg
ICAgICAgICAgTE9HKE5ldHdvcmssICJCYWQgY29ubmVjdGlvbiBoZWFkZXI6ICVzIiwgcCk7Cisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShJ
bnNwZWN0b3JDb250cm9sbGVyRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2Fn
ZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQmFkIENvbm5lY3Rpb24gaGVhZGVyOiAiICsgU3Ry
aW5nKHAsIGVuZCAtIHApLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAg
IHJldHVybiBwIC0gaGVhZGVyICsgc2l6ZW9mKHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIpIC0g
MTsKICAgICAgICAgfQogICAgICAgICBwICs9IHNpemVvZih3ZWJTb2NrZXRDb25uZWN0aW9uSGVh
ZGVyKSAtIDE7CkBAIC0zNTgsMTMgKzM3MCwxOSBAQCBjb25zdCBjaGFyKiBXZWJTb2NrZXRIYW5k
c2hha2U6OnJlYWRIVFRQSGVhZGVycyhjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogZQog
ICAgICAgICAgICAgICAgIGlmIChuYW1lLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgICAg
ICBpZiAocCArIDEgPCBlbmQgJiYgKihwICsgMSkgPT0gJ1xuJykKICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBwICsgMjsKLSAgICAgICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJD
UiBkb2Vzbid0IGZvbGxvdyBMRiBwPSVwIGVuZD0lcCIsIHAsIGVuZCk7CisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICAgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3Bl
Y3RvckNvbnRyb2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJDUiBkb2Vzbid0IGZvbGxvdyBMRiBhdCAiICsgU3RyaW5n
KHAsIGVuZCAtIHApLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIExPRyhO
ZXR3b3JrLCAiVW5leHBlY3RlZCBDUiBpbiBuYW1lIik7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KyAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxl
ckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgIlVuZXhwZWN0ZWQgQ1IgaW4gbmFtZSBhdCAiICsgU3RyaW5nKHAsIGVuZCAtIHAp
LCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgICAgIGNhc2UgJ1xuJzoKLSAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgIlVu
ZXhwZWN0ZWQgTEYgaW4gbmFtZSIpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgICAg
ICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRyb2xsZXJEZXN0aW5hdGlv
biwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJV
bmV4cGVjdGVkIExGIGluIG5hbWUgYXQgIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50
T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAg
ICBjYXNlICc6JzoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTM4OCw3ICs0MDYsOSBAQCBj
b25zdCBjaGFyKiBXZWJTb2NrZXRIYW5kc2hha2U6OnJlYWRIVFRQSGVhZGVycyhjb25zdCBjaGFy
KiBzdGFydCwgY29uc3QgY2hhciogZQogICAgICAgICAgICAgY2FzZSAnXHInOgogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAgICAgICAgIExP
RyhOZXR3b3JrLCAiVW5leHBlY3RlZCBMRiBpbiB2YWx1ZSIpOworI2lmIEVOQUJMRShJTlNQRUNU
T1IpCisgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRy
b2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsICJVbmV4cGVjdGVkIExGIGluIHZhbHVlIGF0ICIgKyBTdHJpbmcocCwgZW5k
IC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQo
KnApOwpAQCAtMzk5LDcgKzQxOSw5IEBAIGNvbnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6
cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHAgPj0gZW5kIHx8ICpwICE9ICdcbicpIHsK
LSAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiQ1IgZG9lc24ndCBmb2xsb3cgTEYgYWZ0ZXIgdmFs
dWUgcD0lcCBlbmQ9JXAiLCBwLCBlbmQpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAg
ICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9u
LCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkNS
IGRvZXNuJ3QgZm9sbG93IExGIGFmdGVyIHZhbHVlIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCks
IDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAg
ICAgIH0KICAgICAgICAgQXRvbWljU3RyaW5nIG5hbWVTdHIoU3RyaW5nOjpmcm9tVVRGOChuYW1l
LmRhdGEoKSwgbmFtZS5zaXplKCkpKTsKQEAgLTQ0MSwxOSArNDYzLDM1IEBAIHZvaWQgV2ViU29j
a2V0SGFuZHNoYWtlOjpjaGVja1Jlc3BvbnNlSGVhZGVycygpCiB7CiAgICAgQVNTRVJUKG1fbW9k
ZSA9PSBOb3JtYWwpOwogICAgIG1fbW9kZSA9IEZhaWxlZDsKLSAgICBpZiAobV93c09yaWdpbi5p
c051bGwoKSB8fCBtX3dzTG9jYXRpb24uaXNOdWxsKCkpCisgICAgaWYgKG1fd3NPcmlnaW4uaXNO
dWxsKCkpIHsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQtPmFkZE1l
c3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIldlYlNvY2tldC1PcmlnaW4gbm90IGZv
dW5kIiwgMCwgY2xpZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgaWYgKG1fd3NMb2NhdGlvbi5pc051bGwoKSkgeworI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShJbnNwZWN0b3JDb250cm9sbGVyRGVzdGlu
YXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiV2ViU29ja2V0LUxvY2F0aW9uIG5vdCBmb3VuZCIsIDAsIGNsaWVudE9yaWdpbigpKTsKKyNl
bmRpZgorICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgaWYgKGNsaWVudE9yaWdpbigpICE9
IG1fd3NPcmlnaW4pIHsKLSAgICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBvcmlnaW46ICVz
ICE9ICVzIiwgY2xpZW50T3JpZ2luKCkudXRmOCgpLmRhdGEoKSwgbV93c09yaWdpbi51dGY4KCku
ZGF0YSgpKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQtPmFkZE1l
c3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk1pc21hdGNoIG9yaWdpbjogIiArIGNs
aWVudE9yaWdpbigpICsgIiAhPSAiICsgbV93c09yaWdpbiwgMCwgY2xpZW50T3JpZ2luKCkpOwor
I2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGNsaWVudExvY2F0aW9uKCkg
IT0gbV93c0xvY2F0aW9uKSB7Ci0gICAgICAgIExPRyhOZXR3b3JrLCAiTWlzbWF0Y2ggbG9jYXRp
b246ICVzICE9ICVzIiwgY2xpZW50TG9jYXRpb24oKS51dGY4KCkuZGF0YSgpLCBtX3dzTG9jYXRp
b24udXRmOCgpLmRhdGEoKSk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgbV9jb250
ZXh0LT5hZGRNZXNzYWdlKEluc3BlY3RvckNvbnRyb2xsZXJEZXN0aW5hdGlvbiwgSlNNZXNzYWdl
U291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJNaXNtYXRjaCBsb2Nh
dGlvbjogIiArIGNsaWVudExvY2F0aW9uKCkgKyAiICE9ICIgKyBtX3dzTG9jYXRpb24sIDAsIGNs
aWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmICgh
bV9jbGllbnRQcm90b2NvbC5pc0VtcHR5KCkgJiYgbV9jbGllbnRQcm90b2NvbCAhPSBtX3dzUHJv
dG9jb2wpIHsKLSAgICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBwcm90b2NvbDogJXMgIT0g
JXMiLCBtX2NsaWVudFByb3RvY29sLnV0ZjgoKS5kYXRhKCksIG1fd3NQcm90b2NvbC51dGY4KCku
ZGF0YSgpKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQtPmFkZE1l
c3NhZ2UoSW5zcGVjdG9yQ29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExv
Z01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIk1pc21hdGNoIHByb3RvY29sOiAiICsg
bV9jbGllbnRQcm90b2NvbCArICIgIT0gIiArIG1fd3NQcm90b2NvbCwgMCwgY2xpZW50T3JpZ2lu
KCkpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9tb2RlID0gQ29ubmVj
dGVkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44591</attachid>
            <date>2009-12-09 21:08:13 -0800</date>
            <delta_ts>2009-12-10 16:09:00 -0800</delta_ts>
            <desc>Log WebSokcet error to Web Inspector console.</desc>
            <filename>bug-32165-20091210140811.patch</filename>
            <type>text/plain</type>
            <size>9496</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDcyNjBkYi4uOThiYjQyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0xMi0wOSAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBMb2cgV2ViU29rY2V0IGVycm9yIHRvIFdlYiBJbnNwZWN0b3IgY29u
c29sZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTY1CisKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Blbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcik6CisgICAgICAgICogd2Vic29ja2V0
cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6Y2hlY2tSZXNwb25zZUhlYWRlcnMpOgorCiAyMDA5LTEyLTA5ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGEyMjJi
NGQuLjA0NTQ3NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmNwcAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAg
LTExOCw3ICsxMTgsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW4oU29ja2V0U3Ry
ZWFtSGFuZGxlKiBoYW5kbGUpCiAgICAgQVNTRVJUKGhhbmRsZSA9PSBtX2hhbmRsZSk7CiAgICAg
Y29uc3QgQ1N0cmluZyYgaGFuZHNoYWtlTWVzc2FnZSA9IG1faGFuZHNoYWtlLmNsaWVudEhhbmRz
aGFrZU1lc3NhZ2UoKTsKICAgICBpZiAoIWhhbmRsZS0+c2VuZChoYW5kc2hha2VNZXNzYWdlLmRh
dGEoKSwgaGFuZHNoYWtlTWVzc2FnZS5sZW5ndGgoKSkpIHsKLSAgICAgICAgTE9HKE5ldHdvcmss
ICJFcnJvciBpbiBzZW5kaW5nIGhhbmRzaGFrZSBtZXNzYWdlLiIpOworI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24s
IEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiRXJy
b3Igc2VuZGluZyBoYW5kc2hha2UgbWVzc2FnZS4iLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRPcmln
aW4oKSk7CisjZW5kaWYKICAgICAgICAgaGFuZGxlLT5jbG9zZSgpOwogICAgIH0KIH0KQEAgLTI0
Niw3ICsyNDgsOSBAQCBib29sIFdlYlNvY2tldENoYW5uZWw6OmFwcGVuZFRvQnVmZmVyKGNvbnN0
IGNoYXIqIGRhdGEsIGludCBsZW4pCiAgICAgICAgIG1fYnVmZmVyU2l6ZSArPSBsZW47CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBMT0coTmV0d29yaywgIlRvbyBsb25nIFdlYlNv
Y2tldCBmcmFtZSAlZCIsIG1fYnVmZmVyU2l6ZSArIGxlbik7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9uLCBKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgU3RyaW5nOjpmb3Jt
YXQoIldlYlNvY2tldCBmcmFtZSAoYXQgJWQgYnl0ZXMpIGlzIHRvbyBsb25nLiIsIG1fYnVmZmVy
U2l6ZSArIGxlbiksIDAsIG1faGFuZHNoYWtlLmNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAg
IHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldEhhbmRzaGFrZS5jcHAgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtl
LmNwcAppbmRleCBkMWRhNDQzLi4xZWExMjkzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlLmNwcAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmNwcApAQCAtMjE2LDE5ICsyMTYsMjcgQEAgaW50IFdlYlNvY2tldEhhbmRz
aGFrZTo6cmVhZFNlcnZlckhhbmRzaGFrZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBsZW4p
CiAgICAgZWxzZSB7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgY29kZSA9IGV4dHJhY3RSZXNwb25z
ZUNvZGUoaGVhZGVyLCBsZW4pOwogICAgICAgICBpZiAoY29kZS5pc051bGwoKSkgewotICAgICAg
ICAgICAgTE9HKE5ldHdvcmssICJzaG9ydCBzZXJ2ZXIgaGFuZHNoYWtlOiAlcyIsIGhlYWRlcik7
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2Fn
ZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCAiU2hvcnQgc2VydmVyIGhhbmRzaGFrZTogIiArIFN0cmluZyhoZWFk
ZXIsIGxlbiksIDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJu
IC0xOwogICAgICAgICB9CiAgICAgICAgIGlmIChjb2RlLmlzRW1wdHkoKSkgewotICAgICAgICAg
ICAgTE9HKE5ldHdvcmssICJubyByZXNwb25zZSBjb2RlIGZvdW5kOiAlcyIsIGhlYWRlcik7Cisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShD
b25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9y
TWVzc2FnZUxldmVsLCAiTm8gcmVzcG9uc2UgY29kZSBmb3VuZDogIiArIFN0cmluZyhoZWFkZXIs
IGxlbiksIDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIGxl
bjsKICAgICAgICAgfQogICAgICAgICBMT0coTmV0d29yaywgInJlc3BvbnNlIGNvZGU6ICVzIiwg
Y29kZS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgaWYgKGNvZGUgPT0gIjQwMSIpIHsKLSAgICAg
ICAgICAgIExPRyhOZXR3b3JrLCAiQXV0aGVudGljYXRpb24gcmVxdWlyZWQiKTsKKyNpZiBFTkFC
TEUoSU5TRVBDVE9SKQorICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKEluc2VjdG9y
Q29udHJvbGxlckRlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkLCBidXQgbm90IGltcGxl
bWVudGVkIHlldC4iLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgIHJl
dHVybiBsZW47CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBMT0coTmV0d29yaywgIk1p
c21hdGNoIHNlcnZlciBoYW5kc2hha2U6ICVzIiwgaGVhZGVyKTsKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlv
biwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJV
bmV4cGVjdGVkIHJlc3BvbnNlIGNvZGU6IiArIGNvZGUgKyAiIGluICIgKyBTdHJpbmcoaGVhZGVy
LCBsZW4pLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiBs
ZW47CiAgICAgICAgIH0KICAgICB9CkBAIC0yNDAsNyArMjQ4LDkgQEAgaW50IFdlYlNvY2tldEhh
bmRzaGFrZTo6cmVhZFNlcnZlckhhbmRzaGFrZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBs
ZW4pCiAgICAgICAgIGlmIChoZWFkZXJTaXplIDwgc2l6ZW9mKHdlYlNvY2tldFVwZ3JhZGVIZWFk
ZXIpIC0gMSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBpZiAobWVtY21wKHAsIHdl
YlNvY2tldFVwZ3JhZGVIZWFkZXIsIHNpemVvZih3ZWJTb2NrZXRVcGdyYWRlSGVhZGVyKSAtIDEp
KSB7Ci0gICAgICAgICAgICBMT0coTmV0d29yaywgIkJhZCB1cGdyYWRlIGhlYWRlcjogJXMiLCBw
KTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNz
YWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
RXJyb3JNZXNzYWdlTGV2ZWwsICJCYWQgVXBncmFkZSBoZWFkZXI6ICIgKyBTdHJpbmcocCwgZW5k
IC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIHAg
LSBoZWFkZXIgKyBzaXplb2Yod2ViU29ja2V0VXBncmFkZUhlYWRlcikgLSAxOwogICAgICAgICB9
CiAgICAgICAgIHAgKz0gc2l6ZW9mKHdlYlNvY2tldFVwZ3JhZGVIZWFkZXIpIC0gMTsKQEAgLTI0
OSw3ICsyNTksOSBAQCBpbnQgV2ViU29ja2V0SGFuZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtl
KGNvbnN0IGNoYXIqIGhlYWRlciwgc2l6ZV90IGxlbikKICAgICAgICAgaWYgKGhlYWRlclNpemUg
PCBzaXplb2Yod2ViU29ja2V0Q29ubmVjdGlvbkhlYWRlcikgLSAxKQogICAgICAgICAgICAgcmV0
dXJuIC0xOwogICAgICAgICBpZiAobWVtY21wKHAsIHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIs
IHNpemVvZih3ZWJTb2NrZXRDb25uZWN0aW9uSGVhZGVyKSAtIDEpKSB7Ci0gICAgICAgICAgICBM
T0coTmV0d29yaywgIkJhZCBjb25uZWN0aW9uIGhlYWRlcjogJXMiLCBwKTsKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0
aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2
ZWwsICJCYWQgQ29ubmVjdGlvbiBoZWFkZXI6ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNs
aWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIHAgLSBoZWFkZXIgKyBz
aXplb2Yod2ViU29ja2V0Q29ubmVjdGlvbkhlYWRlcikgLSAxOwogICAgICAgICB9CiAgICAgICAg
IHAgKz0gc2l6ZW9mKHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIpIC0gMTsKQEAgLTM1OCwxMyAr
MzcwLDE5IEBAIGNvbnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJz
KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICAgICAgaWYgKG5h
bWUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwICsgMSA8IGVuZCAmJiAq
KHAgKyAxKSA9PSAnXG4nKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHAgKyAyOwot
ICAgICAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgIkNSIGRvZXNuJ3QgZm9sbG93IExGIHA9
JXAgZW5kPSVwIiwgcCwgZW5kKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICAgICAg
ICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9uLCBKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkNSIGRvZXNuJ3Qg
Zm9sbG93IExGIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsK
KyNlbmRpZgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgTE9HKE5ldHdvcmssICJVbmV4cGVjdGVkIENSIGluIG5hbWUiKTsK
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVz
c2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiVW5leHBlY3RlZCBDUiBpbiBuYW1lIGF0ICIgKyBTdHJpbmco
cCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICAgICAgY2FzZSAnXG4nOgotICAgICAgICAgICAgICAgIExPRyhO
ZXR3b3JrLCAiVW5leHBlY3RlZCBMRiBpbiBuYW1lIik7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KyAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9u
LCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlVu
ZXhwZWN0ZWQgTEYgaW4gbmFtZSBhdCAiICsgU3RyaW5nKHAsIGVuZCAtIHApLCAwLCBjbGllbnRP
cmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAg
IGNhc2UgJzonOgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzg4LDcgKzQwNiw5IEBAIGNv
bnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIq
IHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICBjYXNlICdccic6CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAgICAgTE9H
KE5ldHdvcmssICJVbmV4cGVjdGVkIExGIGluIHZhbHVlIik7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0
aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwg
IlVuZXhwZWN0ZWQgTEYgaW4gdmFsdWUgYXQgIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xp
ZW50T3JpZ2luKCkpOworI2VuZGlmCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHZhbHVlLmFwcGVuZCgqcCk7CkBAIC0zOTks
NyArNDE5LDkgQEAgY29uc3QgY2hhciogV2ViU29ja2V0SGFuZHNoYWtlOjpyZWFkSFRUUEhlYWRl
cnMoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGUKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgICAgICBpZiAocCA+PSBlbmQgfHwgKnAgIT0gJ1xuJykgewotICAgICAgICAgICAg
TE9HKE5ldHdvcmssICJDUiBkb2Vzbid0IGZvbGxvdyBMRiBhZnRlciB2YWx1ZSBwPSVwIGVuZD0l
cCIsIHAsIGVuZCk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgICAgIG1fY29udGV4
dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQ1IgZG9lc24ndCBmb2xsb3cgTEYgYWZ0ZXIg
dmFsdWUgYXQgIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50T3JpZ2luKCkpOworI2Vu
ZGlmCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICBBdG9taWNTdHJp
bmcgbmFtZVN0cihTdHJpbmc6OmZyb21VVEY4KG5hbWUuZGF0YSgpLCBuYW1lLnNpemUoKSkpOwpA
QCAtNDQxLDE5ICs0NjMsMzUgQEAgdm9pZCBXZWJTb2NrZXRIYW5kc2hha2U6OmNoZWNrUmVzcG9u
c2VIZWFkZXJzKCkKIHsKICAgICBBU1NFUlQobV9tb2RlID09IE5vcm1hbCk7CiAgICAgbV9tb2Rl
ID0gRmFpbGVkOwotICAgIGlmIChtX3dzT3JpZ2luLmlzTnVsbCgpIHx8IG1fd3NMb2NhdGlvbi5p
c051bGwoKSkKKyAgICBpZiAobV93c09yaWdpbi5pc051bGwoKSkgeworI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24s
IEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiV2Vi
U29ja2V0LU9yaWdpbiBub3QgZm91bmQiLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV93c0xvY2F0aW9uLmlzTnVsbCgpKSB7Cisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNv
bGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsICJXZWJTb2NrZXQtTG9jYXRpb24gbm90IGZvdW5kIiwgMCwgY2xpZW50T3JpZ2lu
KCkpOworI2VuZGlmCisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoY2xpZW50T3Jp
Z2luKCkgIT0gbV93c09yaWdpbikgewotICAgICAgICBMT0coTmV0d29yaywgIk1pc21hdGNoIG9y
aWdpbjogJXMgIT0gJXMiLCBjbGllbnRPcmlnaW4oKS51dGY4KCkuZGF0YSgpLCBtX3dzT3JpZ2lu
LnV0ZjgoKS5kYXRhKCkpOworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1fY29udGV4
dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiT3JpZ2luIG1pc21hdGNoOiAiICsgY2xpZW50
T3JpZ2luKCkgKyAiICE9ICIgKyBtX3dzT3JpZ2luLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5k
aWYKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoY2xpZW50TG9jYXRpb24oKSAhPSBt
X3dzTG9jYXRpb24pIHsKLSAgICAgICAgTE9HKE5ldHdvcmssICJNaXNtYXRjaCBsb2NhdGlvbjog
JXMgIT0gJXMiLCBjbGllbnRMb2NhdGlvbigpLnV0ZjgoKS5kYXRhKCksIG1fd3NMb2NhdGlvbi51
dGY4KCkuZGF0YSgpKTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAgICBtX2NvbnRleHQt
PmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3Nh
Z2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkxvY2F0aW9uIG1pc21hdGNoOiAiICsgY2xpZW50
TG9jYXRpb24oKSArICIgIT0gIiArIG1fd3NMb2NhdGlvbiwgMCwgY2xpZW50T3JpZ2luKCkpOwor
I2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKCFtX2NsaWVudFByb3RvY29s
LmlzRW1wdHkoKSAmJiBtX2NsaWVudFByb3RvY29sICE9IG1fd3NQcm90b2NvbCkgewotICAgICAg
ICBMT0coTmV0d29yaywgIk1pc21hdGNoIHByb3RvY29sOiAlcyAhPSAlcyIsIG1fY2xpZW50UHJv
dG9jb2wudXRmOCgpLmRhdGEoKSwgbV93c1Byb3RvY29sLnV0ZjgoKS5kYXRhKCkpOworI2lmIEVO
QUJMRShJTlNQRUNUT1IpCisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVz
dGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiUHJvdG9jb2wgbWlzbWF0Y2g6ICIgKyBtX2NsaWVudFByb3RvY29sICsgIiAhPSAiICsg
bV93c1Byb3RvY29sLCAwLCBjbGllbnRPcmlnaW4oKSk7CisjZW5kaWYKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX21vZGUgPSBDb25uZWN0ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44645</attachid>
            <date>2009-12-10 16:09:06 -0800</date>
            <delta_ts>2009-12-10 22:18:30 -0800</delta_ts>
            <desc>Log WebSocket error to Web Inspector console.</desc>
            <filename>bug-32165-20091211090904.patch</filename>
            <type>text/plain</type>
            <size>8937</size>
            <attacher name="Fumitoshi Ukai">ukai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTIxY2VhZS4uMWJkYjY4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0xMi0xMCAgRnVtaXRvc2hpIFVr
YWkgIDx1a2FpQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBMb2cgV2ViU29ja2V0IGVycm9yIHRvIFdlYiBJbnNwZWN0b3IgY29u
c29sZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTY1CisKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Blbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjphcHBlbmRUb0J1ZmZlcik6CisgICAgICAgICogd2Vic29ja2V0
cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0SGFu
ZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dEhhbmRzaGFrZTo6Y2hlY2tSZXNwb25zZUhlYWRlcnMpOgorCiAyMDA5LTEyLTEwICBTdGVwaGVu
IFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApp
bmRleCBhMjIyYjRkLi4wN2I2M2QxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVu
KFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5k
bGUpOwogICAgIGNvbnN0IENTdHJpbmcmIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS5j
bGllbnRIYW5kc2hha2VNZXNzYWdlKCk7CiAgICAgaWYgKCFoYW5kbGUtPnNlbmQoaGFuZHNoYWtl
TWVzc2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKSB7Ci0gICAgICAgIExP
RyhOZXR3b3JrLCAiRXJyb3IgaW4gc2VuZGluZyBoYW5kc2hha2UgbWVzc2FnZS4iKTsKKyAgICAg
ICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291
cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJFcnJvciBzZW5kaW5nIGhh
bmRzaGFrZSBtZXNzYWdlLiIsIDAsIG1faGFuZHNoYWtlLmNsaWVudE9yaWdpbigpKTsKICAgICAg
ICAgaGFuZGxlLT5jbG9zZSgpOwogICAgIH0KIH0KQEAgLTI0Niw3ICsyNDYsNyBAQCBib29sIFdl
YlNvY2tldENoYW5uZWw6OmFwcGVuZFRvQnVmZmVyKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW4p
CiAgICAgICAgIG1fYnVmZmVyU2l6ZSArPSBsZW47CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KLSAgICBMT0coTmV0d29yaywgIlRvbyBsb25nIFdlYlNvY2tldCBmcmFtZSAlZCIsIG1fYnVm
ZmVyU2l6ZSArIGxlbik7CisgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5h
dGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
IFN0cmluZzo6Zm9ybWF0KCJXZWJTb2NrZXQgZnJhbWUgKGF0ICVkIGJ5dGVzKSBpcyB0b28gbG9u
Zy4iLCBtX2J1ZmZlclNpemUgKyBsZW4pLCAwLCBtX2hhbmRzaGFrZS5jbGllbnRPcmlnaW4oKSk7
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmNwcCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuY3BwCmluZGV4IGQxZGE0NDMuLjVlZWNjYjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuY3BwCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRIYW5kc2hha2UuY3BwCkBAIC0yMTYsMTkgKzIxNiwxOSBAQCBpbnQgV2ViU29ja2V0
SGFuZHNoYWtlOjpyZWFkU2VydmVySGFuZHNoYWtlKGNvbnN0IGNoYXIqIGhlYWRlciwgc2l6ZV90
IGxlbikKICAgICBlbHNlIHsKICAgICAgICAgY29uc3QgU3RyaW5nJiBjb2RlID0gZXh0cmFjdFJl
c3BvbnNlQ29kZShoZWFkZXIsIGxlbik7CiAgICAgICAgIGlmIChjb2RlLmlzTnVsbCgpKSB7Ci0g
ICAgICAgICAgICBMT0coTmV0d29yaywgInNob3J0IHNlcnZlciBoYW5kc2hha2U6ICVzIiwgaGVh
ZGVyKTsKKyAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRp
b24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAi
U2hvcnQgc2VydmVyIGhhbmRzaGFrZTogIiArIFN0cmluZyhoZWFkZXIsIGxlbiksIDAsIGNsaWVu
dE9yaWdpbigpKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICBp
ZiAoY29kZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIExPRyhOZXR3b3JrLCAibm8gcmVzcG9u
c2UgY29kZSBmb3VuZDogJXMiLCBoZWFkZXIpOworICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRN
ZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlw
ZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJObyByZXNwb25zZSBjb2RlIGZvdW5kOiAiICsgU3RyaW5n
KGhlYWRlciwgbGVuKSwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICAgICAgcmV0dXJuIGxl
bjsKICAgICAgICAgfQogICAgICAgICBMT0coTmV0d29yaywgInJlc3BvbnNlIGNvZGU6ICVzIiwg
Y29kZS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgaWYgKGNvZGUgPT0gIjQwMSIpIHsKLSAgICAg
ICAgICAgIExPRyhOZXR3b3JrLCAiQXV0aGVudGljYXRpb24gcmVxdWlyZWQiKTsKKyAgICAgICAg
ICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNv
dXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQXV0aGVudGljYXRpb24g
cmVxdWlyZWQsIGJ1dCBub3QgaW1wbGVtZW50ZWQgeWV0LiIsIDAsIGNsaWVudE9yaWdpbigpKTsK
ICAgICAgICAgICAgIHJldHVybiBsZW47CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBM
T0coTmV0d29yaywgIk1pc21hdGNoIHNlcnZlciBoYW5kc2hha2U6ICVzIiwgaGVhZGVyKTsKKyAg
ICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVz
c2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiVW5leHBlY3Rl
ZCByZXNwb25zZSBjb2RlOiIgKyBjb2RlICsgIiBpbiAiICsgU3RyaW5nKGhlYWRlciwgbGVuKSwg
MCwgY2xpZW50T3JpZ2luKCkpOwogICAgICAgICAgICAgcmV0dXJuIGxlbjsKICAgICAgICAgfQog
ICAgIH0KQEAgLTI0MCw3ICsyNDAsNyBAQCBpbnQgV2ViU29ja2V0SGFuZHNoYWtlOjpyZWFkU2Vy
dmVySGFuZHNoYWtlKGNvbnN0IGNoYXIqIGhlYWRlciwgc2l6ZV90IGxlbikKICAgICAgICAgaWYg
KGhlYWRlclNpemUgPCBzaXplb2Yod2ViU29ja2V0VXBncmFkZUhlYWRlcikgLSAxKQogICAgICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGlmIChtZW1jbXAocCwgd2ViU29ja2V0VXBncmFkZUhl
YWRlciwgc2l6ZW9mKHdlYlNvY2tldFVwZ3JhZGVIZWFkZXIpIC0gMSkpIHsKLSAgICAgICAgICAg
IExPRyhOZXR3b3JrLCAiQmFkIHVwZ3JhZGUgaGVhZGVyOiAlcyIsIHApOworICAgICAgICAgICAg
bV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNl
LCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJCYWQgVXBncmFkZSBoZWFkZXI6
ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKICAgICAgICAgICAg
IHJldHVybiBwIC0gaGVhZGVyICsgc2l6ZW9mKHdlYlNvY2tldFVwZ3JhZGVIZWFkZXIpIC0gMTsK
ICAgICAgICAgfQogICAgICAgICBwICs9IHNpemVvZih3ZWJTb2NrZXRVcGdyYWRlSGVhZGVyKSAt
IDE7CkBAIC0yNDksNyArMjQ5LDcgQEAgaW50IFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZFNlcnZl
ckhhbmRzaGFrZShjb25zdCBjaGFyKiBoZWFkZXIsIHNpemVfdCBsZW4pCiAgICAgICAgIGlmICho
ZWFkZXJTaXplIDwgc2l6ZW9mKHdlYlNvY2tldENvbm5lY3Rpb25IZWFkZXIpIC0gMSkKICAgICAg
ICAgICAgIHJldHVybiAtMTsKICAgICAgICAgaWYgKG1lbWNtcChwLCB3ZWJTb2NrZXRDb25uZWN0
aW9uSGVhZGVyLCBzaXplb2Yod2ViU29ja2V0Q29ubmVjdGlvbkhlYWRlcikgLSAxKSkgewotICAg
ICAgICAgICAgTE9HKE5ldHdvcmssICJCYWQgY29ubmVjdGlvbiBoZWFkZXI6ICVzIiwgcCk7Cisg
ICAgICAgICAgICBtX2NvbnRleHQtPmFkZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9uLCBKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIkJhZCBDb25u
ZWN0aW9uIGhlYWRlcjogIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50T3JpZ2luKCkp
OwogICAgICAgICAgICAgcmV0dXJuIHAgLSBoZWFkZXIgKyBzaXplb2Yod2ViU29ja2V0Q29ubmVj
dGlvbkhlYWRlcikgLSAxOwogICAgICAgICB9CiAgICAgICAgIHAgKz0gc2l6ZW9mKHdlYlNvY2tl
dENvbm5lY3Rpb25IZWFkZXIpIC0gMTsKQEAgLTM1OCwxMyArMzU4LDEzIEBAIGNvbnN0IGNoYXIq
IFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIqIHN0YXJ0LCBj
b25zdCBjaGFyKiBlCiAgICAgICAgICAgICAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChwICsgMSA8IGVuZCAmJiAqKHAgKyAxKSA9PSAnXG4nKQogICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHAgKyAyOwotICAgICAgICAgICAgICAgICAgICBM
T0coTmV0d29yaywgIkNSIGRvZXNuJ3QgZm9sbG93IExGIHA9JXAgZW5kPSVwIiwgcCwgZW5kKTsK
KyAgICAgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5h
dGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWws
ICJDUiBkb2Vzbid0IGZvbGxvdyBMRiBhdCAiICsgU3RyaW5nKHAsIGVuZCAtIHApLCAwLCBjbGll
bnRPcmlnaW4oKSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgIlVuZXhwZWN0ZWQgQ1IgaW4gbmFt
ZSIpOworICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGlu
YXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVs
LCAiVW5leHBlY3RlZCBDUiBpbiBuYW1lIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNs
aWVudE9yaWdpbigpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIGNh
c2UgJ1xuJzoKLSAgICAgICAgICAgICAgICBMT0coTmV0d29yaywgIlVuZXhwZWN0ZWQgTEYgaW4g
bmFtZSIpOworICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVz
dGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxl
dmVsLCAiVW5leHBlY3RlZCBMRiBpbiBuYW1lIGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAs
IGNsaWVudE9yaWdpbigpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAg
IGNhc2UgJzonOgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzg4LDcgKzM4OCw3IEBAIGNv
bnN0IGNoYXIqIFdlYlNvY2tldEhhbmRzaGFrZTo6cmVhZEhUVFBIZWFkZXJzKGNvbnN0IGNoYXIq
IHN0YXJ0LCBjb25zdCBjaGFyKiBlCiAgICAgICAgICAgICBjYXNlICdccic6CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICdcbic6Ci0gICAgICAgICAgICAgICAgTE9H
KE5ldHdvcmssICJVbmV4cGVjdGVkIExGIGluIHZhbHVlIik7CisgICAgICAgICAgICAgICAgbV9j
b250ZXh0LT5hZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBM
b2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJVbmV4cGVjdGVkIExGIGluIHZhbHVl
IGF0ICIgKyBTdHJpbmcocCwgZW5kIC0gcCksIDAsIGNsaWVudE9yaWdpbigpKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAg
dmFsdWUuYXBwZW5kKCpwKTsKQEAgLTM5OSw3ICszOTksNyBAQCBjb25zdCBjaGFyKiBXZWJTb2Nr
ZXRIYW5kc2hha2U6OnJlYWRIVFRQSGVhZGVycyhjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hh
ciogZQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChwID49IGVuZCB8fCAq
cCAhPSAnXG4nKSB7Ci0gICAgICAgICAgICBMT0coTmV0d29yaywgIkNSIGRvZXNuJ3QgZm9sbG93
IExGIGFmdGVyIHZhbHVlIHA9JXAgZW5kPSVwIiwgcCwgZW5kKTsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9n
TWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiQ1IgZG9lc24ndCBmb2xsb3cgTEYgYWZ0
ZXIgdmFsdWUgYXQgIiArIFN0cmluZyhwLCBlbmQgLSBwKSwgMCwgY2xpZW50T3JpZ2luKCkpOwog
ICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgQXRvbWljU3RyaW5nIG5h
bWVTdHIoU3RyaW5nOjpmcm9tVVRGOChuYW1lLmRhdGEoKSwgbmFtZS5zaXplKCkpKTsKQEAgLTQ0
MSwxOSArNDQxLDI1IEBAIHZvaWQgV2ViU29ja2V0SGFuZHNoYWtlOjpjaGVja1Jlc3BvbnNlSGVh
ZGVycygpCiB7CiAgICAgQVNTRVJUKG1fbW9kZSA9PSBOb3JtYWwpOwogICAgIG1fbW9kZSA9IEZh
aWxlZDsKLSAgICBpZiAobV93c09yaWdpbi5pc051bGwoKSB8fCBtX3dzTG9jYXRpb24uaXNOdWxs
KCkpCisgICAgaWYgKG1fd3NPcmlnaW4uaXNOdWxsKCkpIHsKKyAgICAgICAgbV9jb250ZXh0LT5h
ZGRNZXNzYWdlKENvbnNvbGVEZXN0aW5hdGlvbiwgSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsICJXZWJTb2NrZXQtT3JpZ2luIG5vdCBmb3VuZCIsIDAs
IGNsaWVudE9yaWdpbigpKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobV93c0xv
Y2F0aW9uLmlzTnVsbCgpKSB7CisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xl
RGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2Fn
ZUxldmVsLCAiV2ViU29ja2V0LUxvY2F0aW9uIG5vdCBmb3VuZCIsIDAsIGNsaWVudE9yaWdpbigp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGlmIChjbGllbnRPcmlnaW4oKSAhPSBt
X3dzT3JpZ2luKSB7Ci0gICAgICAgIExPRyhOZXR3b3JrLCAiTWlzbWF0Y2ggb3JpZ2luOiAlcyAh
PSAlcyIsIGNsaWVudE9yaWdpbigpLnV0ZjgoKS5kYXRhKCksIG1fd3NPcmlnaW4udXRmOCgpLmRh
dGEoKSk7CisgICAgICAgIG1fY29udGV4dC0+YWRkTWVzc2FnZShDb25zb2xlRGVzdGluYXRpb24s
IEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCAiT3Jp
Z2luIG1pc21hdGNoOiAiICsgY2xpZW50T3JpZ2luKCkgKyAiICE9ICIgKyBtX3dzT3JpZ2luLCAw
LCBjbGllbnRPcmlnaW4oKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKGNsaWVu
dExvY2F0aW9uKCkgIT0gbV93c0xvY2F0aW9uKSB7Ci0gICAgICAgIExPRyhOZXR3b3JrLCAiTWlz
bWF0Y2ggbG9jYXRpb246ICVzICE9ICVzIiwgY2xpZW50TG9jYXRpb24oKS51dGY4KCkuZGF0YSgp
LCBtX3dzTG9jYXRpb24udXRmOCgpLmRhdGEoKSk7CisgICAgICAgIG1fY29udGV4dC0+YWRkTWVz
c2FnZShDb25zb2xlRGVzdGluYXRpb24sIEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUs
IEVycm9yTWVzc2FnZUxldmVsLCAiTG9jYXRpb24gbWlzbWF0Y2g6ICIgKyBjbGllbnRMb2NhdGlv
bigpICsgIiAhPSAiICsgbV93c0xvY2F0aW9uLCAwLCBjbGllbnRPcmlnaW4oKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgaWYgKCFtX2NsaWVudFByb3RvY29sLmlzRW1wdHkoKSAmJiBt
X2NsaWVudFByb3RvY29sICE9IG1fd3NQcm90b2NvbCkgewotICAgICAgICBMT0coTmV0d29yaywg
Ik1pc21hdGNoIHByb3RvY29sOiAlcyAhPSAlcyIsIG1fY2xpZW50UHJvdG9jb2wudXRmOCgpLmRh
dGEoKSwgbV93c1Byb3RvY29sLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBtX2NvbnRleHQtPmFk
ZE1lc3NhZ2UoQ29uc29sZURlc3RpbmF0aW9uLCBKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgIlByb3RvY29sIG1pc21hdGNoOiAiICsgbV9jbGllbnRQ
cm90b2NvbCArICIgIT0gIiArIG1fd3NQcm90b2NvbCwgMCwgY2xpZW50T3JpZ2luKCkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIG1fbW9kZSA9IENvbm5lY3RlZDsK
</data>
<flag name="review"
          id="26543"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>