<?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>135451</bug_id>
          
          <creation_ts>2014-07-30 21:25:18 -0700</creation_ts>
          <short_desc>PropertyName&apos;s internal string is always atomic.</short_desc>
          <delta_ts>2014-07-30 22:38:54 -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>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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1025909</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-07-30 21:25:18 -0700</bug_when>
    <thetext>We should exploit this more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025910</commentid>
    <comment_count>1</comment_count>
      <attachid>235805</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-07-30 21:28:39 -0700</bug_when>
    <thetext>Created attachment 235805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025914</commentid>
    <comment_count>2</comment_count>
      <attachid>235805</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-07-30 22:34:39 -0700</bug_when>
    <thetext>Comment on attachment 235805
Patch

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

&gt; Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp:57
&gt; -    AtomicStringImpl* atomicPropertyName = findAtomicString(propertyName);
&gt; +    AtomicStringImpl* atomicPropertyName = propertyName.publicName();
&gt;      return atomicPropertyName &amp;&amp; document-&gt;hasDocumentNamedItem(*atomicPropertyName);

Looks like another of those cases where we query a hash table multiple times to access a property from JavaScript :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025915</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-07-30 22:38:54 -0700</bug_when>
    <thetext>Committed r171838: &lt;http://trac.webkit.org/changeset/171838&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235805</attachid>
            <date>2014-07-30 21:28:39 -0700</date>
            <delta_ts>2014-07-30 22:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135451.diff</filename>
            <type>text/plain</type>
            <size>11114</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQyN2U2YmQuLmRmMTg2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA3LTMwICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBQcm9wZXJ0eU5hbWUncyBpbnRlcm5hbCBz
