<?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>104082</bug_id>
          
          <creation_ts>2012-12-04 21:01:33 -0800</creation_ts>
          <short_desc>[V8] Replace String::New(&quot;symbol&quot;) with String::NewSymbol(&quot;symbol&quot;) (part 2)</short_desc>
          <delta_ts>2012-12-05 11:40:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>kbr</cc>
    
    <cc>ulan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>783341</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 21:01:33 -0800</bug_when>
    <thetext>V8 can look up symbols faster than strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783346</commentid>
    <comment_count>1</comment_count>
      <attachid>177661</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 21:03:24 -0800</bug_when>
    <thetext>Created attachment 177661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783350</commentid>
    <comment_count>2</comment_count>
      <attachid>177661</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-04 21:07:10 -0800</bug_when>
    <thetext>Comment on attachment 177661
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:40
&gt; +    v8::Handle&lt;v8::String&gt; key = v8::String::NewSymbol(hiddenCopyMethodName);

What is hiddenCopyMethodName all about?  Why doesn&apos;t this just use V8HiddenValueNames?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783351</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-04 21:08:04 -0800</bug_when>
    <thetext>@haraken: Would you be willing to make a followup patch to switch from the ad-hoc constant to V8HiddenPropertyName?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783352</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 21:08:29 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; @haraken: Would you be willing to make a followup patch to switch from the ad-hoc constant to V8HiddenPropertyName?

Sure!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783449</commentid>
    <comment_count>5</comment_count>
      <attachid>177661</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 00:02:27 -0800</bug_when>
    <thetext>Comment on attachment 177661
Patch

Clearing flags on attachment: 177661

Committed r136645: &lt;http://trac.webkit.org/changeset/136645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783450</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 00:02:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783942</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-12-05 11:40:44 -0800</bug_when>
    <thetext>Ulan added the optimization to ArrayBufferView; while I reviewed it, I didn&apos;t know about V8HiddenPropertyName. Sorry about that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177661</attachid>
            <date>2012-12-04 21:03:24 -0800</date>
            <delta_ts>2012-12-05 00:02:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104082-20121205140048.patch</filename>
            <type>text/plain</type>
            <size>11921</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UyYjg4NWYwZDA4NDYw
