<?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>109617</bug_id>
          
          <creation_ts>2013-02-12 14:44:00 -0800</creation_ts>
          <short_desc>Teach more WTF string classes about vectors with inline capacity</short_desc>
          <delta_ts>2013-02-13 10:06:49 -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>New Bugs</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>
          
          <blocked>109619</blocked>
    
    <blocked>109638</blocked>
    
    <blocked>109708</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>jochen</cc>
    
    <cc>msaboff</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>831275</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-12 14:44:00 -0800</bug_when>
    <thetext>Teach more WTF string classes about vectors with inline capacity</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831282</commentid>
    <comment_count>1</comment_count>
      <attachid>187940</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-12 14:46:31 -0800</bug_when>
    <thetext>Created attachment 187940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831292</commentid>
    <comment_count>2</comment_count>
      <attachid>187940</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-12 14:56:14 -0800</bug_when>
    <thetext>Comment on attachment 187940
Patch

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

&gt; Source/WTF/ChangeLog:9
&gt; +        I&apos;m about to deploy these all over the HTML/WebVTT parser code
&gt; +        to make our string creation much less verbose.

Let&apos;s explain the changes here instead!

&gt; Source/WTF/wtf/text/AtomicString.h:67
&gt; +
&gt; +    template&lt;size_t inlineCapacity&gt;
&gt; +    explicit AtomicString(Vector&lt;UChar, inlineCapacity&gt; characters)
&gt; +        : m_string(add(characters.data(), characters.size()))
&gt; +    {
&gt; +    }
&gt; +

This is in the middle of the two constructor from literal.
I would instead put this close to the constructors taking a UChar*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831301</commentid>
    <comment_count>3</comment_count>
      <attachid>187946</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-12 15:02:32 -0800</bug_when>
    <thetext>Created attachment 187946
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831413</commentid>
    <comment_count>4</comment_count>
      <attachid>187946</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 16:42:43 -0800</bug_when>
    <thetext>Comment on attachment 187946
Patch for landing

Clearing flags on attachment: 187946

Committed r142689: &lt;http://trac.webkit.org/changeset/142689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831414</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 16:42:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831990</commentid>
    <comment_count>6</comment_count>
      <attachid>187946</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-02-13 09:46:37 -0800</bug_when>
    <thetext>Comment on attachment 187946
Patch for landing

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

&gt; Source/WTF/wtf/text/AtomicString.h:53
&gt; +    explicit AtomicString(Vector&lt;UChar, inlineCapacity&gt; characters)

This is bad for performance. It copies the vector before creating the atomic string! Please use const Vector&amp; instead of Vector as the argument type.

&gt; Source/WTF/wtf/text/StringImpl.h:358
&gt; +    static PassRefPtr&lt;StringImpl&gt; create8BitIfPossible(Vector&lt;UChar, inlineCapacity&gt; vector)

Same problem here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831994</commentid>
    <comment_count>7</comment_count>
      <attachid>187946</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-13 09:48:52 -0800</bug_when>
    <thetext>Comment on attachment 187946
Patch for landing

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

&gt;&gt; Source/WTF/wtf/text/AtomicString.h:53
&gt;&gt; +    explicit AtomicString(Vector&lt;UChar, inlineCapacity&gt; characters)
&gt; 
&gt; This is bad for performance. It copies the vector before creating the atomic string! Please use const Vector&amp; instead of Vector as the argument type.

Ouch!  Yes. Fixing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832011</commentid>
    <comment_count>8</comment_count>
      <attachid>187946</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-13 10:06:14 -0800</bug_when>
    <thetext>Comment on attachment 187946
Patch for landing

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

&gt;&gt;&gt; Source/WTF/wtf/text/AtomicString.h:53
&gt;&gt;&gt; +    explicit AtomicString(Vector&lt;UChar, inlineCapacity&gt; characters)
&gt;&gt; 
&gt;&gt; This is bad for performance. It copies the vector before creating the atomic string! Please use const Vector&amp; instead of Vector as the argument type.
&gt; 
&gt; Ouch!  Yes. Fixing now.

Fixed: bug 109708.

In doing this I found that wtf/dota/ uses Vector&lt;char&gt; as an argument all over the place!  I suspect it was re-written on top of WTF from stl w/o realizing this.  I&apos;ve filed bug 109709.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187940</attachid>
            <date>2013-02-12 14:46:31 -0800</date>
            <delta_ts>2013-02-12 15:02:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109617-20130212144308.patch</filename>
            <type>text/plain</type>
            <size>4067</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJmZGI2NmUwYTM0NjExOTBmMTJlYjlh
