<?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>101003</bug_id>
          
          <creation_ts>2012-11-01 18:10:38 -0700</creation_ts>
          <short_desc>RegExp.prototype.toString Should Produce an 8 bit JSString if possible.</short_desc>
          <delta_ts>2012-11-02 16:05:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>756776</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-01 18:10:38 -0700</bug_when>
    <thetext>regExpObjectSource() in RegExpObject.cpp uses a StringBuilder appending UChar characters of the source regular expression when creating the string to return via RegExp.prototype.toString.  This will always create a 16 bit string.  The code should be changed to create an 8 bit string where possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756779</commentid>
    <comment_count>1</comment_count>
      <attachid>171964</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-01 18:15:34 -0700</bug_when>
    <thetext>Created attachment 171964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756784</commentid>
    <comment_count>2</comment_count>
      <attachid>171964</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-01 18:21:38 -0700</bug_when>
    <thetext>Comment on attachment 171964
Patch

Attachment 171964 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14685813</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756785</commentid>
    <comment_count>3</comment_count>
      <attachid>171964</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-01 18:21:42 -0700</bug_when>
    <thetext>Comment on attachment 171964
Patch

Attachment 171964 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14703005</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757334</commentid>
    <comment_count>4</comment_count>
      <attachid>171964</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-02 10:52:32 -0700</bug_when>
    <thetext>Comment on attachment 171964
Patch

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

&gt; Source/JavaScriptCore/runtime/RegExpObject.cpp:258
&gt; +            else if (sizeof(CharacterType) &gt; 1) {
&gt; +                if (ch == 0x2028)
&gt; +                    result.appendLiteral(&quot;u2028&quot;);
&gt; +                else
&gt; +                    result.appendLiteral(&quot;u2029&quot;);
&gt; +            }

I don’t think this technique is going to work portably; we’ll get warnings on some compilers. I think we need a separate inline function for this that we overload for the 8-bit and 16-bit character types.

Patch otherwise looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757407</commentid>
    <comment_count>5</comment_count>
      <attachid>172096</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-11-02 11:44:23 -0700</bug_when>
    <thetext>Created attachment 172096
Factored out the line terminator escape logic to fix qt builds