ZDZjYjRhNzRlMmQ3NzU1YTZhNzBiMTA5ZC4uN2RlYzI3ZWMxMzc0ZDBlZjZlM2RkOTk5ZDgzYWRi
YmFiYTVhOTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDEyLTEyLTA0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFJlcGxhY2Ug
U3RyaW5nOjpOZXcoInN5bWJvbCIpIHdpdGggU3RyaW5nOjpOZXdTeW1ib2woInN5bWJvbCIpIChw
YXJ0IDIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQwODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBW
OCBjYW4gbG9vayB1cCBzeW1ib2xzIGZhc3RlciB0aGFuIHN0cmluZ3MuCisKKyAgICAgICAgTm8g
dGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRI
aWRkZW5Db3B5TWV0aG9kKToKKyAgICAgICAgKFdlYkNvcmU6Omluc3RhbGxIaWRkZW5Db3B5TWV0
aG9kKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdFdlYkdMQXJyYXkpOgorICAgICAgICAo
V2ViQ29yZTo6c2V0V2ViR0xBcnJheUhlbHBlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Q3Vz
dG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
aWFsb2dIYW5kbGVyOjpkaWFsb2dDcmVhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRpYWxvZ0hh
bmRsZXI6OnJldHVyblZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhHZW9s
b2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVQb3NpdGlvbk9wdGlv
bnMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxEb2N1bWVudDo6d3JhcEluU2hhZG93T2JqZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4SFRNTERvY3VtZW50OjpvcGVuQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9u
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4U1FMVHJhbnNhY3Rpb246OmV4ZWN1dGVT
cWxDYWxsYmFjayk6CisKKzIwMTItMTItMDQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFtWOF0gUmVtb3ZlIEludGVnZXJDYWNoZTo6bV9pbml0aWFsaXpl
ZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzOTc4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5
QnVmZmVyVmlld0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwCmluZGV4IDdjZWYyYzczZDdjMzAyZjc4MWFmMTA0
ZjE1ZjkxZTc0ZmY4MGMzNTguLmQyMWNlYjYyMDYzOWYwNWNhYTlhNDFkZmM5OWMxNzQ4MzUxMjk5
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5
QnVmZmVyVmlld0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmNwcApAQCAtMzcsNyArMzcsNyBAQCBjb25zdCBj
aGFyIGhpZGRlbkNvcHlNZXRob2ROYW1lW10gPSAiVHlwZWRBcnJheTo6SGlkZGVuQ29weTo6OE5r
WlZxIjsKIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdldEhpZGRlbkNvcHlNZXRob2Qodjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBwcm90b3R5cGUpCiB7Ci0gICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5n
PiBrZXkgPSB2ODo6U3RyaW5nOjpOZXcoaGlkZGVuQ29weU1ldGhvZE5hbWUpOworICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4ga2V5ID0gdjg6OlN0cmluZzo6TmV3U3ltYm9sKGhpZGRlbkNvcHlN
ZXRob2ROYW1lKTsKICAgICByZXR1cm4gcHJvdG90eXBlLT5HZXRIaWRkZW5WYWx1ZShrZXkpOwog
fQogCkBAIC00OCw3ICs0OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpbnN0YWxsSGlkZGVu
Q29weU1ldGhvZCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHByb3RvdHlwZSkKICAgICAgICAgICAg
ICAgICAgIHNpemVvZihWOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdF9qcykpOwogICAgIHY4
OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmlu
Zyhzb3VyY2UpKTsKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUgPSBzY3JpcHQtPlJ1
bigpOwotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gdjg6OlN0cmluZzo6TmV3KGhp
ZGRlbkNvcHlNZXRob2ROYW1lKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IHY4
OjpTdHJpbmc6Ok5ld1N5bWJvbChoaWRkZW5Db3B5TWV0aG9kTmFtZSk7CiAgICAgcHJvdG90eXBl
LT5TZXRIaWRkZW5WYWx1ZShrZXksIHZhbHVlKTsKICAgICByZXR1cm4gdmFsdWU7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZp
ZXdDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVm
ZmVyVmlld0N1c3RvbS5oCmluZGV4IGY5YmViMzllNGUzZTlmY2Y5OTEzOGE3ZTczNzBjMGE5MzZm
YjhkMDcuLjM2ODM4ZjE2Njk3MTE1ZWU2YWVmZjc4MDMwMzljZWZlYTYwMGVlYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1
c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVm
ZmVyVmlld0N1c3RvbS5oCkBAIC0xNzEsNyArMTcxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGNvbnN0cnVjdFdlYkdMQXJyYXkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgV3JhcHBlclR5
cGUKICAgICAgICAgc3JjQXJyYXkgPSBhcmdzWzBdLT5Ub09iamVjdCgpOwogICAgICAgICBpZiAo
c3JjQXJyYXkuSXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuIHRocm93VHlwZUVycm9yKCJD
b3VsZCBub3QgY29udmVydCBhcmd1bWVudCAwIHRvIGFuIGFycmF5IiwgYXJncy5HZXRJc29sYXRl
KCkpOwotICAgICAgICBsZW4gPSB0b1VJbnQzMihzcmNBcnJheS0+R2V0KHY4OjpTdHJpbmc6Ok5l
dygibGVuZ3RoIikpKTsKKyAgICAgICAgbGVuID0gdG9VSW50MzIoc3JjQXJyYXktPkdldCh2ODo6
U3RyaW5nOjpOZXdTeW1ib2woImxlbmd0aCIpKSk7CiAgICAgICAgIGRvSW5zdGFudGlhdGlvbiA9
IHRydWU7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYm9vbCBvayA9IGZhbHNlOwpAQCAtMjQ0LDcg
KzI0NCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRXZWJHTEFycmF5SGVscGVyKGNvbnN0
IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgICAgIHVpbnQzMl90IG9mZnNldCA9IDA7CiAgICAg
ICAgIGlmIChhcmdzLkxlbmd0aCgpID09IDIpCiAgICAgICAgICAgICBvZmZzZXQgPSB0b1VJbnQz
MihhcmdzWzFdKTsKLSAgICAgICAgdWludDMyX3QgbGVuZ3RoID0gdG9VSW50MzIoYXJyYXktPkdl
dCh2ODo6U3RyaW5nOjpOZXcoImxlbmd0aCIpKSk7CisgICAgICAgIHVpbnQzMl90IGxlbmd0aCA9
IHRvVUludDMyKGFycmF5LT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJsZW5ndGgiKSkpOwog
ICAgICAgICBpZiAoIWltcGwtPmNoZWNrSW5ib3VuZERhdGEob2Zmc2V0LCBsZW5ndGgpKQogICAg
ICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodjhSYW5nZUVycm9yLCBvdXRPZlJhbmdlTGVuZ3Ro
QW5kT2Zmc2V0LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgICAgIGJvb2wgY29waWVkID0gY29w
eUVsZW1lbnRzKGFyZ3MuSG9sZGVyKCksIGFycmF5LCBsZW5ndGgsIG9mZnNldCwgYXJncy5HZXRJ
c29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKaW5kZXggM2EzZTlmNzJmOWMyYWI3
NTUwNTE2ZWU5ZjEzYTM4NDFmNzc5NDVjNC4uMWJhMDNhNDQ1Y2NkZjc5ZjRjZDlkMWUwYjAxZTEx
ODBiYjA5M2EyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCkBAIC01OCw3ICs1OCw3IEBA
IFY4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjp+VjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIoKQogU3Ry
aW5nIFY4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkoY29uc3QgU3Ry
aW5nJiBwcmVmaXgpCiB7CiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGxvb2t1cE5hbWVz
cGFjZVVSSUZ1bmM7Ci0gICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBsb29rdXBOYW1lc3BhY2VV
UklOYW1lID0gdjg6OlN0cmluZzo6TmV3KCJsb29rdXBOYW1lc3BhY2VVUkkiKTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpTdHJpbmc+IGxvb2t1cE5hbWVzcGFjZVVSSU5hbWUgPSB2ODo6U3RyaW5nOjpO
ZXdTeW1ib2woImxvb2t1cE5hbWVzcGFjZVVSSSIpOwogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIHJl
c29sdmVyIGhhcyBhIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVkIGxvb2t1cE5hbWVzcGFjZVVSSS4K
ICAgICBpZiAobV9yZXNvbHZlci0+SGFzKGxvb2t1cE5hbWVzcGFjZVVSSU5hbWUpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3Vz
dG9tLmNwcAppbmRleCA4NGM2Njg1MzJiZjg4ZjI1Yzg4NTIzYzU3Njk3MjAwOGYyZTY3Y2VjLi42
NmUyMjY4ODdiYWJhYmNmNzBlNTllMmQ3YzVmY2MyNjFkODI4N2E5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTQwMyw3ICs0MDMsNyBAQCBpbmxpbmUgdm9pZCBEaWFsb2dIYW5kbGVyOjpkaWFsb2dDcmVh
dGVkKERPTVdpbmRvdyogZGlhbG9nRnJhbWUpCiAgICAgaWYgKG1fZGlhbG9nQXJndW1lbnRzLklz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZSht
X2RpYWxvZ0NvbnRleHQpOwotICAgIG1fZGlhbG9nQ29udGV4dC0+R2xvYmFsKCktPlNldCh2ODo6
U3RyaW5nOjpOZXcoImRpYWxvZ0FyZ3VtZW50cyIpLCBtX2RpYWxvZ0FyZ3VtZW50cyk7CisgICAg
bV9kaWFsb2dDb250ZXh0LT5HbG9iYWwoKS0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZGlh
bG9nQXJndW1lbnRzIiksIG1fZGlhbG9nQXJndW1lbnRzKTsKIH0KIAogaW5saW5lIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBEaWFsb2dIYW5kbGVyOjpyZXR1cm5WYWx1ZSgpIGNvbnN0CkBAIC00MTEs
NyArNDExLDcgQEAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBEaWFsb2dIYW5kbGVyOjpy
ZXR1cm5WYWx1ZSgpIGNvbnN0CiAgICAgaWYgKG1fZGlhbG9nQ29udGV4dC5Jc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNj
b3BlKG1fZGlhbG9nQ29udGV4dCk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJldHVyblZh
bHVlID0gbV9kaWFsb2dDb250ZXh0LT5HbG9iYWwoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ldygicmV0
dXJuVmFsdWUiKSk7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJldHVyblZhbHVlID0gbV9k
aWFsb2dDb250ZXh0LT5HbG9iYWwoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgicmV0dXJu
VmFsdWUiKSk7CiAgICAgaWYgKHJldHVyblZhbHVlLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IHY4OjpVbmRlZmluZWQoKTsKICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhHZW9sb2NhdGlvbkN1c3RvbS5j
cHAKaW5kZXggZWMyZjU0ZjI3N2Q3YmNiM2EyMmNkNGI1ZTE4Yzg5OGVhMmJmNWEzYS4uNDJmMTNk
ZmNiNDIzNjIyNzg5YjA2ZGI0MDhjYWQ1N2YwZTlmODJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4R2VvbG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEdlb2xvY2F0aW9uQ3VzdG9tLmNwcApA
QCAtNjEsNyArNjEsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IGNyZWF0
ZVBvc2l0aW9uT3B0aW9ucyh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YQogICAgIC8vIC0gSWYgdGhl
IGdldHRlciBvciB0aGUgcHJvcGVydHkncyB2YWx1ZU9mIG1ldGhvZCB0aHJvd3MgYW4gZXhjZXB0
aW9uLCB3ZQogICAgIC8vICAgcXVpdCBzbyBhcyBub3QgdG8gcmlzayBvdmVyd3JpdGluZyB0aGUg
ZXhjZXB0aW9uLgogICAgIC8vIC0gSWYgdGhlIHZhbHVlIGlzIGFic2VudCBvciB1bmRlZmluZWQs
IHdlIGRvbid0IG92ZXJyaWRlIHRoZSBkZWZhdWx0LgotICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IGVuYWJsZUhpZ2hBY2N1cmFjeVZhbHVlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJl
bmFibGVIaWdoQWNjdXJhY3kiKSk7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZW5hYmxlSGln
aEFjY3VyYWN5VmFsdWUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImVuYWJs
ZUhpZ2hBY2N1cmFjeSIpKTsKICAgICBpZiAoZW5hYmxlSGlnaEFjY3VyYWN5VmFsdWUuSXNFbXB0
eSgpKSB7CiAgICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOwogICAgICAgICByZXR1cm4gMDsKQEAg
LTc1LDcgKzc1LDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8UG9zaXRpb25PcHRpb25zPiBjcmVhdGVQ
b3NpdGlvbk9wdGlvbnModjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmEKICAgICAgICAgb3B0aW9ucy0+
c2V0RW5hYmxlSGlnaEFjY3VyYWN5KGVuYWJsZUhpZ2hBY2N1cmFjeUJvb2xlYW4tPlZhbHVlKCkp
OwogICAgIH0KIAotICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHRpbWVvdXRWYWx1ZSA9IG9iamVj
dC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygidGltZW91dCIpKTsKKyAgICB2ODo6TG9jYWw8djg6OlZh
bHVlPiB0aW1lb3V0VmFsdWUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInRp
bWVvdXQiKSk7CiAgICAgaWYgKHRpbWVvdXRWYWx1ZS5Jc0VtcHR5KCkpIHsKICAgICAgICAgc3Vj
Y2VlZGVkID0gZmFsc2U7CiAgICAgICAgIHJldHVybiAwOwpAQCAtOTksNyArOTksNyBAQCBzdGF0
aWMgUGFzc1JlZlB0cjxQb3NpdGlvbk9wdGlvbnM+IGNyZWF0ZVBvc2l0aW9uT3B0aW9ucyh2ODo6
TG9jYWw8djg6OlZhbHVlPiB2YQogICAgICAgICB9CiAgICAgfQogCi0gICAgdjg6OkxvY2FsPHY4
OjpWYWx1ZT4gbWF4aW11bUFnZVZhbHVlID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJt
YXhpbXVtQWdlIikpOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IG1heGltdW1BZ2VWYWx1ZSA9
IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgibWF4aW11bUFnZSIpKTsKICAgICBp
ZiAobWF4aW11bUFnZVZhbHVlLklzRW1wdHkoKSkgewogICAgICAgICBzdWNjZWVkZWQgPSBmYWxz
ZTsKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCA4ZWRlNzA3Mzhj
Yjg3NDYyYWI5NjE4NTYxMDdiZDkyMzliYTgxYWI3Li5jMzhhYmM0OTBmN2FiOGExNDJjNTYxMzE2
ODk2NTdiNzQ5Nzc2ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IFY4SFRNTERvY3VtZW50Ojp3cmFwSW5TaGFkb3dPYmplY3Qo
djg6OkxvY2FsPHY4OjpPYmplY3Q+IHcKICAgICAgICAgc2hhZG93VGVtcGxhdGUgPSB2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT46Ok5ldyh2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6
TmV3KCkpOwogICAgICAgICBpZiAoc2hhZG93VGVtcGxhdGUuSXNFbXB0eSgpKQogICAgICAgICAg
ICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6T2JqZWN0PigpOwotICAgICAgICBzaGFkb3dUZW1wbGF0
ZS0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ldygiSFRNTERvY3VtZW50IikpOworICAgICAg
ICBzaGFkb3dUZW1wbGF0ZS0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiSFRN
TERvY3VtZW50IikpOwogICAgICAgICBzaGFkb3dUZW1wbGF0ZS0+SW5oZXJpdChWOEhUTUxEb2N1
bWVudDo6R2V0VGVtcGxhdGUoKSk7CiAgICAgICAgIHNoYWRvd1RlbXBsYXRlLT5JbnN0YW5jZVRl
bXBsYXRlKCktPlNldEludGVybmFsRmllbGRDb3VudChWOEhUTUxEb2N1bWVudDo6aW50ZXJuYWxG
aWVsZENvdW50KTsKICAgICB9CkBAIC0xNDUsNyArMTQ1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4SFRNTERvY3VtZW50OjpvcGVuQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKICAgICAgICAgICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgICAgICAgICAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgICAg
ICAgICAgLy8gR2V0IHRoZSBvcGVuIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0LgotICAg
ICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZnVuY3Rpb24gPSBnbG9iYWwtPkdldCh2ODo6
U3RyaW5nOjpOZXcoIm9wZW4iKSk7CisgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBm
dW5jdGlvbiA9IGdsb2JhbC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgib3BlbiIpKTsKICAg
ICAgICAgICAgIC8vIElmIHRoZSBvcGVuIHByb3BlcnR5IGlzIG5vdCBhIGZ1bmN0aW9uIHRocm93
IGEgdHlwZSBlcnJvci4KICAgICAgICAgICAgIGlmICghZnVuY3Rpb24tPklzRnVuY3Rpb24oKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dUeXBlRXJyb3IoIm9wZW4gaXMgbm90IGEgZnVu
Y3Rpb24iLCBhcmdzLkdldElzb2xhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVj
dG9yLmNwcAppbmRleCBjZmI5NzZmZDc3NjgzY2FlOWZkMDEwY2I1MzNhOTkxMmM4Y2M0MDIxLi5k
YTg2YTY2NTU5ZTM0OGI2MmQ1OTgwMGEzOTVlZGRlZTZiNjJjMGEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRU
ZW1wbGF0ZSgKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0g
cmVzdWx0LT5JbnN0YW5jZVRlbXBsYXRlKCk7CiAgICAgaW5zdGFuY2UtPlNldEludGVybmFsRmll
bGRDb3VudChWOEhUTUxJbWFnZUVsZW1lbnQ6OmludGVybmFsRmllbGRDb3VudCk7Ci0gICAgcmVz
dWx0LT5TZXRDbGFzc05hbWUodjg6OlN0cmluZzo6TmV3KCJIVE1MSW1hZ2VFbGVtZW50IikpOwor
ICAgIHJlc3VsdC0+U2V0Q2xhc3NOYW1lKHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiSFRNTEltYWdl
RWxlbWVudCIpKTsKICAgICByZXN1bHQtPkluaGVyaXQoVjhIVE1MSW1hZ2VFbGVtZW50OjpHZXRU
ZW1wbGF0ZSgpKTsKIAogICAgIGNhY2hlZFRlbXBsYXRlID0gdjg6OlBlcnNpc3RlbnQ8djg6OkZ1
bmN0aW9uVGVtcGxhdGU+OjpOZXcocmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAppbmRl
eCBiNmJjNmFjYTI1M2ZiZDNiY2U0ZDUwNjhmMzc5MGNiNDA5YThjM2YyLi5hNDAxMzcyNTJjMDVm
ZmY4ZmM5M2NlMTRiOThiYWIxYzk0YTJkYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25DdXN0b20uY3BwCkBA
IC02Myw3ICs2Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNRTFRyYW5zYWN0aW9uOjpl
eGVjdXRlU3FsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKIAogICAgICAgICB1aW50MzJf
dCBzcWxBcmdzTGVuZ3RoID0gMDsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHNxbEFy
Z3NPYmplY3QgPSBhcmdzWzFdLT5Ub09iamVjdCgpOwotICAgICAgICBWOFRSWUNBVENIKHY4OjpM
b2NhbDx2ODo6VmFsdWU+LCBsZW5ndGgsIHNxbEFyZ3NPYmplY3QtPkdldCh2ODo6U3RyaW5nOjpO
ZXcoImxlbmd0aCIpKSk7CisgICAgICAgIFY4VFJZQ0FUQ0godjg6OkxvY2FsPHY4OjpWYWx1ZT4s
IGxlbmd0aCwgc3FsQXJnc09iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgibGVuZ3Ro
IikpKTsKIAogICAgICAgICBpZiAoaXNVbmRlZmluZWRPck51bGwobGVuZ3RoKSkKICAgICAgICAg
ICAgIHNxbEFyZ3NMZW5ndGggPSBzcWxBcmdzT2JqZWN0LT5HZXRQcm9wZXJ0eU5hbWVzKCktPkxl
bmd0aCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>