ZjM3NDE4M2FlNjMyZGI4ODguLjdmOWM0OGYxOTU3YWRlNGNiODM4YzMyYjA1NmRkYTNjNjZmNmZl
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTMtMDItMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgorCisgICAgICAgIFRlYWNoIG1vcmUgV1RGIHN0cmluZyBjbGFzc2VzIGFib3V0
IHZlY3RvcnMgd2l0aCBpbmxpbmUgY2FwYWNpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTYxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEknbSBhYm91dCB0byBkZXBsb3kgdGhlc2UgYWxsIG92ZXIg
dGhlIEhUTUwvV2ViVlRUIHBhcnNlciBjb2RlCisgICAgICAgIHRvIG1ha2Ugb3VyIHN0cmluZyBj
cmVhdGlvbiBtdWNoIGxlc3MgdmVyYm9zZS4KKworICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oOgorICAgICAgICAoQXRvbWljU3RyaW5nKToKKyAgICAgICAgKFdURjo6QXRvbWljU3Ry
aW5nOjpBdG9taWNTdHJpbmcpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAg
ICAgICAgKFN0cmluZ0ltcGwpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpjcmVhdGU4Qml0
SWZQb3NzaWJsZSk6CisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6CisgICAgICAgIChT
dHJpbmcpOgorICAgICAgICAoV1RGOjpTdHJpbmc6Om1ha2U4Qml0RnJvbTE2Qml0U291cmNlKToK
KyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6OmFwcGVuZCk6CisKIDIwMTMtMDItMTEgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9taWNTdHJpbmcuaAppbmRleCA4YWVhNTg1MDc3Y2M1MTI0ZTBiZGNlODJmOGFl
YmIwOGQ3NTg1NTliLi4zYTNjOThmYzJkNzE5OTkzOWE3ZjcwYTMxN2NjNjY0NDgwM2M3NTA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTU4LDYgKzU4LDEzIEBAIHB1YmxpYzoK
ICAgICAgICAgOiBtX3N0cmluZyhhZGRGcm9tTGl0ZXJhbERhdGEoY2hhcmFjdGVycywgbGVuZ3Ro
KSkKICAgICB7CiAgICAgfQorCisgICAgdGVtcGxhdGU8c2l6ZV90IGlubGluZUNhcGFjaXR5Pgor
ICAgIGV4cGxpY2l0IEF0b21pY1N0cmluZyhWZWN0b3I8VUNoYXIsIGlubGluZUNhcGFjaXR5PiBj
aGFyYWN0ZXJzKQorICAgICAgICA6IG1fc3RyaW5nKGFkZChjaGFyYWN0ZXJzLmRhdGEoKSwgY2hh
cmFjdGVycy5zaXplKCkpKQorICAgIHsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBj
aGFyYWN0ZXJzQ291bnQ+CiAgICAgQUxXQVlTX0lOTElORSBBdG9taWNTdHJpbmcoY29uc3QgY2hh
ciAoJmNoYXJhY3RlcnMpW2NoYXJhY3RlcnNDb3VudF0sIENvbnN0cnVjdEZyb21MaXRlcmFsVGFn
KQogICAgICAgICA6IG1fc3RyaW5nKGFkZEZyb21MaXRlcmFsRGF0YShjaGFyYWN0ZXJzLCBjaGFy
YWN0ZXJzQ291bnQgLSAxKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
SW1wbC5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggNDM5NTJkYjBh
YWViYjFlNjhmNDE2ZDAxNzJlYjBhZWJjMWNkYmM0OC4uNDE0YjZkMzc0ODBkNDNlYTlmM2ZjY2Iw
NTU0OTAzNDAwMTZmNDkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJ
bXBsLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTM1NCw2ICsz
NTQsMTIgQEAgcHVibGljOgogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1Jl
ZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGUoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwog
ICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBj
cmVhdGUoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIFdURl9FWFBPUlRfU1RS
SU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGU4Qml0SWZQb3NzaWJs
ZShjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7CisgICAgdGVtcGxhdGU8c2l6ZV90IGlu
bGluZUNhcGFjaXR5PgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNyZWF0ZThC
aXRJZlBvc3NpYmxlKFZlY3RvcjxVQ2hhciwgaW5saW5lQ2FwYWNpdHk+IHZlY3RvcikKKyAgICB7
CisgICAgICAgIHJldHVybiBjcmVhdGU4Qml0SWZQb3NzaWJsZSh2ZWN0b3IuZGF0YSgpLCB2ZWN0
b3Iuc2l6ZSgpKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IGNyZWF0ZShjb25zdCBjaGFyKiBzLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0
dXJuIGNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocyksIGxlbmd0aCk7IH0K
ICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4g
Y3JlYXRlKGNvbnN0IExDaGFyKik7CiAgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUGFzc1JlZlB0
cjxTdHJpbmdJbXBsPiBjcmVhdGUoY29uc3QgY2hhciogcykgeyByZXR1cm4gY3JlYXRlKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihzKSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCmlu
ZGV4IGQ5ZmE1MWMyNTc3ODM2Y2Q4Y2U2NzY0YjlkMGE5NDk2M2NjOTk0ZDMuLjBiODc2OWQ5ODBm
ZGQ3NTMwNDdiMWUxY2FiNWQzZGVkMTIzMmMwNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaApA
QCAtNDMzLDYgKzQzMywxMiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIFdURl9FWFBPUlRfU1RS
SU5HX0FQSSBzdGF0aWMgU3RyaW5nIG1ha2U4Qml0RnJvbTE2Qml0U291cmNlKGNvbnN0IFVDaGFy
Kiwgc2l6ZV90KTsKKyAgICB0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CisgICAgc3Rh
dGljIFN0cmluZyBtYWtlOEJpdEZyb20xNkJpdFNvdXJjZShjb25zdCBWZWN0b3I8VUNoYXIsIGlu
bGluZUNhcGFjaXR5PiYgYnVmZmVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1ha2U4Qml0RnJv
bTE2Qml0U291cmNlKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIH0KKwogICAg
IFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgU3RyaW5nIG1ha2UxNkJpdEZyb204Qml0U291
cmNlKGNvbnN0IExDaGFyKiwgc2l6ZV90KTsKIAogICAgIC8vIFN0cmluZzo6ZnJvbVVURjggd2ls
bCByZXR1cm4gYSBudWxsIHN0cmluZyBpZgpAQCAtNjAxLDcgKzYwNyw4IEBAIGlubGluZSBib29s
IGNvZGVQb2ludENvbXBhcmVMZXNzVGhhbihjb25zdCBTdHJpbmcmIGEsIGNvbnN0IFN0cmluZyYg
YikKICAgICByZXR1cm4gY29kZVBvaW50Q29tcGFyZShhLmltcGwoKSwgYi5pbXBsKCkpIDwgMDsK
IH0KIAotaW5saW5lIHZvaWQgYXBwZW5kKFZlY3RvcjxVQ2hhcj4mIHZlY3RvciwgY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCit0ZW1wbGF0ZTxzaXplX3QgaW5saW5lQ2FwYWNpdHk+CitpbmxpbmUgdm9p
ZCBhcHBlbmQoVmVjdG9yPFVDaGFyLCBpbmxpbmVDYXBhY2l0eT4mIHZlY3RvciwgY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCiB7CiAgICAgdmVjdG9yLmFwcGVuZChzdHJpbmcuY2hhcmFjdGVycygpLCBz
dHJpbmcubGVuZ3RoKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187946</attachid>
            <date>2013-02-12 15:02:32 -0800</date>
            <delta_ts>2013-02-13 10:06:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109617-20130212145909.patch</filename>
            <type>text/plain</type>
            <size>4977</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJmZGI2NmUwYTM0NjExOTBmMTJlYjlh