dHJpbmcgaXMgYWx3YXlzIGF0b21pYy4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEz
NTQ1MT4KKworICAgICAgICBOb3cgdGhhdCB3ZSd2ZSBtZXJnZWQgdGhlIEpTQzo6SWRlbnRpZmll
ciBhbmQgV1RGOjpBdG9taWNTdHJpbmcgdGFibGVzLAorICAgICAgICB3ZSBrbm93IHRoYXQgYW55
IHN0cmluZyB0aGF0J3MgYW4gSWRlbnRpZmllciBpcyBndWFyYW50ZWVkIHRvIGJlIGF0b21pYy4K
KworICAgICAgICBBIFByb3BlcnR5TmFtZSBjYW4gYmUgZWl0aGVyIGFuIElkZW50aWZpZXIgb3Ig
YSBQcml2YXRlTmFtZSwgYW5kIHRoZQorICAgICAgICBwcml2YXRlIG5hbWVzIGFyZSBhbHNvIGd1
YXJhbnRlZWQgdG8gYmUgYXRvbWljIGludGVybmFsbHkuCisKKyAgICAgICAgTWFrZSBQcm9wZXJ0
eU5hbWUgdmVuZCBBdG9taWNTdHJpbmdJbXBsKiBpbnN0ZWFkIG9mIFN0cmluZ0ltcGwqLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGltZS9Q
cm9wZXJ0eU5hbWUuaDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlOYW1lOjpQcm9wZXJ0eU5hbWUp
OgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWU6OnVpZCk6CisgICAgICAgIChKU0M6OlByb3Bl
cnR5TmFtZTo6cHVibGljTmFtZSk6CisKIDIwMTQtMDctMzAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgogCiAgICAgICAgIFVTRShDT05URU5UX0ZJTFRFUklORykgc2hvdWxkIGJlIEVO
QUJMRShDT05URU5UX0ZJTFRFUklORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3BlcnR5TmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvcGVydHlOYW1lLmgKaW5kZXggN2QyNDY0Yi4uYzlkZDcyMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlOYW1lLmgKQEAgLTc5LDI1ICs3OSwyNyBAQCBBTFdB
WVNfSU5MSU5FIHVpbnQzMl90IHRvVUludDMyRnJvbVN0cmluZ0ltcGwoU3RyaW5nSW1wbCogaW1w
bCkKIGNsYXNzIFByb3BlcnR5TmFtZSB7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlOYW1lKGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBtX2ltcGwocHJvcGVydHlOYW1l
LmltcGwoKSkKKyAgICAgICAgOiBtX2ltcGwoc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1wbCo+
KHByb3BlcnR5TmFtZS5pbXBsKCkpKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX2ltcGwgfHwg
bV9pbXBsLT5pc0F0b21pYygpKTsKICAgICB9CiAKICAgICBQcm9wZXJ0eU5hbWUoY29uc3QgUHJp
dmF0ZU5hbWUmIHByb3BlcnR5TmFtZSkKLSAgICAgICAgOiBtX2ltcGwocHJvcGVydHlOYW1lLnVp
ZCgpKQorICAgICAgICA6IG1faW1wbChzdGF0aWNfY2FzdDxBdG9taWNTdHJpbmdJbXBsKj4ocHJv
cGVydHlOYW1lLnVpZCgpKSkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtX2ltcGwgJiYgbV9pbXBs
LT5pc0VtcHR5VW5pcXVlKCkpOworICAgICAgICBBU1NFUlQobV9pbXBsKTsKKyAgICAgICAgQVNT
RVJUKG1faW1wbC0+aXNFbXB0eVVuaXF1ZSgpKTsKKyAgICAgICAgQVNTRVJUKG1faW1wbC0+aXNB
dG9taWMoKSk7CiAgICAgfQogCi0gICAgU3RyaW5nSW1wbCogdWlkKCkgY29uc3QKKyAgICBBdG9t
aWNTdHJpbmdJbXBsKiB1aWQoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1faW1wbDsK
ICAgICB9CiAKLSAgICBTdHJpbmdJbXBsKiBwdWJsaWNOYW1lKCkgY29uc3QKKyAgICBBdG9taWNT
dHJpbmdJbXBsKiBwdWJsaWNOYW1lKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2lt
cGwtPmlzRW1wdHlVbmlxdWUoKSA/IDAgOiBtX2ltcGw7CisgICAgICAgIHJldHVybiBtX2ltcGwt
PmlzRW1wdHlVbmlxdWUoKSA/IG51bGxwdHIgOiBtX2ltcGw7CiAgICAgfQogCiAgICAgc3RhdGlj
IGNvbnN0IHVpbnQzMl90IE5vdEFuSW5kZXggPSBVSU5UX01BWDsKQEAgLTEwOCw3ICsxMTAsNyBA
QCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIFN0cmluZ0ltcGwqIG1faW1wbDsKKyAg
ICBBdG9taWNTdHJpbmdJbXBsKiBtX2ltcGw7CiB9OwogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09
KFByb3BlcnR5TmFtZSBhLCBjb25zdCBJZGVudGlmaWVyJiBiKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAzNjY4YTljLi5kYzg3
NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTA3LTMwICBBbmRyZWFzIEtsaW5nICA8YWts
aW5nQGFwcGxlLmNvbT4KKworICAgICAgICBQcm9wZXJ0eU5hbWUncyBpbnRlcm5hbCBzdHJpbmcg
aXMgYWx3YXlzIGF0b21pYy4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzNTQ1MT4K
KworICAgICAgICBSZW1vdmUgQXRvbWljU3RyaW5nOjpmaW5kU3RyaW5nV2l0aEhhc2goKSBzaW5j
ZSBub2JvZHkgdXNlcyBpdCBhbnltb3JlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcDoKKyAgICAgICAg
KFdURjo6ZmluZFN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6
ZmluZFN0cmluZ1dpdGhIYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaDoKKwogMjAxNC0wNy0zMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgVVNFKENPTlRFTlRfRklMVEVSSU5HKSBzaG91bGQgYmUgRU5BQkxFKENPTlRFTlRf
RklMVEVSSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcu
Y3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCmluZGV4IGYwNDgwMWMu
LjI3NTIxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKQEAgLTQzMiwzMSAr
NDMyLDYgQEAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmc6OmFkZFNsb3dDYXNl
KEF0b21pY1N0cmluZ1RhYmxlJiBzdHJpbmdUYWJsZSwKICAgICByZXR1cm4gKmFkZFJlc3VsdC5p
dGVyYXRvcjsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0YXRpYyBp
bmxpbmUgSGFzaFNldDxTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGZpbmRTdHJpbmcoY29uc3QgU3Ry
aW5nSW1wbCogc3RyaW5nSW1wbCkKLXsKLSAgICBIYXNoQW5kQ2hhcmFjdGVyczxDaGFyYWN0ZXJU
eXBlPiBidWZmZXIgPSB7IHN0cmluZ0ltcGwtPmV4aXN0aW5nSGFzaCgpLCBzdHJpbmdJbXBsLT5j
aGFyYWN0ZXJzPENoYXJhY3RlclR5cGU+KCksIHN0cmluZ0ltcGwtPmxlbmd0aCgpIH07Ci0gICAg
cmV0dXJuIHN0cmluZ1RhYmxlKCkuZmluZDxIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I8Q2hh
cmFjdGVyVHlwZT4+KGJ1ZmZlcik7Ci19Ci0KLUF0b21pY1N0cmluZ0ltcGwqIEF0b21pY1N0cmlu
Zzo6ZmluZFN0cmluZ1dpdGhIYXNoKGNvbnN0IFN0cmluZ0ltcGwmIHN0cmluZ0ltcGwpCi17Ci0g
ICAgQVNTRVJUKHN0cmluZ0ltcGwuZXhpc3RpbmdIYXNoKCkpOwotCi0gICAgaWYgKCFzdHJpbmdJ
bXBsLmxlbmd0aCgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8QXRvbWljU3RyaW5nSW1w
bCo+KFN0cmluZ0ltcGw6OmVtcHR5KCkpOwotCi0gICAgQXRvbWljU3RyaW5nVGFibGVMb2NrZXIg
bG9ja2VyOwotICAgIEhhc2hTZXQ8U3RyaW5nSW1wbCo+OjppdGVyYXRvciBpdGVyYXRvcjsKLSAg
ICBpZiAoc3RyaW5nSW1wbC5pczhCaXQoKSkKLSAgICAgICAgaXRlcmF0b3IgPSBmaW5kU3RyaW5n
PExDaGFyPigmc3RyaW5nSW1wbCk7Ci0gICAgZWxzZQotICAgICAgICBpdGVyYXRvciA9IGZpbmRT
dHJpbmc8VUNoYXI+KCZzdHJpbmdJbXBsKTsKLSAgICBpZiAoaXRlcmF0b3IgPT0gc3RyaW5nVGFi
bGUoKS5lbmQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEF0
b21pY1N0cmluZ0ltcGwqPigqaXRlcmF0b3IpOwotfQotCiB2b2lkIEF0b21pY1N0cmluZzo6cmVt
b3ZlKFN0cmluZ0ltcGwqIHN0cmluZykKIHsKICAgICBBU1NFUlQoc3RyaW5nLT5pc0F0b21pYygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IDM0NWE0OGMuLjI1NmZjMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaApAQCAtODYsNyArODYsNiBAQCBwdWJsaWM6CiAg
ICAgQXRvbWljU3RyaW5nKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX3N0cmlu
ZyhXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZSkgeyB9CiAgICAgYm9vbCBpc0hhc2hUYWJsZURl
bGV0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nLmlzSGFzaFRhYmxlRGVsZXRlZFZh
bHVlKCk7IH0KIAotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3RyaW5n
SW1wbCogZmluZFN0cmluZ1dpdGhIYXNoKGNvbnN0IFN0cmluZ0ltcGwmKTsKICAgICBXVEZfRVhQ
T1JUX1NUUklOR19BUEkgc3RhdGljIEF0b21pY1N0cmluZ0ltcGwqIGZpbmQoTENoYXIqLCB1bnNp
Z25lZCBsZW5ndGgpOwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgQXRvbWljU3Ry
aW5nSW1wbCogZmluZChVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIEF0b21p
Y1N0cmluZ0ltcGwqIGZpbmQoU3RyaW5nSW1wbCogc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYzNDFm
NTMuLjlhZTg5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wNy0zMCAgQW5k
cmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUHJvcGVydHlOYW1lJ3Mg
aW50ZXJuYWwgc3RyaW5nIGlzIGFsd2F5cyBhdG9taWMuCisgICAgICAgIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xMzU0NTE+CisKKyAgICAgICAgVXNlIFByb3BlcnR5TmFtZTo6cHVibGljTmFtZSgp
IGRpcmVjdGx5IGluc3RlYWQgb2YgdGFraW5nIHRoZSBzbG93IHJvdXRlCisgICAgICAgIHRocm91
Z2ggQXRvbWljU3RyaW5nOjpmaW5kU3RyaW5nV2l0aEhhc2goKS4KKworICAgICAgICBUaGVzZSBz
dHJpbmdzIGFyZSBhbHdheXMgYXRvbWljLCBhbmQgZmluZFN0cmluZ1dpdGhIYXNoKCkgd291bGQg
dHJ1ZGdlCisgICAgICAgIHRocm91Z2ggYSBmdWxsIGhhc2ggbG9va3VwIGp1c3QgdG8gZGlzY292
ZXIgdGhhdCBpbmRlZWQsIHRoZXkgYXJlIQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmZpbmRBdG9taWNTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5hbWVkSXRlbUdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0hUTUxEb2N1bWVudDo6Y2FuR2V0SXRlbXNGb3JOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTSFRNTERvY3VtZW50OjpuYW1lR2V0dGVyKToKKwogMjAxNC0wNy0zMCAgQmVuamFtaW4gUG91
bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRWxlbWVudFJ1bGVDb2xsZWN0
b3I6IGdyb3VwIHRoZSBzaGFkb3cgdHJlZSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcAppbmRleCA2YTBkN2M5Li4zNmQxYTAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTk4LDE1ICs5OCw2IEBAIEpT
VmFsdWUganNTdHJpbmdPclVuZGVmaW5lZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFVSTCYgdXJs
KQogICAgIHJldHVybiBqc1N0cmluZ1dpdGhDYWNoZShleGVjLCB1cmwuc3RyaW5nKCkpOwogfQog
Ci1BdG9taWNTdHJpbmdJbXBsKiBmaW5kQXRvbWljU3RyaW5nKFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUpCi17Ci0gICAgU3RyaW5nSW1wbCogaW1wbCA9IHByb3BlcnR5TmFtZS5wdWJsaWNOYW1l
KCk7Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gMDsKLSAgICBBU1NFUlQoaW1wbC0+
ZXhpc3RpbmdIYXNoKCkpOwotICAgIHJldHVybiBBdG9taWNTdHJpbmc6OmZpbmRTdHJpbmdXaXRo
SGFzaCgqaW1wbCk7Ci19Ci0KIFN0cmluZyB2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVjayhFeGVj
U3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCAyZWYxMzhkLi44
MTU3ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAt
MjgzLDcgKzI4Myw2IEBAIEpTQzo6SlNWYWx1ZSBqc093bmVkU3RyaW5nT3JOdWxsKEpTQzo6RXhl
Y1N0YXRlKiwgY29uc3QgU3RyaW5nJik7CiBTdHJpbmcgcHJvcGVydHlOYW1lVG9TdHJpbmcoSlND
OjpQcm9wZXJ0eU5hbWUpOwogCiBBdG9taWNTdHJpbmcgcHJvcGVydHlOYW1lVG9BdG9taWNTdHJp
bmcoSlNDOjpQcm9wZXJ0eU5hbWUpOwotQXRvbWljU3RyaW5nSW1wbCogZmluZEF0b21pY1N0cmlu
ZyhKU0M6OlByb3BlcnR5TmFtZSk7CiAKIFN0cmluZyB2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVj
ayhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSk7IC8vIG51bGwgaWYgdGhlIHZhbHVlIGlz
IG51bGwKIFN0cmluZyB2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTsgLy8gbnVsbCBpZiB0aGUgdmFsdWUgaXMgbnVsbCBv
ciB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcAppbmRleCAyOTI1NmYzLi44ZTA3MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC04Miw3ICs4Miw3IEBAIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBuYW1lZEl0ZW1HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogc2xvdEJhc2UsIEVuY29kCiAgICAgQVNTRVJUKGRvY3VtZW50KTsKICAgICBBU1NFUlQo
ZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkpOwogCi0gICAgQXRvbWljU3RyaW5nSW1wbCogYXRv
bWljUHJvcGVydHlOYW1lID0gZmluZEF0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpOworICAgIEF0
b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZS5wdWJsaWNO
YW1lKCk7CiAgICAgaWYgKCFhdG9taWNQcm9wZXJ0eU5hbWUgfHwgIXRvSFRNTERvY3VtZW50KGRv
Y3VtZW50KS0+aGFzV2luZG93TmFtZWRJdGVtKCphdG9taWNQcm9wZXJ0eU5hbWUpKQogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogCkBAIC0yNDUsNyArMjQ1
LDcgQEAgYm9vbCBKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmpl
Y3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHkKICAgICAvLyBBbGxvdyBzaG9ydGN1dHMgbGlr
ZSAnSW1hZ2UxJyBpbnN0ZWFkIG9mIGRvY3VtZW50LmltYWdlcy5JbWFnZTEKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSB0aGlzT2JqZWN0LT5pbXBsKCkuZnJhbWUoKS0+ZG9jdW1lbnQoKTsKICAg
ICBpZiAoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkpIHsKLSAgICAgICAgQXRvbWljU3RyaW5n
SW1wbCogYXRvbWljUHJvcGVydHlOYW1lID0gZmluZEF0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUp
OworICAgICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0
eU5hbWUucHVibGljTmFtZSgpOwogICAgICAgICBpZiAoYXRvbWljUHJvcGVydHlOYW1lICYmIHRv
SFRNTERvY3VtZW50KGRvY3VtZW50KS0+aGFzV2luZG93TmFtZWRJdGVtKCphdG9taWNQcm9wZXJ0
eU5hbWUpKSB7CiAgICAgICAgICAgICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBSZWFkT25s
eSB8IERvbnREZWxldGUgfCBEb250RW51bSwgbmFtZWRJdGVtR2V0dGVyKTsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtMzIyLDcgKzMyMiw3IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCB1
CiAgICAgLy8gQWxsb3cgc2hvcnRjdXRzIGxpa2UgJ0ltYWdlMScgaW5zdGVhZCBvZiBkb2N1bWVu
dC5pbWFnZXMuSW1hZ2UxCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpc09iamVjdC0+aW1w
bCgpLmZyYW1lKCktPmRvY3VtZW50KCk7CiAgICAgaWYgKGRvY3VtZW50LT5pc0hUTUxEb2N1bWVu
dCgpKSB7Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IGZp
bmRBdG9taWNTdHJpbmcocHJvcGVydHlOYW1lKTsKKyAgICAgICAgQXRvbWljU3RyaW5nSW1wbCog
YXRvbWljUHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKTsKICAgICAgICAg
aWYgKGF0b21pY1Byb3BlcnR5TmFtZSAmJiB0b0hUTUxEb2N1bWVudChkb2N1bWVudCktPmhhc1dp
bmRvd05hbWVkSXRlbSgqYXRvbWljUHJvcGVydHlOYW1lKSkgewogICAgICAgICAgICAgc2xvdC5z
ZXRDdXN0b20odGhpc09iamVjdCwgUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0sIG5h
bWVkSXRlbUdldHRlcik7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCBiNmVi
YzRjLi4xYWQzYzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MRG9jdW1lbnRDdXN0b20uY3BwCkBAIC01Myw3ICs1Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKIGJvb2wgSlNIVE1MRG9jdW1lbnQ6OmNhbkdldEl0ZW1zRm9yTmFtZShFeGVj
U3RhdGUqLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
KQogewotICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IGZpbmRBdG9t
aWNTdHJpbmcocHJvcGVydHlOYW1lKTsKKyAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9w
ZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWUucHVibGljTmFtZSgpOwogICAgIHJldHVybiBhdG9taWNQ
cm9wZXJ0eU5hbWUgJiYgZG9jdW1lbnQtPmhhc0RvY3VtZW50TmFtZWRJdGVtKCphdG9taWNQcm9w
ZXJ0eU5hbWUpOwogfQogCkBAIC02Miw3ICs2Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTSFRNTERv
Y3VtZW50OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBF
CiAgICAgSlNIVE1MRG9jdW1lbnQqIHRoaXNPYmogPSBqc0Nhc3Q8SlNIVE1MRG9jdW1lbnQqPihz
bG90QmFzZSk7CiAgICAgSFRNTERvY3VtZW50JiBkb2N1bWVudCA9IHRoaXNPYmotPmltcGwoKTsK
IAotICAgIEF0b21pY1N0cmluZ0ltcGwqIGF0b21pY1Byb3BlcnR5TmFtZSA9IGZpbmRBdG9taWNT
dHJpbmcocHJvcGVydHlOYW1lKTsKKyAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9wZXJ0
eU5hbWUgPSBwcm9wZXJ0eU5hbWUucHVibGljTmFtZSgpOwogICAgIGlmICghYXRvbWljUHJvcGVy
dHlOYW1lIHx8ICFkb2N1bWVudC5oYXNEb2N1bWVudE5hbWVkSXRlbSgqYXRvbWljUHJvcGVydHlO
YW1lKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIAo=
</data>
<flag name="review"
          id="260382"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>