<?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>73980</bug_id>
          
          <creation_ts>2011-12-06 21:04:58 -0800</creation_ts>
          <short_desc>webkit.py gdb pretty printer should consider 8-bit characters of StringImpl.</short_desc>
          <delta_ts>2011-12-08 19:24:51 -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>Tools / Tests</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="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>evan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>516482</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-06 21:04:58 -0800</bug_when>
    <thetext>A webkit.py gdb pretty printer always uses StringImpl.m_data16 as data buffer. This is wrong assumption and pretty printer for WTFString seems broken.
We should take care of 8bit data buffers, m_data8, as well as m_data16.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516486</commentid>
    <comment_count>1</comment_count>
      <attachid>118166</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-06 21:13:11 -0800</bug_when>
    <thetext>Created attachment 118166
pretty printers for 8-bit StringImpl and LChar*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516688</commentid>
    <comment_count>2</comment_count>
      <attachid>118166</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 09:54:33 -0800</bug_when>
    <thetext>Comment on attachment 118166
pretty printers for 8-bit StringImpl and LChar*

Can you rebase your change? https://bugs.webkit.org/show_bug.cgi?id=73878 added similar support, but it could be extended further to decode the utf8 and handle LChar*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517020</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 17:36:35 -0800</bug_when>
    <thetext>Ops. I didn&apos;t notice there was a similar unlanded patch. Let me rebase/merge two patches and upload the result.