ZjM3NDE4M2FlNjMyZGI4ODguLjVjZjIxYTNjMGI4Yzk5Y2I3YjJmN2M3ZjY4NTU4OTFlOTFjZGYy
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTMtMDItMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgorCisgICAgICAgIFRlYWNoIG1vcmUgV1RGIHN0cmluZyBjbGFzc2VzIGFib3V0
IHZlY3RvcnMgd2l0aCBpbmxpbmUgY2FwYWNpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTYxNworCisgICAgICAgIFJldmlld2VkIGJ5IEJlbmph
bWluIFBvdWxhaW4uCisKKyAgICAgICAgVGhlIEhUTUwgYW5kIFdlYlZUVCBwYXJzZXJzIHVzZSBj
b25zdHJ1Y3Rpb25zIGxpa2U6CisgICAgICAgIEF0b21pY1N0cmluZyBuYW1lKG1fbmFtZS5kYXRh
KCksIG1fbmFtZS5zaXplKCkpCisgICAgICAgIGFsbCBvdmVyIHRoZSBwbGFjZSBiZWNhdXNlIHRo
ZXkgdXNlIGlubGluZSBjYXBhY2l0eQorICAgICAgICBvbiB0aGUgcGFyc2UgdmVjdG9ycyBmb3Ig
cGVyZm9ybWFuY2UuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UganVzdCBhZGQgdGhlIG5lY2Vzc2Fy
eSB0ZW1wbGF0ZSB2YXJpYW50cworICAgICAgICB0byB0aGUgcmVsYXRlZCBTdHJpbmcgY29uc3Ry
dWN0b3JzL21ldGhvZHMgaW4gV1RGIHNvIHRoYXQKKyAgICAgICAgdGhpcyBwYXJzZXIgY29kZSBj
YW4ganVzdCBwYXNzIHRoZSB2ZWN0b3IgZGlyZWN0bHkgaW5zdGVhZC4KKworICAgICAgICBJJ2xs
IGRvIHRoZSBhY3R1YWwgcGFyc2VyIGNsZWFudXBzIGluIGZvbGxvdy11cCBwYXRjaGVzIHRvIGtl
ZXAgdGhpbmdzIHNpbXBsZS4KKworICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oOgor
ICAgICAgICAoQXRvbWljU3RyaW5nKToKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nOjpBdG9t
aWNTdHJpbmcpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKFN0
cmluZ0ltcGwpOgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpjcmVhdGU4Qml0SWZQb3NzaWJs
ZSk6CisgICAgICAgICogd3RmL3RleHQvV1RGU3RyaW5nLmg6CisgICAgICAgIChTdHJpbmcpOgor
ICAgICAgICAoV1RGOjpTdHJpbmc6Om1ha2U4Qml0RnJvbTE2Qml0U291cmNlKToKKyAgICAgICAg
KFdURik6CisgICAgICAgIChXVEY6OmFwcGVuZCk6CisKIDIwMTMtMDItMTEgIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9B
dG9taWNTdHJpbmcuaAppbmRleCA4YWVhNTg1MDc3Y2M1MTI0ZTBiZGNlODJmOGFlYmIwOGQ3NTg1
NTliLi5kN2FmN2I1NTIwMTZkMTFiYmQ0YmVjNjg2NDg3YTYwZGFhZjNmZDZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTQ4LDYgKzQ4LDEzIEBAIHB1YmxpYzoKICAgICBBdG9t
aWNTdHJpbmcoY29uc3QgVUNoYXIqIHMsIHVuc2lnbmVkIGxlbmd0aCkgOiBtX3N0cmluZyhhZGQo
cywgbGVuZ3RoKSkgeyB9CiAgICAgQXRvbWljU3RyaW5nKGNvbnN0IFVDaGFyKiBzLCB1bnNpZ25l
ZCBsZW5ndGgsIHVuc2lnbmVkIGV4aXN0aW5nSGFzaCkgOiBtX3N0cmluZyhhZGQocywgbGVuZ3Ro
LCBleGlzdGluZ0hhc2gpKSB7IH0KICAgICBBdG9taWNTdHJpbmcoY29uc3QgVUNoYXIqIHMpIDog
bV9zdHJpbmcoYWRkKHMpKSB7IH0KKworICAgIHRlbXBsYXRlPHNpemVfdCBpbmxpbmVDYXBhY2l0
eT4KKyAgICBleHBsaWNpdCBBdG9taWNTdHJpbmcoVmVjdG9yPFVDaGFyLCBpbmxpbmVDYXBhY2l0
eT4gY2hhcmFjdGVycykKKyAgICAgICAgOiBtX3N0cmluZyhhZGQoY2hhcmFjdGVycy5kYXRhKCks
IGNoYXJhY3RlcnMuc2l6ZSgpKSkKKyAgICB7CisgICAgfQorCiAgICAgQVRPTUlDU1RSSU5HX0NP
TlZFUlNJT04gQXRvbWljU3RyaW5nKFN0cmluZ0ltcGwqIGltcCkgOiBtX3N0cmluZyhhZGQoaW1w
KSkgeyB9CiAgICAgQXRvbWljU3RyaW5nKEF0b21pY1N0cmluZ0ltcGwqIGltcCkgOiBtX3N0cmlu
ZyhpbXApIHsgfQogICAgIEFUT01JQ1NUUklOR19DT05WRVJTSU9OIEF0b21pY1N0cmluZyhjb25z
dCBTdHJpbmcmIHMpIDogbV9zdHJpbmcoYWRkKHMuaW1wbCgpKSkgeyB9CkBAIC01OCw2ICs2NSw3
IEBAIHB1YmxpYzoKICAgICAgICAgOiBtX3N0cmluZyhhZGRGcm9tTGl0ZXJhbERhdGEoY2hhcmFj
dGVycywgbGVuZ3RoKSkKICAgICB7CiAgICAgfQorCiAgICAgdGVtcGxhdGU8dW5zaWduZWQgY2hh
cmFjdGVyc0NvdW50PgogICAgIEFMV0FZU19JTkxJTkUgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIg
KCZjaGFyYWN0ZXJzKVtjaGFyYWN0ZXJzQ291bnRdLCBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZykK
ICAgICAgICAgOiBtX3N0cmluZyhhZGRGcm9tTGl0ZXJhbERhdGEoY2hhcmFjdGVycywgY2hhcmFj
dGVyc0NvdW50IC0gMSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0lt
cGwuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IDQzOTUyZGIwYWFl
YmIxZTY4ZjQxNmQwMTcyZWIwYWViYzFjZGJjNDguLjQxNGI2ZDM3NDgwZDQzZWE5ZjNmY2NiMDU1
NDkwMzQwMDE2ZjQ5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1w
bC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCkBAIC0zNTQsNiArMzU0
LDEyIEBAIHB1YmxpYzoKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQ
dHI8U3RyaW5nSW1wbD4gY3JlYXRlKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKICAg
ICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3Jl
YXRlKGNvbnN0IExDaGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gY3JlYXRlOEJpdElmUG9zc2libGUo
Y29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIHRlbXBsYXRlPHNpemVfdCBpbmxp
bmVDYXBhY2l0eT4KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGU4Qml0
SWZQb3NzaWJsZShWZWN0b3I8VUNoYXIsIGlubGluZUNhcGFjaXR5PiB2ZWN0b3IpCisgICAgewor
ICAgICAgICByZXR1cm4gY3JlYXRlOEJpdElmUG9zc2libGUodmVjdG9yLmRhdGEoKSwgdmVjdG9y
LnNpemUoKSk7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgUGFzc1JlZlB0cjxT
dHJpbmdJbXBsPiBjcmVhdGUoY29uc3QgY2hhciogcywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVy
biBjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHMpLCBsZW5ndGgpOyB9CiAg
ICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNy
ZWF0ZShjb25zdCBMQ2hhciopOwogICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4gY3JlYXRlKGNvbnN0IGNoYXIqIHMpIHsgcmV0dXJuIGNyZWF0ZShyZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4ocykpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1dURlN0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRl
eCBkOWZhNTFjMjU3NzgzNmNkOGNlNjc2NGI5ZDBhOTQ5NjNjYzk5NGQzLi4wYjg3NjlkOTgwZmRk
NzUzMDQ3YjFlMWNhYjVkM2RlZDEyMzJjMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKQEAg
LTQzMyw2ICs0MzMsMTIgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBXVEZfRVhQT1JUX1NUUklO
R19BUEkgc3RhdGljIFN0cmluZyBtYWtlOEJpdEZyb20xNkJpdFNvdXJjZShjb25zdCBVQ2hhcios
IHNpemVfdCk7CisgICAgdGVtcGxhdGU8c2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAgIHN0YXRp
YyBTdHJpbmcgbWFrZThCaXRGcm9tMTZCaXRTb3VyY2UoY29uc3QgVmVjdG9yPFVDaGFyLCBpbmxp
bmVDYXBhY2l0eT4mIGJ1ZmZlcikKKyAgICB7CisgICAgICAgIHJldHVybiBtYWtlOEJpdEZyb20x
NkJpdFNvdXJjZShidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICB9CisKICAgICBX
VEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFN0cmluZyBtYWtlMTZCaXRGcm9tOEJpdFNvdXJj
ZShjb25zdCBMQ2hhciosIHNpemVfdCk7CiAKICAgICAvLyBTdHJpbmc6OmZyb21VVEY4IHdpbGwg
cmV0dXJuIGEgbnVsbCBzdHJpbmcgaWYKQEAgLTYwMSw3ICs2MDcsOCBAQCBpbmxpbmUgYm9vbCBj
b2RlUG9pbnRDb21wYXJlTGVzc1RoYW4oY29uc3QgU3RyaW5nJiBhLCBjb25zdCBTdHJpbmcmIGIp
CiAgICAgcmV0dXJuIGNvZGVQb2ludENvbXBhcmUoYS5pbXBsKCksIGIuaW1wbCgpKSA8IDA7CiB9
CiAKLWlubGluZSB2b2lkIGFwcGVuZChWZWN0b3I8VUNoYXI+JiB2ZWN0b3IsIGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQordGVtcGxhdGU8c2l6ZV90IGlubGluZUNhcGFjaXR5PgoraW5saW5lIHZvaWQg
YXBwZW5kKFZlY3RvcjxVQ2hhciwgaW5saW5lQ2FwYWNpdHk+JiB2ZWN0b3IsIGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQogewogICAgIHZlY3Rvci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3Ry
aW5nLmxlbmd0aCgpKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>