(In reply to comment #4)
&gt; (From update of attachment 171964 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171964&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/RegExpObject.cpp:258
&gt; &gt; +            else if (sizeof(CharacterType) &gt; 1) {
&gt; &gt; +                if (ch == 0x2028)
&gt; &gt; +                    result.appendLiteral(&quot;u2028&quot;);
&gt; &gt; +                else
&gt; &gt; +                    result.appendLiteral(&quot;u2029&quot;);
&gt; &gt; +            }
&gt; 
&gt; I don’t think this technique is going to work portably; we’ll get warnings on some compilers. I think we need a separate inline function for this that we overload for the 8-bit and 16-bit character types.

I saw this last night as it broke the qt builds.  I factored out as suggested.

&gt; Patch otherwise looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757498</commentid>
    <comment_count>6</comment_count>
      <attachid>172096</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-11-02 12:53:56 -0700</bug_when>
    <thetext>Comment on attachment 172096
Factored out the line terminator escape logic to fix qt builds

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757520</commentid>
    <comment_count>7</comment_count>
      <attachid>172096</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 13:21:12 -0700</bug_when>
    <thetext>Comment on attachment 172096
Factored out the line terminator escape logic to fix qt builds

Clearing flags on attachment: 172096

Committed r133333: &lt;http://trac.webkit.org/changeset/133333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757521</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 13:21:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757710</commentid>
    <comment_count>9</comment_count>
      <attachid>172096</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-02 16:05:20 -0700</bug_when>
    <thetext>Comment on attachment 172096
Factored out the line terminator escape logic to fix qt builds

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

&gt; Source/JavaScriptCore/runtime/RegExpObject.cpp:182
&gt; +template &lt;typename CharacterType&gt;
&gt; +static inline void appendLineTerminatorEscape(StringBuilder&amp;, CharacterType);

I suggest we just use function overloading instead of templates for these two functions. Should be a simple change: Just remove all the template stuff and put &quot;static&quot; before &quot;inline&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171964</attachid>
            <date>2012-11-01 18:15:34 -0700</date>
            <delta_ts>2012-11-02 11:44:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>101003.patch</filename>
            <type>text/plain</type>
            <size>4339</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMzMjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTExLTAxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgU2hvdWxkIFByb2R1Y2UgYW4gOCBiaXQgSlNT
dHJpbmcgaWYgcG9zc2libGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDEwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUb29rIHRoZSBsb2dpYyBvZiByZWdFeHBPYmplY3RTb3VyY2UoKSBhbmQgY3Jl
YXRlZCBhIHRlbXBsYXRlZCBoZWxwZXIgdGhhdCB1c2VzIHRoZQorICAgICAgICBzb3VyY2UgY2hh
cmFjdGVyIHR5cGUgd2hlbiBhcHBlbmRpbmcgdG8gdGhlIFN0cmluZ0J1aWxkZXIuCisKKyAgICAg
ICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OnJlZ0V4cE9iamVj
dFNvdXJjZUludGVybmFsKToKKyAgICAgICAgKEpTQzo6cmVnRXhwT2JqZWN0U291cmNlKToKKwog
MjAxMi0xMC0zMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERG
RyBvcHRpbWl6ZWQgc3RyaW5nIGFjY2VzcyBjb2RlIHNob3VsZCBiZSBlbmFibGVkCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAJKHJldmlz
aW9uIDEzMjk3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3OCwxMSArMTc4LDkgQEAgSlNWYWx1ZSByZWdFeHBP
YmplY3RNdWx0aWxpbmUoRXhlY1N0YXRlKgogICAgIHJldHVybiBqc0Jvb2xlYW4oYXNSZWdFeHBP
YmplY3Qoc2xvdEJhc2UpLT5yZWdFeHAoKS0+bXVsdGlsaW5lKCkpOwogfQogCi1KU1ZhbHVlIHJl
Z0V4cE9iamVjdFNvdXJjZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIFByb3Bl
cnR5TmFtZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIHJlZ0V4cE9iamVjdFNvdXJjZUludGVybmFsKEV4ZWNTdGF0ZSogZXhlYywgU3Ry
aW5nIHBhdHRlcm4sIGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxl
bmd0aCkKIHsKLSAgICBTdHJpbmcgcGF0dGVybiA9IGFzUmVnRXhwT2JqZWN0KHNsb3RCYXNlKS0+
cmVnRXhwKCktPnBhdHRlcm4oKTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBwYXR0ZXJuLmxlbmd0
aCgpOwotICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0gcGF0dGVybi5jaGFyYWN0ZXJzKCk7
CiAgICAgYm9vbCBwcmV2aW91c0NoYXJhY3Rlcldhc0JhY2tzbGFzaCA9IGZhbHNlOwogICAgIGJv
b2wgaW5CcmFja2V0cyA9IGZhbHNlOwogICAgIGJvb2wgc2hvdWxkRXNjYXBlID0gZmFsc2U7CkBA
IC0xOTcsNyArMTk1LDcgQEAgSlNWYWx1ZSByZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0YXRlKiBl
eAogCiAgICAgLy8gZWFybHkgcmV0dXJuIGZvciBzdHJpbmdzIHRoYXQgZG9uJ3QgY29udGFpbiBh
IGZvcndhcmRzIHNsYXNoIGFuZCBMaW5lVGVybWluYXRvcgogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAgICBVQ2hhciBjaCA9IGNoYXJhY3RlcnNbaV07
CisgICAgICAgIENoYXJhY3RlclR5cGUgY2ggPSBjaGFyYWN0ZXJzW2ldOwogICAgICAgICBpZiAo
IXByZXZpb3VzQ2hhcmFjdGVyV2FzQmFja3NsYXNoKSB7CiAgICAgICAgICAgICBpZiAoaW5CcmFj
a2V0cykgewogICAgICAgICAgICAgICAgIGlmIChjaCA9PSAnXScpCkBAIC0yMTIsNyArMjEwLDcg
QEAgSlNWYWx1ZSByZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0YXRlKiBleAogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKLSAgICAgICAgaWYgKExleGVyPFVDaGFyPjo6aXNMaW5lVGVybWluYXRv
cihjaCkpIHsKKyAgICAgICAgaWYgKExleGVyPENoYXJhY3RlclR5cGU+Ojppc0xpbmVUZXJtaW5h
dG9yKGNoKSkgewogICAgICAgICAgICAgc2hvdWxkRXNjYXBlID0gdHJ1ZTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CkBAIC0yMzAsNyArMjI4LDcgQEAgSlNWYWx1ZSByZWdFeHBPYmpl
Y3RTb3VyY2UoRXhlY1N0YXRlKiBleAogICAgIGluQnJhY2tldHMgPSBmYWxzZTsKICAgICBTdHJp
bmdCdWlsZGVyIHJlc3VsdDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyAr
K2kpIHsKLSAgICAgICAgVUNoYXIgY2ggPSBjaGFyYWN0ZXJzW2ldOworICAgICAgICBDaGFyYWN0
ZXJUeXBlIGNoID0gY2hhcmFjdGVyc1tpXTsKICAgICAgICAgaWYgKCFwcmV2aW91c0NoYXJhY3Rl
cldhc0JhY2tzbGFzaCkgewogICAgICAgICAgICAgaWYgKGluQnJhY2tldHMpIHsKICAgICAgICAg
ICAgICAgICBpZiAoY2ggPT0gJ10nKQpAQCAtMjQ0LDcgKzI0Miw3IEBAIEpTVmFsdWUgcmVnRXhw
T2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXgKICAgICAgICAgfQogCiAgICAgICAgIC8vIGVzY2Fw
ZSBMaW5lVGVybWluYXRvcgotICAgICAgICBpZiAoTGV4ZXI8VUNoYXI+Ojppc0xpbmVUZXJtaW5h
dG9yKGNoKSkgeworICAgICAgICBpZiAoTGV4ZXI8Q2hhcmFjdGVyVHlwZT46OmlzTGluZVRlcm1p
bmF0b3IoY2gpKSB7CiAgICAgICAgICAgICBpZiAoIXByZXZpb3VzQ2hhcmFjdGVyV2FzQmFja3Ns
YXNoKQogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xcJyk7CiAKQEAgLTI1MiwxMCAr
MjUwLDEyIEBAIEpTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXgKICAgICAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCduJyk7CiAgICAgICAgICAgICBlbHNlIGlmIChjaCA9
PSAnXHInKQogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ3InKTsKLSAgICAgICAgICAg
IGVsc2UgaWYgKGNoID09IDB4MjAyOCkKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0
ZXJhbCgidTIwMjgiKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXN1bHQu
YXBwZW5kTGl0ZXJhbCgidTIwMjkiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHNpemVvZihDaGFy
YWN0ZXJUeXBlKSA+IDEpIHsKKyAgICAgICAgICAgICAgICBpZiAoY2ggPT0gMHgyMDI4KQorICAg
ICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgidTIwMjgiKTsKKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJ1
MjAyOSIpOworICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmQoY2gpOwogCkBAIC0yNjgsNiArMjY4LDE0IEBAIEpTVmFsdWUgcmVnRXhwT2JqZWN0
U291cmNlKEV4ZWNTdGF0ZSogZXgKICAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgcmVzdWx0LnRv
U3RyaW5nKCkpOwogfQogCitKU1ZhbHVlIHJlZ0V4cE9iamVjdFNvdXJjZShFeGVjU3RhdGUqIGV4
ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIFByb3BlcnR5TmFtZSkKK3sKKyAgICBTdHJpbmcgcGF0dGVy
biA9IGFzUmVnRXhwT2JqZWN0KHNsb3RCYXNlKS0+cmVnRXhwKCktPnBhdHRlcm4oKTsKKyAgICBp
ZiAocGF0dGVybi5pczhCaXQoKSkKKyAgICAgICAgcmV0dXJuIHJlZ0V4cE9iamVjdFNvdXJjZUlu
dGVybmFsKGV4ZWMsIHBhdHRlcm4sIHBhdHRlcm4uY2hhcmFjdGVyczgoKSwgcGF0dGVybi5sZW5n
dGgoKSk7CisgICAgcmV0dXJuIHJlZ0V4cE9iamVjdFNvdXJjZUludGVybmFsKGV4ZWMsIHBhdHRl
cm4sIHBhdHRlcm4uY2hhcmFjdGVyczE2KCksIHBhdHRlcm4ubGVuZ3RoKCkpOworfQorCiB2b2lk
IFJlZ0V4cE9iamVjdDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3Qp
CiB7CiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGFzdElu
ZGV4KSB7Cg==
</data>
<flag name="review"
          id="186102"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="186103"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172096</attachid>
            <date>2012-11-02 11:44:23 -0700</date>
            <delta_ts>2012-11-02 16:05:20 -0700</delta_ts>
            <desc>Factored out the line terminator escape logic to fix qt builds</desc>
            <filename>101003-2.patch</filename>
            <type>text/plain</type>
            <size>5037</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMzMzE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDEyLTExLTAyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgU2hvdWxkIFByb2R1Y2UgYW4gOCBiaXQgSlNT
dHJpbmcgaWYgcG9zc2libGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDEwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUb29rIHRoZSBsb2dpYyBvZiByZWdFeHBPYmplY3RTb3VyY2UoKSBhbmQgY3Jl
YXRlZCB0d28gdGVtcGxhdGVkIGhlbHBlcnMgdGhhdCB1c2VzIHRoZQorICAgICAgICBzb3VyY2Ug
Y2hhcmFjdGVyIHR5cGUgd2hlbiBhcHBlbmRpbmcgdG8gdGhlIFN0cmluZ0J1aWxkZXIuCisKKyAg
ICAgICAgKiBydW50aW1lL1JlZ0V4cE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OmFwcGVuZExp
bmVUZXJtaW5hdG9yRXNjYXBlKTogQ2hlY2tzIGxpbmUgdGVybWluYXRlIHR5cGUgdG8gY29tZSB1
cCB3aXRoIGVzY2FwZWQgdmVyc2lvbi4KKyAgICAgICAgKEpTQzo6cmVnRXhwT2JqZWN0U291cmNl
SW50ZXJuYWwpOiBUZW1wbGF0ZWQgdmVyc2lvbiBvZiBvcmlnaW5hbC4KKyAgICAgICAgKEpTQzo6
cmVnRXhwT2JqZWN0U291cmNlKTogV3JhcHBlciBmdW5jdGlvbi4KKwogMjAxMi0xMS0wMiAgU2lt
b24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBG
aXggYnVpbGQgb24gV2luZG93cyB3aGVuIFF0IGlzIGNvbmZpZ3VyZWQgd2l0aCAtcmVsZWFzZQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3Bw
CShyZXZpc2lvbiAxMzI5NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgsMTEgKzE3OCwzNCBAQCBKU1ZhbHVl
IHJlZ0V4cE9iamVjdE11bHRpbGluZShFeGVjU3RhdGUqCiAgICAgcmV0dXJuIGpzQm9vbGVhbihh
c1JlZ0V4cE9iamVjdChzbG90QmFzZSktPnJlZ0V4cCgpLT5tdWx0aWxpbmUoKSk7CiB9CiAKLUpT
VmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFz
ZSwgUHJvcGVydHlOYW1lKQordGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0
aWMgaW5saW5lIHZvaWQgYXBwZW5kTGluZVRlcm1pbmF0b3JFc2NhcGUoU3RyaW5nQnVpbGRlciYs
IENoYXJhY3RlclR5cGUpOworCit0ZW1wbGF0ZSA8PgoraW5saW5lIHZvaWQgYXBwZW5kTGluZVRl
cm1pbmF0b3JFc2NhcGU8TENoYXI+KFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIsIExDaGFyIGxpbmVU
ZXJtaW5hdG9yKQoreworICAgIGlmIChsaW5lVGVybWluYXRvciA9PSAnXG4nKQorICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnbicpOworICAgIGVsc2UKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoJ3In
KTsKK30KKwordGVtcGxhdGUgPD4KK2lubGluZSB2b2lkIGFwcGVuZExpbmVUZXJtaW5hdG9yRXNj
YXBlPFVDaGFyPihTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBVQ2hhciBsaW5lVGVybWluYXRvcikK
K3sKKyAgICBpZiAobGluZVRlcm1pbmF0b3IgPT0gJ1xuJykKKyAgICAgICAgYnVpbGRlci5hcHBl
bmQoJ24nKTsKKyAgICBlbHNlIGlmIChsaW5lVGVybWluYXRvciA9PSAnXHInKQorICAgICAgICBi
dWlsZGVyLmFwcGVuZCgncicpOworICAgIGVsc2UgaWYgKGxpbmVUZXJtaW5hdG9yID09IDB4MjAy
OCkKKyAgICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJ1MjAyOCIpOworICAgIGVsc2UKKyAg
ICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJ1MjAyOSIpOworfQorCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhcmFjdGVyVHlwZT4KK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSByZWdFeHBPYmplY3RT
b3VyY2VJbnRlcm5hbChFeGVjU3RhdGUqIGV4ZWMsIFN0cmluZyBwYXR0ZXJuLCBjb25zdCBDaGFy
YWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7Ci0gICAgU3RyaW5nIHBh
dHRlcm4gPSBhc1JlZ0V4cE9iamVjdChzbG90QmFzZSktPnJlZ0V4cCgpLT5wYXR0ZXJuKCk7Ci0g
ICAgdW5zaWduZWQgbGVuZ3RoID0gcGF0dGVybi5sZW5ndGgoKTsKLSAgICBjb25zdCBVQ2hhciog
Y2hhcmFjdGVycyA9IHBhdHRlcm4uY2hhcmFjdGVycygpOwogICAgIGJvb2wgcHJldmlvdXNDaGFy
YWN0ZXJXYXNCYWNrc2xhc2ggPSBmYWxzZTsKICAgICBib29sIGluQnJhY2tldHMgPSBmYWxzZTsK
ICAgICBib29sIHNob3VsZEVzY2FwZSA9IGZhbHNlOwpAQCAtMTk3LDcgKzIyMCw3IEBAIEpTVmFs
dWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXgKIAogICAgIC8vIGVhcmx5IHJldHVy
biBmb3Igc3RyaW5ncyB0aGF0IGRvbid0IGNvbnRhaW4gYSBmb3J3YXJkcyBzbGFzaCBhbmQgTGlu
ZVRlcm1pbmF0b3IKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgVUNoYXIgY2ggPSBjaGFyYWN0ZXJzW2ldOworICAgICAgICBDaGFyYWN0ZXJUeXBl
IGNoID0gY2hhcmFjdGVyc1tpXTsKICAgICAgICAgaWYgKCFwcmV2aW91c0NoYXJhY3Rlcldhc0Jh
Y2tzbGFzaCkgewogICAgICAgICAgICAgaWYgKGluQnJhY2tldHMpIHsKICAgICAgICAgICAgICAg
ICBpZiAoY2ggPT0gJ10nKQpAQCAtMjEyLDcgKzIzNSw3IEBAIEpTVmFsdWUgcmVnRXhwT2JqZWN0
U291cmNlKEV4ZWNTdGF0ZSogZXgKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAg
IGlmIChMZXhlcjxVQ2hhcj46OmlzTGluZVRlcm1pbmF0b3IoY2gpKSB7CisgICAgICAgIGlmIChM
ZXhlcjxDaGFyYWN0ZXJUeXBlPjo6aXNMaW5lVGVybWluYXRvcihjaCkpIHsKICAgICAgICAgICAg
IHNob3VsZEVzY2FwZSA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAt
MjMwLDcgKzI1Myw3IEBAIEpTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXgK
ICAgICBpbkJyYWNrZXRzID0gZmFsc2U7CiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Ci0gICAgICAgIFVDaGFyIGNo
ID0gY2hhcmFjdGVyc1tpXTsKKyAgICAgICAgQ2hhcmFjdGVyVHlwZSBjaCA9IGNoYXJhY3RlcnNb
aV07CiAgICAgICAgIGlmICghcHJldmlvdXNDaGFyYWN0ZXJXYXNCYWNrc2xhc2gpIHsKICAgICAg
ICAgICAgIGlmIChpbkJyYWNrZXRzKSB7CiAgICAgICAgICAgICAgICAgaWYgKGNoID09ICddJykK
QEAgLTI0NCwxOCArMjY3LDExIEBAIEpTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0
ZSogZXgKICAgICAgICAgfQogCiAgICAgICAgIC8vIGVzY2FwZSBMaW5lVGVybWluYXRvcgotICAg
ICAgICBpZiAoTGV4ZXI8VUNoYXI+Ojppc0xpbmVUZXJtaW5hdG9yKGNoKSkgeworICAgICAgICBp
ZiAoTGV4ZXI8Q2hhcmFjdGVyVHlwZT46OmlzTGluZVRlcm1pbmF0b3IoY2gpKSB7CiAgICAgICAg
ICAgICBpZiAoIXByZXZpb3VzQ2hhcmFjdGVyV2FzQmFja3NsYXNoKQogICAgICAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoJ1xcJyk7CiAKLSAgICAgICAgICAgIGlmIChjaCA9PSAnXG4nKQotICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ24nKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGNo
ID09ICdccicpCi0gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgncicpOwotICAgICAgICAg
ICAgZWxzZSBpZiAoY2ggPT0gMHgyMDI4KQotICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRM
aXRlcmFsKCJ1MjAyOCIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmRMaXRlcmFsKCJ1MjAyOSIpOworICAgICAgICAgICAgYXBwZW5kTGluZVRlcm1pbmF0
b3JFc2NhcGU8Q2hhcmFjdGVyVHlwZT4ocmVzdWx0LCBjaCk7CiAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZChjaCk7CiAKQEAgLTI2OCw2ICsyODQsMTQgQEAgSlNWYWx1
ZSByZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0YXRlKiBleAogICAgIHJldHVybiBqc1N0cmluZyhl
eGVjLCByZXN1bHQudG9TdHJpbmcoKSk7CiB9CiAKK0pTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNl
KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgUHJvcGVydHlOYW1lKQoreworICAg
IFN0cmluZyBwYXR0ZXJuID0gYXNSZWdFeHBPYmplY3Qoc2xvdEJhc2UpLT5yZWdFeHAoKS0+cGF0
dGVybigpOworICAgIGlmIChwYXR0ZXJuLmlzOEJpdCgpKQorICAgICAgICByZXR1cm4gcmVnRXhw
T2JqZWN0U291cmNlSW50ZXJuYWwoZXhlYywgcGF0dGVybiwgcGF0dGVybi5jaGFyYWN0ZXJzOCgp
LCBwYXR0ZXJuLmxlbmd0aCgpKTsKKyAgICByZXR1cm4gcmVnRXhwT2JqZWN0U291cmNlSW50ZXJu
YWwoZXhlYywgcGF0dGVybiwgcGF0dGVybi5jaGFyYWN0ZXJzMTYoKSwgcGF0dGVybi5sZW5ndGgo
KSk7Cit9CisKIHZvaWQgUmVnRXhwT2JqZWN0OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUq
IGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3Bl
cnR5U2xvdCYgc2xvdCkKIHsKICAgICBpZiAocHJvcGVydHlOYW1lID09IGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5sYXN0SW5kZXgpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>