(In reply to comment #2)
&gt; (From update of attachment 118166 [details])
&gt; Can you rebase your change? https://bugs.webkit.org/show_bug.cgi?id=73878 added similar support, but it could be extended further to decode the utf8 and handle LChar*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517073</commentid>
    <comment_count>4</comment_count>
      <attachid>118301</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 18:24:44 -0800</bug_when>
    <thetext>Created attachment 118301
rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517083</commentid>
    <comment_count>5</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 18:29:28 -0800</bug_when>
    <thetext>I rebased it.

I don&apos;t think that we can decode m_data8 using &apos;utf-16&apos; as in https://bugs.webkit.org/show_bug.cgi?id=73878. So in this patch, I return m_data8 without any decoding. I think this is a reasonable assumption.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517087</commentid>
    <comment_count>6</comment_count>
      <attachid>118301</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 18:33:21 -0800</bug_when>
    <thetext>Comment on attachment 118301
rebased

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

&gt; Tools/gdb/webkit.py:60
&gt; +def ustring_to_unicode_string(ptr, length=None):
&gt;      &quot;&quot;&quot;Convert a pointer to UTF-16 data into a Python Unicode string.

We should try to be consistent with our use of unicode strings or utf8 strings.  Using utf8 might be easier, but I&apos;ll defer to your judgement.

&gt; Tools/gdb/webkit.py:71
&gt;      string = struct.pack(&apos;H&apos; * length, *char_vals).decode(&apos;utf-16&apos;, &apos;replace&apos;)
&gt; +    return string + unicode(error_message)

You could use utf8 for both of these.

&gt; Tools/gdb/webkit.py:133
&gt; +            return lstring_to_string(self.val[&apos;m_data8&apos;], self.get_length())
&gt; +        return ustring_to_unicode_string(self.val[&apos;m_data16&apos;], self.get_length()).encode(&apos;utf-8&apos;)

And could drop the extra encode(&apos;utf-8&apos;) here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517115</commentid>
    <comment_count>7</comment_count>
      <attachid>118310</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 19:22:06 -0800</bug_when>
    <thetext>Created attachment 118310
make it utf-8 string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517116</commentid>
    <comment_count>8</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-12-07 19:23:07 -0800</bug_when>
    <thetext>Thank you for the review.

I updated the patch so that it uses Python&apos;s (non-unicode) string everywhere.

(In reply to comment #6)
&gt; (From update of attachment 118301 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118301&amp;action=review
&gt; 
&gt; &gt; Tools/gdb/webkit.py:60
&gt; &gt; +def ustring_to_unicode_string(ptr, length=None):
&gt; &gt;      &quot;&quot;&quot;Convert a pointer to UTF-16 data into a Python Unicode string.
&gt; 
&gt; We should try to be consistent with our use of unicode strings or utf8 strings.  Using utf8 might be easier, but I&apos;ll defer to your judgement.
&gt; 
&gt; &gt; Tools/gdb/webkit.py:71
&gt; &gt;      string = struct.pack(&apos;H&apos; * length, *char_vals).decode(&apos;utf-16&apos;, &apos;replace&apos;)
&gt; &gt; +    return string + unicode(error_message)
&gt; 
&gt; You could use utf8 for both of these.
&gt; 
&gt; &gt; Tools/gdb/webkit.py:133
&gt; &gt; +            return lstring_to_string(self.val[&apos;m_data8&apos;], self.get_length())
&gt; &gt; +        return ustring_to_unicode_string(self.val[&apos;m_data16&apos;], self.get_length()).encode(&apos;utf-8&apos;)
&gt; 
&gt; And could drop the extra encode(&apos;utf-8&apos;) here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517479</commentid>
    <comment_count>9</comment_count>
      <attachid>118310</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-08 09:34:51 -0800</bug_when>
    <thetext>Comment on attachment 118310
make it utf-8 string

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518040</commentid>
    <comment_count>10</comment_count>
      <attachid>118310</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 19:24:46 -0800</bug_when>
    <thetext>Comment on attachment 118310
make it utf-8 string

Clearing flags on attachment: 118310

Committed r102420: &lt;http://trac.webkit.org/changeset/102420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518041</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 19:24:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118166</attachid>
            <date>2011-12-06 21:13:11 -0800</date>
            <delta_ts>2011-12-07 18:24:39 -0800</delta_ts>
            <desc>pretty printers for 8-bit StringImpl and LChar*</desc>
            <filename>bug-73980-20111207141309.patch</filename>
            <type>text/plain</type>
            <size>6864</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxODc2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmQzNjAyMGU3MjgxNmI2NTQyYWQyZTRhMTZjYzYyZmY5
MmQxOGFkOC4uNTUwZjQwMzZmM2NkNTNmNWVlMTc0MTRhMTAwZTA3NjI2OWZjNDVlYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDExLTEyLTA2ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbZ2RiXSBQcmV0dHkgcHJpbnRlciBmb3IgYSA4LWJpdCB2ZXJzaW9uIG9mIFdURjo6U3Ry
aW5nSW1wbCBhbmQgTENoYXIqLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzM5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGdkYi93ZWJraXQucHk6CisgICAgICAgIChndWVzc19zdHJpbmdfbGVuZ3Ro
KToKKyAgICAgICAgKHVzdHJpbmdfdG9fdW5pY29kZV9zdHJpbmcpOgorICAgICAgICAobHN0cmlu
Z190b19zdHJpbmcpOgorICAgICAgICAoVUNoYXJTdHJpbmdQcmludGVyLnRvX3N0cmluZyk6Cisg
ICAgICAgIChMQ2hhclN0cmluZ1ByaW50ZXIpOgorICAgICAgICAoTENoYXJTdHJpbmdQcmludGVy
LnRvX3N0cmluZyk6CisgICAgICAgIChXVEZTdHJpbmdJbXBsUHJpbnRlci5nZXRfbGVuZ3RoKToK
KyAgICAgICAgKFdURlN0cmluZ0ltcGxQcmludGVyLnRvX3N0cmluZyk6CisgICAgICAgIChXVEZT
dHJpbmdJbXBsUHJpbnRlci5pczhCaXQpOgorICAgICAgICAoV1RGU3RyaW5nUHJpbnRlci5nZXRf
bGVuZ3RoKToKKyAgICAgICAgKFdURlN0cmluZ1ByaW50ZXIudG9fc3RyaW5nKToKKyAgICAgICAg
KGFkZF9wcmV0dHlfcHJpbnRlcnMubG9va3VwX2Z1bmN0aW9uKToKKwogMjAxMS0xMi0wMiAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZp
eCB0aGUgR1RLKyBidWlsZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL2dkYi93ZWJraXQucHkgYi9Ub29s
cy9nZGIvd2Via2l0LnB5CmluZGV4IDgzYTNlOGFmNGIzYzhjMGM2NGZhYzAyOGU0YzNiN2U3Mzll
Y2Y2ODEuLjYyOWFiMmFhZTlhODIyMjBiYzFkNDQ0MjNlZmJjZDhhNzI1YzBhMTYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL2dkYi93ZWJraXQucHkKKysrIGIvVG9vbHMvZ2RiL3dlYmtpdC5weQpAQCAtNDAs
MzQgKzQwLDQ5IEBAIGltcG9ydCByZQogaW1wb3J0IHN0cnVjdAogCiAKLWRlZiB1c3RyaW5nX3Rv
X3N0cmluZyhwdHIsIGxlbmd0aD1Ob25lKToKK2RlZiBndWVzc19zdHJpbmdfbGVuZ3RoKHB0cik6
CisgICAgIiIiR3Vlc3MgbGVuZ3RoIG9mIHN0cmluZyBwb2ludGVkIGJ5IHB0ci4KKworICAgIFJl
dHVybnMgYSB0dXBsZSBvZiAobGVuZ3RoLCBhbiBlcnJvciBtZXNzYWdlKS4KKyAgICAiIiIKKyAg
ICAjIFRyeSB0byBndWVzcyBhdCB0aGUgbGVuZ3RoLgorICAgIGZvciBpIGluIHhyYW5nZSgwLCAy
MDQ4KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgaW50KChwdHIgKyBpKS5kZXJlZmVy
ZW5jZSgpKSA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBpLCAnJworICAgICAgICBleGNl
cHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgIyBXZSBpbmRleGVkIGludG8gaW5hY2Nlc3Np
YmxlIG1lbW9yeTsgZ2l2ZSB1cC4KKyAgICAgICAgICAgIHJldHVybiBpLCAnIChnZGIgaGl0IGlu
YWNjZXNzaWJsZSBtZW1vcnkpJworICAgIHJldHVybiAyNTYsICcgKGdkYiBmb3VuZCBubyB0cmFp
bGluZyBOVUwpJworCisKK2RlZiB1c3RyaW5nX3RvX3VuaWNvZGVfc3RyaW5nKHB0ciwgbGVuZ3Ro
PU5vbmUpOgogICAgICIiIkNvbnZlcnQgYSBwb2ludGVyIHRvIFVURi0xNiBkYXRhIGludG8gYSBQ
eXRob24gVW5pY29kZSBzdHJpbmcuCiAKICAgICBwdHIgYW5kIGxlbmd0aCBhcmUgYm90aCBnZGIu
VmFsdWUgb2JqZWN0cy4KICAgICBJZiBsZW5ndGggaXMgdW5zcGVjaWZpZWQsIHdpbGwgZ3Vlc3Mg
YXQgdGhlIGxlbmd0aC4iIiIKLSAgICBleHRyYSA9ICcnCisgICAgZXJyb3JfbWVzc2FnZSA9ICcn
CiAgICAgaWYgbGVuZ3RoIGlzIE5vbmU6Ci0gICAgICAgICMgVHJ5IHRvIGd1ZXNzIGF0IHRoZSBs
ZW5ndGguCi0gICAgICAgIGZvciBpIGluIHhyYW5nZSgwLCAyMDQ4KToKLSAgICAgICAgICAgIHRy
eToKLSAgICAgICAgICAgICAgICBpZiBpbnQoKHB0ciArIGkpLmRlcmVmZXJlbmNlKCkpID09IDA6
Ci0gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGkKLSAgICAgICAgICAgICAgICAgICAgYnJl
YWsKLSAgICAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6Ci0gICAgICAgICAgICAgICAgIyBX
ZSBpbmRleGVkIGludG8gaW5hY2Nlc3NpYmxlIG1lbW9yeTsgZ2l2ZSB1cC4KLSAgICAgICAgICAg
ICAgICBsZW5ndGggPSBpCi0gICAgICAgICAgICAgICAgZXh0cmEgPSB1JyAoZ2RiIGhpdCBpbmFj
Y2Vzc2libGUgbWVtb3J5KScKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICBpZiBsZW5n
dGggaXMgTm9uZToKLSAgICAgICAgICAgIGxlbmd0aCA9IDI1NgotICAgICAgICAgICAgZXh0cmEg
PSB1JyAoZ2RiIGZvdW5kIG5vIHRyYWlsaW5nIE5VTCknCisgICAgICAgIGxlbmd0aCwgZXJyb3Jf
bWVzc2FnZSA9IGd1ZXNzX3N0cmluZ19sZW5ndGgocHRyKQogICAgIGVsc2U6CiAgICAgICAgIGxl
bmd0aCA9IGludChsZW5ndGgpCi0KICAgICBjaGFyX3ZhbHMgPSBbaW50KChwdHIgKyBpKS5kZXJl
ZmVyZW5jZSgpKSBmb3IgaSBpbiB4cmFuZ2UobGVuZ3RoKV0KICAgICBzdHJpbmcgPSBzdHJ1Y3Qu
cGFjaygnSCcgKiBsZW5ndGgsICpjaGFyX3ZhbHMpLmRlY29kZSgndXRmLTE2JywgJ3JlcGxhY2Un
KQorICAgIHJldHVybiBzdHJpbmcgKyB1bmljb2RlKGVycm9yX21lc3NhZ2UpCiAKLSAgICByZXR1
cm4gc3RyaW5nICsgZXh0cmEKKworZGVmIGxzdHJpbmdfdG9fc3RyaW5nKHB0ciwgbGVuZ3RoPU5v
bmUpOgorICAgICIiIkNvbnZlcnQgYSBwb2ludGVyIHRvIExDaGFyKiBkYXRhIGludG8gYSBQeXRo
b24gKG5vbi1Vbmljb2RlKSBzdHJpbmcuCisKKyAgICBwdHIgYW5kIGxlbmd0aCBhcmUgYm90aCBn
ZGIuVmFsdWUgb2JqZWN0cy4KKyAgICBJZiBsZW5ndGggaXMgdW5zcGVjaWZpZWQsIHdpbGwgZ3Vl
c3MgYXQgdGhlIGxlbmd0aC4iIiIKKyAgICBlcnJvcl9tZXNzYWdlID0gJycKKyAgICBpZiBsZW5n
dGggaXMgTm9uZToKKyAgICAgICAgbGVuZ3RoLCBlcnJvcl9tZXNzYWdlID0gZ3Vlc3Nfc3RyaW5n
X2xlbmd0aChwdHIpCisgICAgZWxzZToKKyAgICAgICAgbGVuZ3RoID0gaW50KGxlbmd0aCkKKyAg
ICBzdHJpbmcgPSAnJy5qb2luKFtjaHIoKHB0ciArIGkpLmRlcmVmZXJlbmNlKCkpIGZvciBpIGlu
IHhyYW5nZShsZW5ndGgpXSkKKyAgICByZXR1cm4gc3RyaW5nICsgZXJyb3JfbWVzc2FnZQogCiAK
IGNsYXNzIFN0cmluZ1ByaW50ZXIob2JqZWN0KToKQEAgLTgyLDcgKzk3LDE0IEBAIGNsYXNzIFN0
cmluZ1ByaW50ZXIob2JqZWN0KToKIGNsYXNzIFVDaGFyU3RyaW5nUHJpbnRlcihTdHJpbmdQcmlu
dGVyKToKICAgICAiUHJpbnQgYSBVQ2hhcio7IHdlIG11c3QgZ3Vlc3MgYXQgdGhlIGxlbmd0aCIK
ICAgICBkZWYgdG9fc3RyaW5nKHNlbGYpOgotICAgICAgICByZXR1cm4gdXN0cmluZ190b19zdHJp
bmcoc2VsZi52YWwpCisgICAgICAgICMgQ2FsbHMgZW5jb2RlKCd1dGYtOCcpIGF0IHRoZSBlbmQg
dG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHByZXR0eSBwcmludGVycy4KKyAgICAgICAgcmV0
dXJuIHVzdHJpbmdfdG9fdW5pY29kZV9zdHJpbmcoc2VsZi52YWwpLmVuY29kZSgndXRmLTgnKQor
CisKK2NsYXNzIExDaGFyU3RyaW5nUHJpbnRlcihTdHJpbmdQcmludGVyKToKKyAgICAiUHJpbnQg
YSBMQ2hhcio7IHdlIG11c3QgZ3Vlc3MgYXQgdGhlIGxlbmd0aCIKKyAgICBkZWYgdG9fc3RyaW5n
KHNlbGYpOgorICAgICAgICByZXR1cm4gbHN0cmluZ190b19zdHJpbmcoc2VsZi52YWwpCiAKIAog
Y2xhc3MgV1RGQXRvbWljU3RyaW5nUHJpbnRlcihTdHJpbmdQcmludGVyKToKQEAgLTEwMCwzNCAr
MTIyLDM2IEBAIGNsYXNzIFdURkNTdHJpbmdQcmludGVyKFN0cmluZ1ByaW50ZXIpOgogICAgICAg
ICByZXR1cm4gdmVjdG9yWydtX2J1ZmZlciddWydtX2J1ZmZlciddCiAKIAotY2xhc3MgV1RGU3Ry
aW5nUHJpbnRlcihTdHJpbmdQcmludGVyKToKLSAgICAiUHJpbnQgYSBXVEY6OlN0cmluZyIKK2Ns
YXNzIFdURlN0cmluZ0ltcGxQcmludGVyKFN0cmluZ1ByaW50ZXIpOgorICAgICJQcmludCBhIFdU
Rjo6U3RyaW5nSW1wbCIKICAgICBkZWYgZ2V0X2xlbmd0aChzZWxmKToKLSAgICAgICAgaWYgbm90
IHNlbGYudmFsWydtX2ltcGwnXVsnbV9wdHInXToKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAg
ICAgIHJldHVybiBzZWxmLnZhbFsnbV9pbXBsJ11bJ21fcHRyJ11bJ21fbGVuZ3RoJ10KKyAgICAg
ICAgcmV0dXJuIHNlbGYudmFsWydtX2xlbmd0aCddCiAKICAgICBkZWYgdG9fc3RyaW5nKHNlbGYp
OgotICAgICAgICBpZiBzZWxmLmdldF9sZW5ndGgoKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJu
ICcobnVsbCknCisgICAgICAgIGlmIHNlbGYuaXM4Qml0KCk6CisgICAgICAgICAgICByZXR1cm4g
bHN0cmluZ190b19zdHJpbmcoc2VsZi52YWxbJ21fZGF0YTgnXSwgc2VsZi5nZXRfbGVuZ3RoKCkp
CisgICAgICAgIHJldHVybiB1c3RyaW5nX3RvX3VuaWNvZGVfc3RyaW5nKHNlbGYudmFsWydtX2Rh
dGExNiddLCBzZWxmLmdldF9sZW5ndGgoKSkuZW5jb2RlKCd1dGYtOCcpCiAKLSAgICAgICAgcmV0
dXJuIHVzdHJpbmdfdG9fc3RyaW5nKHNlbGYudmFsWydtX2ltcGwnXVsnbV9wdHInXVsnbV9kYXRh
MTYnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ2V0X2xlbmd0aCgp
KQorICAgIGRlZiBpczhCaXQoc2VsZik6CisgICAgICAgICMgVGhpcyBtYWdpYyBudW1iZXIgaXMg
Y29waWVkIGZyb20gSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5oLgorICAgICAg
ICBzX2hhc2hGbGFnOEJpdEJ1ZmZlciA9IDEgPDwgNgorICAgICAgICByZXR1cm4gc2VsZi52YWxb
J21faGFzaEFuZEZsYWdzJ10gJiBzX2hhc2hGbGFnOEJpdEJ1ZmZlcgogCiAKLWNsYXNzIEpTQ1VT
dHJpbmdQcmludGVyKFN0cmluZ1ByaW50ZXIpOgotICAgICJQcmludCBhIEpTQzo6VVN0cmluZyIK
K2NsYXNzIFdURlN0cmluZ1ByaW50ZXIoU3RyaW5nUHJpbnRlcik6CisgICAgIlByaW50IGEgV1RG
OjpTdHJpbmciCiAgICAgZGVmIGdldF9sZW5ndGgoc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxm
LnZhbFsnbV9pbXBsJ11bJ21fcHRyJ106CiAgICAgICAgICAgICByZXR1cm4gMAotICAgICAgICBy
ZXR1cm4gc2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddWydtX2xlbmd0aCddCisgICAgICAgIHJl
dHVybiBXVEZTdHJpbmdJbXBsUHJpbnRlcihzZWxmLnZhbFsnbV9pbXBsJ11bJ21fcHRyJ10pLmdl
dF9sZW5ndGgoKQogCiAgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5n
ZXRfbGVuZ3RoKCkgPT0gMDoKLSAgICAgICAgICAgIHJldHVybiAnJworICAgICAgICBpZiBub3Qg
c2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddOgorICAgICAgICAgICAgcmV0dXJuICcobnVsbCkn
CisgICAgICAgIHJldHVybiBXVEZTdHJpbmdJbXBsUHJpbnRlcihzZWxmLnZhbFsnbV9pbXBsJ11b
J21fcHRyJ10pLnRvX3N0cmluZygpCisKIAotICAgICAgICByZXR1cm4gdXN0cmluZ190b19zdHJp
bmcoc2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddWydtX2RhdGExNiddLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfbGVuZ3RoKCkpCitKU0NVU3RyaW5nUHJpbnRl
ciA9IFdURlN0cmluZ0ltcGxQcmludGVyCiAKIAogY2xhc3MgSlNDSWRlbnRpZmllclByaW50ZXIo
U3RyaW5nUHJpbnRlcik6CkBAIC0yNTUsNiArMjc5LDcgQEAgZGVmIGFkZF9wcmV0dHlfcHJpbnRl
cnMoKToKICAgICAgICAgKHJlLmNvbXBpbGUoIl5XVEY6OkF0b21pY1N0cmluZyQiKSwgV1RGQXRv
bWljU3RyaW5nUHJpbnRlciksCiAgICAgICAgIChyZS5jb21waWxlKCJeV1RGOjpDU3RyaW5nJCIp
LCBXVEZDU3RyaW5nUHJpbnRlciksCiAgICAgICAgIChyZS5jb21waWxlKCJeV1RGOjpTdHJpbmck
IiksIFdURlN0cmluZ1ByaW50ZXIpLAorICAgICAgICAocmUuY29tcGlsZSgiXldURjo6U3RyaW5n
SW1wbCQiKSwgV1RGU3RyaW5nSW1wbFByaW50ZXIpLAogICAgICAgICAocmUuY29tcGlsZSgiXldl
YkNvcmU6OktVUkxHb29nbGVQcml2YXRlJCIpLCBXZWJDb3JlS1VSTEdvb2dsZVByaXZhdGVQcmlu
dGVyKSwKICAgICAgICAgKHJlLmNvbXBpbGUoIl5XZWJDb3JlOjpRdWFsaWZpZWROYW1lJCIpLCBX
ZWJDb3JlUXVhbGlmaWVkTmFtZVByaW50ZXIpLAogICAgICAgICAocmUuY29tcGlsZSgiXkpTQzo6
VVN0cmluZyQiKSwgSlNDVVN0cmluZ1ByaW50ZXIpLApAQCAtMjc4LDYgKzMwMyw4IEBAIGRlZiBh
ZGRfcHJldHR5X3ByaW50ZXJzKCk6CiAgICAgICAgICAgICBuYW1lID0gc3RyKHR5cGUudGFyZ2V0
KCkudW5xdWFsaWZpZWQoKSkKICAgICAgICAgICAgIGlmIG5hbWUgPT0gJ1VDaGFyJzoKICAgICAg
ICAgICAgICAgICByZXR1cm4gVUNoYXJTdHJpbmdQcmludGVyKHZhbCkKKyAgICAgICAgICAgIGlm
IG5hbWUgPT0gJ0xDaGFyJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gTENoYXJTdHJpbmdQcmlu
dGVyKHZhbCkKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGdkYi5wcmV0dHlfcHJpbnRlcnMu
YXBwZW5kKGxvb2t1cF9mdW5jdGlvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118301</attachid>
            <date>2011-12-07 18:24:44 -0800</date>
            <delta_ts>2011-12-07 19:22:01 -0800</delta_ts>
            <desc>rebased</desc>
            <filename>bug-73980-20111208112442.patch</filename>
            <type>text/plain</type>
            <size>7430</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzE0NmIzMTY1ZGJlZGYyZjRhYzcxN2FhZGEwNDNiNmJh
N2FkN2Q3Yi4uZTM2MTQ4ODMwYTBmNTU0MWM4NGM3OTU4MjRiNDExOTY0YWEyMzNmYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDExLTEyLTA3ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbZ2RiXSBQcmV0dHkgcHJpbnRlciBmb3IgYSA4LWJpdCB2ZXJzaW9uIG9mIFdURjo6U3Ry
aW5nSW1wbCBhbmQgTENoYXIqLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzM5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGdkYi93ZWJraXQucHk6CisgICAgICAgIChndWVzc19zdHJpbmdfbGVuZ3Ro
KToKKyAgICAgICAgKHVzdHJpbmdfdG9fdW5pY29kZV9zdHJpbmcpOgorICAgICAgICAobHN0cmlu
Z190b19zdHJpbmcpOgorICAgICAgICAoVUNoYXJTdHJpbmdQcmludGVyLnRvX3N0cmluZyk6Cisg
ICAgICAgIChMQ2hhclN0cmluZ1ByaW50ZXIpOgorICAgICAgICAoTENoYXJTdHJpbmdQcmludGVy
LnRvX3N0cmluZyk6CisgICAgICAgIChXVEZTdHJpbmdJbXBsUHJpbnRlci5nZXRfbGVuZ3RoKToK
KyAgICAgICAgKFdURlN0cmluZ0ltcGxQcmludGVyLnRvX3N0cmluZyk6CisgICAgICAgIChXVEZT
dHJpbmdJbXBsUHJpbnRlcik6CisgICAgICAgIChXVEZTdHJpbmdJbXBsUHJpbnRlci5pc184Yml0
KToKKyAgICAgICAgKFdURlN0cmluZ1ByaW50ZXIuc3RyaW5naW1wbF9wdHIpOgorICAgICAgICAo
V1RGU3RyaW5nUHJpbnRlci5nZXRfbGVuZ3RoKToKKyAgICAgICAgKFdURlN0cmluZ1ByaW50ZXIu
dG9fc3RyaW5nKToKKyAgICAgICAgKGFkZF9wcmV0dHlfcHJpbnRlcnMubG9va3VwX2Z1bmN0aW9u
KToKKwogMjAxMS0xMi0wNyAgVG9tIFpha3JhanNlayAgPHRvbXpAY29kZWF1cm9yYS5vcmc+CiAK
ICAgICAgICAgTW92ZWQgbXlzZWxmIHRvIHRoZSBjb21taXR0ZXJzIGxpc3QuCmRpZmYgLS1naXQg
YS9Ub29scy9nZGIvd2Via2l0LnB5IGIvVG9vbHMvZ2RiL3dlYmtpdC5weQppbmRleCA5MjM2NjAz
ZjRmYjBmN2Q2MTI4MzZhYWI0ZDcyMDMzMTgwMTcwZTEzLi5mODQxODY5YzA4ZTZlMjAwNWQ4OGU2
MmE4OGYxOTZlMjg5YWYyZGZjIDEwMDY0NAotLS0gYS9Ub29scy9nZGIvd2Via2l0LnB5CisrKyBi
L1Rvb2xzL2dkYi93ZWJraXQucHkKQEAgLTQwLDM0ICs0MCw0OSBAQCBpbXBvcnQgcmUKIGltcG9y
dCBzdHJ1Y3QKIAogCi1kZWYgdXN0cmluZ190b19zdHJpbmcocHRyLCBsZW5ndGg9Tm9uZSk6Citk
ZWYgZ3Vlc3Nfc3RyaW5nX2xlbmd0aChwdHIpOgorICAgICIiIkd1ZXNzIGxlbmd0aCBvZiBzdHJp
bmcgcG9pbnRlZCBieSBwdHIuCisKKyAgICBSZXR1cm5zIGEgdHVwbGUgb2YgKGxlbmd0aCwgYW4g
ZXJyb3IgbWVzc2FnZSkuCisgICAgIiIiCisgICAgIyBUcnkgdG8gZ3Vlc3MgYXQgdGhlIGxlbmd0
aC4KKyAgICBmb3IgaSBpbiB4cmFuZ2UoMCwgMjA0OCk6CisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIGlmIGludCgocHRyICsgaSkuZGVyZWZlcmVuY2UoKSkgPT0gMDoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gaSwgJycKKyAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAg
ICMgV2UgaW5kZXhlZCBpbnRvIGluYWNjZXNzaWJsZSBtZW1vcnk7IGdpdmUgdXAuCisgICAgICAg
ICAgICByZXR1cm4gaSwgJyAoZ2RiIGhpdCBpbmFjY2Vzc2libGUgbWVtb3J5KScKKyAgICByZXR1
cm4gMjU2LCAnIChnZGIgZm91bmQgbm8gdHJhaWxpbmcgTlVMKScKKworCitkZWYgdXN0cmluZ190
b191bmljb2RlX3N0cmluZyhwdHIsIGxlbmd0aD1Ob25lKToKICAgICAiIiJDb252ZXJ0IGEgcG9p
bnRlciB0byBVVEYtMTYgZGF0YSBpbnRvIGEgUHl0aG9uIFVuaWNvZGUgc3RyaW5nLgogCiAgICAg
cHRyIGFuZCBsZW5ndGggYXJlIGJvdGggZ2RiLlZhbHVlIG9iamVjdHMuCiAgICAgSWYgbGVuZ3Ro
IGlzIHVuc3BlY2lmaWVkLCB3aWxsIGd1ZXNzIGF0IHRoZSBsZW5ndGguIiIiCi0gICAgZXh0cmEg
PSAnJworICAgIGVycm9yX21lc3NhZ2UgPSAnJwogICAgIGlmIGxlbmd0aCBpcyBOb25lOgotICAg
ICAgICAjIFRyeSB0byBndWVzcyBhdCB0aGUgbGVuZ3RoLgotICAgICAgICBmb3IgaSBpbiB4cmFu
Z2UoMCwgMjA0OCk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaWYgaW50KChw
dHIgKyBpKS5kZXJlZmVyZW5jZSgpKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBsZW5ndGgg
PSBpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgUnVudGlt
ZUVycm9yOgotICAgICAgICAgICAgICAgICMgV2UgaW5kZXhlZCBpbnRvIGluYWNjZXNzaWJsZSBt
ZW1vcnk7IGdpdmUgdXAuCi0gICAgICAgICAgICAgICAgbGVuZ3RoID0gaQotICAgICAgICAgICAg
ICAgIGV4dHJhID0gdScgKGdkYiBoaXQgaW5hY2Nlc3NpYmxlIG1lbW9yeSknCi0gICAgICAgICAg
ICAgICAgYnJlYWsKLSAgICAgICAgaWYgbGVuZ3RoIGlzIE5vbmU6Ci0gICAgICAgICAgICBsZW5n
dGggPSAyNTYKLSAgICAgICAgICAgIGV4dHJhID0gdScgKGdkYiBmb3VuZCBubyB0cmFpbGluZyBO
VUwpJworICAgICAgICBsZW5ndGgsIGVycm9yX21lc3NhZ2UgPSBndWVzc19zdHJpbmdfbGVuZ3Ro
KHB0cikKICAgICBlbHNlOgogICAgICAgICBsZW5ndGggPSBpbnQobGVuZ3RoKQotCiAgICAgY2hh
cl92YWxzID0gW2ludCgocHRyICsgaSkuZGVyZWZlcmVuY2UoKSkgZm9yIGkgaW4geHJhbmdlKGxl
bmd0aCldCiAgICAgc3RyaW5nID0gc3RydWN0LnBhY2soJ0gnICogbGVuZ3RoLCAqY2hhcl92YWxz
KS5kZWNvZGUoJ3V0Zi0xNicsICdyZXBsYWNlJykKKyAgICByZXR1cm4gc3RyaW5nICsgdW5pY29k
ZShlcnJvcl9tZXNzYWdlKQorCiAKLSAgICByZXR1cm4gc3RyaW5nICsgZXh0cmEKK2RlZiBsc3Ry
aW5nX3RvX3N0cmluZyhwdHIsIGxlbmd0aD1Ob25lKToKKyAgICAiIiJDb252ZXJ0IGEgcG9pbnRl
ciB0byBMQ2hhciogZGF0YSBpbnRvIGEgUHl0aG9uIChub24tVW5pY29kZSkgc3RyaW5nLgorCisg
ICAgcHRyIGFuZCBsZW5ndGggYXJlIGJvdGggZ2RiLlZhbHVlIG9iamVjdHMuCisgICAgSWYgbGVu
Z3RoIGlzIHVuc3BlY2lmaWVkLCB3aWxsIGd1ZXNzIGF0IHRoZSBsZW5ndGguIiIiCisgICAgZXJy
b3JfbWVzc2FnZSA9ICcnCisgICAgaWYgbGVuZ3RoIGlzIE5vbmU6CisgICAgICAgIGxlbmd0aCwg
ZXJyb3JfbWVzc2FnZSA9IGd1ZXNzX3N0cmluZ19sZW5ndGgocHRyKQorICAgIGVsc2U6CisgICAg
ICAgIGxlbmd0aCA9IGludChsZW5ndGgpCisgICAgc3RyaW5nID0gJycuam9pbihbY2hyKChwdHIg
KyBpKS5kZXJlZmVyZW5jZSgpKSBmb3IgaSBpbiB4cmFuZ2UobGVuZ3RoKV0pCisgICAgcmV0dXJu
IHN0cmluZyArIGVycm9yX21lc3NhZ2UKIAogCiBjbGFzcyBTdHJpbmdQcmludGVyKG9iamVjdCk6
CkBAIC04Miw3ICs5NywxNCBAQCBjbGFzcyBTdHJpbmdQcmludGVyKG9iamVjdCk6CiBjbGFzcyBV
Q2hhclN0cmluZ1ByaW50ZXIoU3RyaW5nUHJpbnRlcik6CiAgICAgIlByaW50IGEgVUNoYXIqOyB3
ZSBtdXN0IGd1ZXNzIGF0IHRoZSBsZW5ndGgiCiAgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKLSAg
ICAgICAgcmV0dXJuIHVzdHJpbmdfdG9fc3RyaW5nKHNlbGYudmFsKQorICAgICAgICAjIENhbGxz
IGVuY29kZSgndXRmLTgnKSBhdCB0aGUgZW5kIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBw
cmV0dHkgcHJpbnRlcnMuCisgICAgICAgIHJldHVybiB1c3RyaW5nX3RvX3VuaWNvZGVfc3RyaW5n
KHNlbGYudmFsKS5lbmNvZGUoJ3V0Zi04JykKKworCitjbGFzcyBMQ2hhclN0cmluZ1ByaW50ZXIo
U3RyaW5nUHJpbnRlcik6CisgICAgIlByaW50IGEgTENoYXIqOyB3ZSBtdXN0IGd1ZXNzIGF0IHRo
ZSBsZW5ndGgiCisgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxzdHJp
bmdfdG9fc3RyaW5nKHNlbGYudmFsKQogCiAKIGNsYXNzIFdURkF0b21pY1N0cmluZ1ByaW50ZXIo
U3RyaW5nUHJpbnRlcik6CkBAIC0xMDAsNTAgKzEyMiwzNyBAQCBjbGFzcyBXVEZDU3RyaW5nUHJp
bnRlcihTdHJpbmdQcmludGVyKToKICAgICAgICAgcmV0dXJuIHZlY3RvclsnbV9idWZmZXInXVsn
bV9idWZmZXInXQogCiAKLWNsYXNzIFdURlN0cmluZ1ByaW50ZXIoU3RyaW5nUHJpbnRlcik6Ci0g
ICAgIlByaW50IGEgV1RGOjpTdHJpbmciCitjbGFzcyBXVEZTdHJpbmdJbXBsUHJpbnRlcihTdHJp
bmdQcmludGVyKToKKyAgICAiUHJpbnQgYSBXVEY6OlN0cmluZ0ltcGwiCiAgICAgZGVmIGdldF9s
ZW5ndGgoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLnZhbFsnbV9pbXBsJ11bJ21fcHRyJ106
Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICByZXR1cm4gc2VsZi52YWxbJ21faW1wbCdd
WydtX3B0ciddWydtX2xlbmd0aCddCi0KLSAgICBkZWYgaXNfOGJpdChzZWxmKToKLSAgICAgICAg
cmV0dXJuIHNlbGYudmFsWydtX2ltcGwnXVsnbV9wdHInXVsnbV9oYXNoQW5kRmxhZ3MnXSAmIHNl
bGYudmFsWydtX2ltcGwnXVsnbV9wdHInXVsnc19oYXNoRmxhZzhCaXRCdWZmZXInXQorICAgICAg
ICByZXR1cm4gc2VsZi52YWxbJ21fbGVuZ3RoJ10KIAogICAgIGRlZiB0b19zdHJpbmcoc2VsZik6
Ci0gICAgICAgIGlmIHNlbGYuZ2V0X2xlbmd0aCgpID09IDA6Ci0gICAgICAgICAgICByZXR1cm4g
JyhudWxsKScKLQogICAgICAgICBpZiBzZWxmLmlzXzhiaXQoKToKLSAgICAgICAgICAgIGRhdGFf
bWVtYmVyID0gJ21fZGF0YTgnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkYXRhX21lbWJl
ciA9ICdtX2RhdGExNicKKyAgICAgICAgICAgIHJldHVybiBsc3RyaW5nX3RvX3N0cmluZyhzZWxm
LnZhbFsnbV9kYXRhOCddLCBzZWxmLmdldF9sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIHVzdHJp
bmdfdG9fdW5pY29kZV9zdHJpbmcoc2VsZi52YWxbJ21fZGF0YTE2J10sIHNlbGYuZ2V0X2xlbmd0
aCgpKS5lbmNvZGUoJ3V0Zi04JykKKworICAgIGRlZiBpc184Yml0KHNlbGYpOgorICAgICAgICBy
ZXR1cm4gc2VsZi52YWxbJ21faGFzaEFuZEZsYWdzJ10gJiBzZWxmLnZhbFsnc19oYXNoRmxhZzhC
aXRCdWZmZXInXQogCi0gICAgICAgIHJldHVybiB1c3RyaW5nX3RvX3N0cmluZyhzZWxmLnZhbFsn
bV9pbXBsJ11bJ21fcHRyJ11bZGF0YV9tZW1iZXJdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5nZXRfbGVuZ3RoKCkpCiAKK2NsYXNzIFdURlN0cmluZ1ByaW50ZXIoU3Ry
aW5nUHJpbnRlcik6CisgICAgIlByaW50IGEgV1RGOjpTdHJpbmciCisgICAgZGVmIHN0cmluZ2lt
cGxfcHRyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi52YWxbJ21faW1wbCddWydtX3B0cidd
CiAKLWNsYXNzIEpTQ1VTdHJpbmdQcmludGVyKFN0cmluZ1ByaW50ZXIpOgotICAgICJQcmludCBh
IEpTQzo6VVN0cmluZyIKICAgICBkZWYgZ2V0X2xlbmd0aChzZWxmKToKLSAgICAgICAgaWYgbm90
IHNlbGYudmFsWydtX2ltcGwnXVsnbV9wdHInXToKKyAgICAgICAgaWYgbm90IHNlbGYuc3RyaW5n
aW1wbF9wdHIoKToKICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIHJldHVybiBzZWxmLnZh
bFsnbV9pbXBsJ11bJ21fcHRyJ11bJ21fbGVuZ3RoJ10KLQotICAgIGRlZiBpc184Yml0KHNlbGYp
OgotICAgICAgICByZXR1cm4gc2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddWydtX2hhc2hBbmRG
bGFncyddICYgc2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddWydzX2hhc2hGbGFnOEJpdEJ1ZmZl
ciddCisgICAgICAgIHJldHVybiBXVEZTdHJpbmdJbXBsUHJpbnRlcihzZWxmLnN0cmluZ2ltcGxf
cHRyKCkuZGVyZWZlcmVuY2UoKSkuZ2V0X2xlbmd0aCgpCiAKICAgICBkZWYgdG9fc3RyaW5nKHNl
bGYpOgotICAgICAgICBpZiBzZWxmLmdldF9sZW5ndGgoKSA9PSAwOgotICAgICAgICAgICAgcmV0
dXJuICcnCisgICAgICAgIGlmIG5vdCBzZWxmLnN0cmluZ2ltcGxfcHRyKCk6CisgICAgICAgICAg
ICByZXR1cm4gJyhudWxsKScKKyAgICAgICAgcmV0dXJuIHNlbGYuc3RyaW5naW1wbF9wdHIoKS5k
ZXJlZmVyZW5jZSgpCiAKLSAgICAgICAgaWYgc2VsZi5pc184Yml0KCk6Ci0gICAgICAgICAgICBk
YXRhX21lbWJlciA9ICdtX2RhdGE4JwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGF0YV9t
ZW1iZXIgPSAnbV9kYXRhMTYnCiAKLSAgICAgICAgcmV0dXJuIHVzdHJpbmdfdG9fc3RyaW5nKHNl
bGYudmFsWydtX2ltcGwnXVsnbV9wdHInXVtkYXRhX21lbWJlcl0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLmdldF9sZW5ndGgoKSkKK0pTQ1VTdHJpbmdQcmludGVyID0g
V1RGU3RyaW5nSW1wbFByaW50ZXIKIAogCiBjbGFzcyBKU0NJZGVudGlmaWVyUHJpbnRlcihTdHJp
bmdQcmludGVyKToKQEAgLTI3MSw2ICsyODAsNyBAQCBkZWYgYWRkX3ByZXR0eV9wcmludGVycygp
OgogICAgICAgICAocmUuY29tcGlsZSgiXldURjo6QXRvbWljU3RyaW5nJCIpLCBXVEZBdG9taWNT
dHJpbmdQcmludGVyKSwKICAgICAgICAgKHJlLmNvbXBpbGUoIl5XVEY6OkNTdHJpbmckIiksIFdU
RkNTdHJpbmdQcmludGVyKSwKICAgICAgICAgKHJlLmNvbXBpbGUoIl5XVEY6OlN0cmluZyQiKSwg
V1RGU3RyaW5nUHJpbnRlciksCisgICAgICAgIChyZS5jb21waWxlKCJeV1RGOjpTdHJpbmdJbXBs
JCIpLCBXVEZTdHJpbmdJbXBsUHJpbnRlciksCiAgICAgICAgIChyZS5jb21waWxlKCJeV2ViQ29y
ZTo6S1VSTEdvb2dsZVByaXZhdGUkIiksIFdlYkNvcmVLVVJMR29vZ2xlUHJpdmF0ZVByaW50ZXIp
LAogICAgICAgICAocmUuY29tcGlsZSgiXldlYkNvcmU6OlF1YWxpZmllZE5hbWUkIiksIFdlYkNv
cmVRdWFsaWZpZWROYW1lUHJpbnRlciksCiAgICAgICAgIChyZS5jb21waWxlKCJeSlNDOjpVU3Ry
aW5nJCIpLCBKU0NVU3RyaW5nUHJpbnRlciksCkBAIC0yOTQsNiArMzA0LDggQEAgZGVmIGFkZF9w
cmV0dHlfcHJpbnRlcnMoKToKICAgICAgICAgICAgIG5hbWUgPSBzdHIodHlwZS50YXJnZXQoKS51
bnF1YWxpZmllZCgpKQogICAgICAgICAgICAgaWYgbmFtZSA9PSAnVUNoYXInOgogICAgICAgICAg
ICAgICAgIHJldHVybiBVQ2hhclN0cmluZ1ByaW50ZXIodmFsKQorICAgICAgICAgICAgaWYgbmFt
ZSA9PSAnTENoYXInOgorICAgICAgICAgICAgICAgIHJldHVybiBMQ2hhclN0cmluZ1ByaW50ZXIo
dmFsKQogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZ2RiLnByZXR0eV9wcmludGVycy5hcHBl
bmQobG9va3VwX2Z1bmN0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118310</attachid>
            <date>2011-12-07 19:22:06 -0800</date>
            <delta_ts>2011-12-08 19:24:46 -0800</delta_ts>
            <desc>make it utf-8 string</desc>
            <filename>bug-73980-20111208122204.patch</filename>
            <type>text/plain</type>
            <size>7239</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzE0NmIzMTY1ZGJlZGYyZjRhYzcxN2FhZGEwNDNiNmJh
N2FkN2Q3Yi4uNjJhNGZhM2U3YmIzNDFhNGZkYTljMWU2NDlkMDcwM2I0Yjc0MjFjZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDExLTEyLTA3ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbZ2RiXSBQcmV0dHkgcHJpbnRlciBmb3IgYSA4LWJpdCB2ZXJzaW9uIG9mIFdURjo6U3Ry
aW5nSW1wbCBhbmQgTENoYXIqLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzM5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGdkYi93ZWJraXQucHk6CisgICAgICAgIChndWVzc19zdHJpbmdfbGVuZ3Ro
KToKKyAgICAgICAgKHVzdHJpbmdfdG9fc3RyaW5nKToKKyAgICAgICAgKGxzdHJpbmdfdG9fc3Ry
aW5nKToKKyAgICAgICAgKExDaGFyU3RyaW5nUHJpbnRlcik6CisgICAgICAgIChMQ2hhclN0cmlu
Z1ByaW50ZXIudG9fc3RyaW5nKToKKyAgICAgICAgKFdURlN0cmluZ0ltcGxQcmludGVyLmdldF9s
ZW5ndGgpOgorICAgICAgICAoV1RGU3RyaW5nSW1wbFByaW50ZXIudG9fc3RyaW5nKToKKyAgICAg
ICAgKFdURlN0cmluZ0ltcGxQcmludGVyLmlzXzhiaXQpOgorICAgICAgICAoV1RGU3RyaW5nUHJp
bnRlci5zdHJpbmdpbXBsX3B0cik6CisgICAgICAgIChXVEZTdHJpbmdQcmludGVyLmdldF9sZW5n
dGgpOgorICAgICAgICAoV1RGU3RyaW5nUHJpbnRlci50b19zdHJpbmcpOgorICAgICAgICAoYWRk
X3ByZXR0eV9wcmludGVycy5sb29rdXBfZnVuY3Rpb24pOgorCiAyMDExLTEyLTA3ICBUb20gWmFr
cmFqc2VrICA8dG9tekBjb2RlYXVyb3JhLm9yZz4KIAogICAgICAgICBNb3ZlZCBteXNlbGYgdG8g
dGhlIGNvbW1pdHRlcnMgbGlzdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL2dkYi93ZWJraXQucHkgYi9U
b29scy9nZGIvd2Via2l0LnB5CmluZGV4IDkyMzY2MDNmNGZiMGY3ZDYxMjgzNmFhYjRkNzIwMzMx
ODAxNzBlMTMuLjFiMmFlNTc1MTZiNGVlNDE3Zjk0OWFmMTRhZGIzM2M1MGIzMDNjYjEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL2dkYi93ZWJraXQucHkKKysrIGIvVG9vbHMvZ2RiL3dlYmtpdC5weQpAQCAt
NDAsMzQgKzQwLDQ5IEBAIGltcG9ydCByZQogaW1wb3J0IHN0cnVjdAogCiAKK2RlZiBndWVzc19z
dHJpbmdfbGVuZ3RoKHB0cik6CisgICAgIiIiR3Vlc3MgbGVuZ3RoIG9mIHN0cmluZyBwb2ludGVk
IGJ5IHB0ci4KKworICAgIFJldHVybnMgYSB0dXBsZSBvZiAobGVuZ3RoLCBhbiBlcnJvciBtZXNz
YWdlKS4KKyAgICAiIiIKKyAgICAjIFRyeSB0byBndWVzcyBhdCB0aGUgbGVuZ3RoLgorICAgIGZv
ciBpIGluIHhyYW5nZSgwLCAyMDQ4KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgaW50
KChwdHIgKyBpKS5kZXJlZmVyZW5jZSgpKSA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBp
LCAnJworICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgIyBXZSBpbmRl
eGVkIGludG8gaW5hY2Nlc3NpYmxlIG1lbW9yeTsgZ2l2ZSB1cC4KKyAgICAgICAgICAgIHJldHVy
biBpLCAnIChnZGIgaGl0IGluYWNjZXNzaWJsZSBtZW1vcnkpJworICAgIHJldHVybiAyNTYsICcg
KGdkYiBmb3VuZCBubyB0cmFpbGluZyBOVUwpJworCisKIGRlZiB1c3RyaW5nX3RvX3N0cmluZyhw
dHIsIGxlbmd0aD1Ob25lKToKLSAgICAiIiJDb252ZXJ0IGEgcG9pbnRlciB0byBVVEYtMTYgZGF0
YSBpbnRvIGEgUHl0aG9uIFVuaWNvZGUgc3RyaW5nLgorICAgICIiIkNvbnZlcnQgYSBwb2ludGVy
IHRvIFVURi0xNiBkYXRhIGludG8gYSBQeXRob24gc3RyaW5nIGVuY29kZWQgd2l0aCB1dGYtOC4K
IAogICAgIHB0ciBhbmQgbGVuZ3RoIGFyZSBib3RoIGdkYi5WYWx1ZSBvYmplY3RzLgogICAgIElm
IGxlbmd0aCBpcyB1bnNwZWNpZmllZCwgd2lsbCBndWVzcyBhdCB0aGUgbGVuZ3RoLiIiIgotICAg
IGV4dHJhID0gJycKKyAgICBlcnJvcl9tZXNzYWdlID0gJycKICAgICBpZiBsZW5ndGggaXMgTm9u
ZToKLSAgICAgICAgIyBUcnkgdG8gZ3Vlc3MgYXQgdGhlIGxlbmd0aC4KLSAgICAgICAgZm9yIGkg
aW4geHJhbmdlKDAsIDIwNDgpOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGlm
IGludCgocHRyICsgaSkuZGVyZWZlcmVuY2UoKSkgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAg
bGVuZ3RoID0gaQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZXhjZXB0
IFJ1bnRpbWVFcnJvcjoKLSAgICAgICAgICAgICAgICAjIFdlIGluZGV4ZWQgaW50byBpbmFjY2Vz
c2libGUgbWVtb3J5OyBnaXZlIHVwLgotICAgICAgICAgICAgICAgIGxlbmd0aCA9IGkKLSAgICAg
ICAgICAgICAgICBleHRyYSA9IHUnIChnZGIgaGl0IGluYWNjZXNzaWJsZSBtZW1vcnkpJwotICAg
ICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIGxlbmd0aCBpcyBOb25lOgotICAgICAgICAg
ICAgbGVuZ3RoID0gMjU2Ci0gICAgICAgICAgICBleHRyYSA9IHUnIChnZGIgZm91bmQgbm8gdHJh
aWxpbmcgTlVMKScKKyAgICAgICAgbGVuZ3RoLCBlcnJvcl9tZXNzYWdlID0gZ3Vlc3Nfc3RyaW5n
X2xlbmd0aChwdHIpCiAgICAgZWxzZToKICAgICAgICAgbGVuZ3RoID0gaW50KGxlbmd0aCkKLQog
ICAgIGNoYXJfdmFscyA9IFtpbnQoKHB0ciArIGkpLmRlcmVmZXJlbmNlKCkpIGZvciBpIGluIHhy
YW5nZShsZW5ndGgpXQotICAgIHN0cmluZyA9IHN0cnVjdC5wYWNrKCdIJyAqIGxlbmd0aCwgKmNo
YXJfdmFscykuZGVjb2RlKCd1dGYtMTYnLCAncmVwbGFjZScpCisgICAgc3RyaW5nID0gc3RydWN0
LnBhY2soJ0gnICogbGVuZ3RoLCAqY2hhcl92YWxzKS5kZWNvZGUoJ3V0Zi0xNicsICdyZXBsYWNl
JykuZW5jb2RlKCd1dGYtOCcpCisgICAgcmV0dXJuIHN0cmluZyArIGVycm9yX21lc3NhZ2UKKwog
Ci0gICAgcmV0dXJuIHN0cmluZyArIGV4dHJhCitkZWYgbHN0cmluZ190b19zdHJpbmcocHRyLCBs
ZW5ndGg9Tm9uZSk6CisgICAgIiIiQ29udmVydCBhIHBvaW50ZXIgdG8gTENoYXIqIGRhdGEgaW50
byBhIFB5dGhvbiAobm9uLVVuaWNvZGUpIHN0cmluZy4KKworICAgIHB0ciBhbmQgbGVuZ3RoIGFy
ZSBib3RoIGdkYi5WYWx1ZSBvYmplY3RzLgorICAgIElmIGxlbmd0aCBpcyB1bnNwZWNpZmllZCwg
d2lsbCBndWVzcyBhdCB0aGUgbGVuZ3RoLiIiIgorICAgIGVycm9yX21lc3NhZ2UgPSAnJworICAg
IGlmIGxlbmd0aCBpcyBOb25lOgorICAgICAgICBsZW5ndGgsIGVycm9yX21lc3NhZ2UgPSBndWVz
c19zdHJpbmdfbGVuZ3RoKHB0cikKKyAgICBlbHNlOgorICAgICAgICBsZW5ndGggPSBpbnQobGVu
Z3RoKQorICAgIHN0cmluZyA9ICcnLmpvaW4oW2NocigocHRyICsgaSkuZGVyZWZlcmVuY2UoKSkg
Zm9yIGkgaW4geHJhbmdlKGxlbmd0aCldKQorICAgIHJldHVybiBzdHJpbmcgKyBlcnJvcl9tZXNz
YWdlCiAKIAogY2xhc3MgU3RyaW5nUHJpbnRlcihvYmplY3QpOgpAQCAtODUsNiArMTAwLDEyIEBA
IGNsYXNzIFVDaGFyU3RyaW5nUHJpbnRlcihTdHJpbmdQcmludGVyKToKICAgICAgICAgcmV0dXJu
IHVzdHJpbmdfdG9fc3RyaW5nKHNlbGYudmFsKQogCiAKK2NsYXNzIExDaGFyU3RyaW5nUHJpbnRl
cihTdHJpbmdQcmludGVyKToKKyAgICAiUHJpbnQgYSBMQ2hhcio7IHdlIG11c3QgZ3Vlc3MgYXQg
dGhlIGxlbmd0aCIKKyAgICBkZWYgdG9fc3RyaW5nKHNlbGYpOgorICAgICAgICByZXR1cm4gbHN0
cmluZ190b19zdHJpbmcoc2VsZi52YWwpCisKKwogY2xhc3MgV1RGQXRvbWljU3RyaW5nUHJpbnRl
cihTdHJpbmdQcmludGVyKToKICAgICAiUHJpbnQgYSBXVEY6OkF0b21pY1N0cmluZyIKICAgICBk
ZWYgdG9fc3RyaW5nKHNlbGYpOgpAQCAtMTAwLDUwICsxMjEsMzcgQEAgY2xhc3MgV1RGQ1N0cmlu
Z1ByaW50ZXIoU3RyaW5nUHJpbnRlcik6CiAgICAgICAgIHJldHVybiB2ZWN0b3JbJ21fYnVmZmVy
J11bJ21fYnVmZmVyJ10KIAogCi1jbGFzcyBXVEZTdHJpbmdQcmludGVyKFN0cmluZ1ByaW50ZXIp
OgotICAgICJQcmludCBhIFdURjo6U3RyaW5nIgorY2xhc3MgV1RGU3RyaW5nSW1wbFByaW50ZXIo
U3RyaW5nUHJpbnRlcik6CisgICAgIlByaW50IGEgV1RGOjpTdHJpbmdJbXBsIgogICAgIGRlZiBn
ZXRfbGVuZ3RoKHNlbGYpOgotICAgICAgICBpZiBub3Qgc2VsZi52YWxbJ21faW1wbCddWydtX3B0
ciddOgotICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgcmV0dXJuIHNlbGYudmFsWydtX2lt
cGwnXVsnbV9wdHInXVsnbV9sZW5ndGgnXQotCi0gICAgZGVmIGlzXzhiaXQoc2VsZik6Ci0gICAg
ICAgIHJldHVybiBzZWxmLnZhbFsnbV9pbXBsJ11bJ21fcHRyJ11bJ21faGFzaEFuZEZsYWdzJ10g
JiBzZWxmLnZhbFsnbV9pbXBsJ11bJ21fcHRyJ11bJ3NfaGFzaEZsYWc4Qml0QnVmZmVyJ10KKyAg
ICAgICAgcmV0dXJuIHNlbGYudmFsWydtX2xlbmd0aCddCiAKICAgICBkZWYgdG9fc3RyaW5nKHNl
bGYpOgotICAgICAgICBpZiBzZWxmLmdldF9sZW5ndGgoKSA9PSAwOgotICAgICAgICAgICAgcmV0
dXJuICcobnVsbCknCi0KICAgICAgICAgaWYgc2VsZi5pc184Yml0KCk6Ci0gICAgICAgICAgICBk
YXRhX21lbWJlciA9ICdtX2RhdGE4JwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGF0YV9t
ZW1iZXIgPSAnbV9kYXRhMTYnCisgICAgICAgICAgICByZXR1cm4gbHN0cmluZ190b19zdHJpbmco
c2VsZi52YWxbJ21fZGF0YTgnXSwgc2VsZi5nZXRfbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiB1
c3RyaW5nX3RvX3N0cmluZyhzZWxmLnZhbFsnbV9kYXRhMTYnXSwgc2VsZi5nZXRfbGVuZ3RoKCkp
CisKKyAgICBkZWYgaXNfOGJpdChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsWydtX2hh
c2hBbmRGbGFncyddICYgc2VsZi52YWxbJ3NfaGFzaEZsYWc4Qml0QnVmZmVyJ10KIAotICAgICAg
ICByZXR1cm4gdXN0cmluZ190b19zdHJpbmcoc2VsZi52YWxbJ21faW1wbCddWydtX3B0ciddW2Rh
dGFfbWVtYmVyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ2V0X2xl
bmd0aCgpKQogCitjbGFzcyBXVEZTdHJpbmdQcmludGVyKFN0cmluZ1ByaW50ZXIpOgorICAgICJQ
cmludCBhIFdURjo6U3RyaW5nIgorICAgIGRlZiBzdHJpbmdpbXBsX3B0cihzZWxmKToKKyAgICAg
ICAgcmV0dXJuIHNlbGYudmFsWydtX2ltcGwnXVsnbV9wdHInXQogCi1jbGFzcyBKU0NVU3RyaW5n
UHJpbnRlcihTdHJpbmdQcmludGVyKToKLSAgICAiUHJpbnQgYSBKU0M6OlVTdHJpbmciCiAgICAg
ZGVmIGdldF9sZW5ndGgoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLnZhbFsnbV9pbXBsJ11b
J21fcHRyJ106CisgICAgICAgIGlmIG5vdCBzZWxmLnN0cmluZ2ltcGxfcHRyKCk6CiAgICAgICAg
ICAgICByZXR1cm4gMAotICAgICAgICByZXR1cm4gc2VsZi52YWxbJ21faW1wbCddWydtX3B0cidd
WydtX2xlbmd0aCddCi0KLSAgICBkZWYgaXNfOGJpdChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNl
bGYudmFsWydtX2ltcGwnXVsnbV9wdHInXVsnbV9oYXNoQW5kRmxhZ3MnXSAmIHNlbGYudmFsWydt
X2ltcGwnXVsnbV9wdHInXVsnc19oYXNoRmxhZzhCaXRCdWZmZXInXQorICAgICAgICByZXR1cm4g
V1RGU3RyaW5nSW1wbFByaW50ZXIoc2VsZi5zdHJpbmdpbXBsX3B0cigpLmRlcmVmZXJlbmNlKCkp
LmdldF9sZW5ndGgoKQogCiAgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKLSAgICAgICAgaWYgc2Vs
Zi5nZXRfbGVuZ3RoKCkgPT0gMDoKLSAgICAgICAgICAgIHJldHVybiAnJworICAgICAgICBpZiBu
b3Qgc2VsZi5zdHJpbmdpbXBsX3B0cigpOgorICAgICAgICAgICAgcmV0dXJuICcobnVsbCknCisg
ICAgICAgIHJldHVybiBzZWxmLnN0cmluZ2ltcGxfcHRyKCkuZGVyZWZlcmVuY2UoKQogCi0gICAg
ICAgIGlmIHNlbGYuaXNfOGJpdCgpOgotICAgICAgICAgICAgZGF0YV9tZW1iZXIgPSAnbV9kYXRh
OCcKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRhdGFfbWVtYmVyID0gJ21fZGF0YTE2Jwog
Ci0gICAgICAgIHJldHVybiB1c3RyaW5nX3RvX3N0cmluZyhzZWxmLnZhbFsnbV9pbXBsJ11bJ21f
cHRyJ11bZGF0YV9tZW1iZXJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5nZXRfbGVuZ3RoKCkpCitKU0NVU3RyaW5nUHJpbnRlciA9IFdURlN0cmluZ0ltcGxQcmludGVy
CiAKIAogY2xhc3MgSlNDSWRlbnRpZmllclByaW50ZXIoU3RyaW5nUHJpbnRlcik6CkBAIC0yNzEs
NiArMjc5LDcgQEAgZGVmIGFkZF9wcmV0dHlfcHJpbnRlcnMoKToKICAgICAgICAgKHJlLmNvbXBp
bGUoIl5XVEY6OkF0b21pY1N0cmluZyQiKSwgV1RGQXRvbWljU3RyaW5nUHJpbnRlciksCiAgICAg
ICAgIChyZS5jb21waWxlKCJeV1RGOjpDU3RyaW5nJCIpLCBXVEZDU3RyaW5nUHJpbnRlciksCiAg
ICAgICAgIChyZS5jb21waWxlKCJeV1RGOjpTdHJpbmckIiksIFdURlN0cmluZ1ByaW50ZXIpLAor
ICAgICAgICAocmUuY29tcGlsZSgiXldURjo6U3RyaW5nSW1wbCQiKSwgV1RGU3RyaW5nSW1wbFBy
aW50ZXIpLAogICAgICAgICAocmUuY29tcGlsZSgiXldlYkNvcmU6OktVUkxHb29nbGVQcml2YXRl
JCIpLCBXZWJDb3JlS1VSTEdvb2dsZVByaXZhdGVQcmludGVyKSwKICAgICAgICAgKHJlLmNvbXBp
bGUoIl5XZWJDb3JlOjpRdWFsaWZpZWROYW1lJCIpLCBXZWJDb3JlUXVhbGlmaWVkTmFtZVByaW50
ZXIpLAogICAgICAgICAocmUuY29tcGlsZSgiXkpTQzo6VVN0cmluZyQiKSwgSlNDVVN0cmluZ1By
aW50ZXIpLApAQCAtMjk0LDYgKzMwMyw4IEBAIGRlZiBhZGRfcHJldHR5X3ByaW50ZXJzKCk6CiAg
ICAgICAgICAgICBuYW1lID0gc3RyKHR5cGUudGFyZ2V0KCkudW5xdWFsaWZpZWQoKSkKICAgICAg
ICAgICAgIGlmIG5hbWUgPT0gJ1VDaGFyJzoKICAgICAgICAgICAgICAgICByZXR1cm4gVUNoYXJT
dHJpbmdQcmludGVyKHZhbCkKKyAgICAgICAgICAgIGlmIG5hbWUgPT0gJ0xDaGFyJzoKKyAgICAg
ICAgICAgICAgICByZXR1cm4gTENoYXJTdHJpbmdQcmludGVyKHZhbCkKICAgICAgICAgcmV0dXJu
IE5vbmUKIAogICAgIGdkYi5wcmV0dHlfcHJpbnRlcnMuYXBwZW5kKGxvb2t1cF9mdW5jdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>