<?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>90276</bug_id>
          
          <creation_ts>2012-06-29 05:37:11 -0700</creation_ts>
          <short_desc>Optimize Element::getAttributeNS() by replacing String with AtomicString</short_desc>
          <delta_ts>2012-07-27 18:21:35 -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>DOM</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>90246</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660405</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 05:37:11 -0700</bug_when>
    <thetext>In r121439, we changed the argument type of Element::getAttribute() from String to AtomicString for optimization. We can also change the argument type of Element::getAttributeNS() from String to AtomicString.

Actually this change affects V8 performance only.

[JSC without the patch]
The binding code converts a given JavaScript string to a String -&gt; the String is passed to getAttributeNS() -&gt; the String is converted to an AtomicString when it is passed to QualifiedName() constructor.

[JSC with the patch]
The binding code converts a given JavaScript string to a String -&gt; the String is converted to an AtomicString when it is passed to getAttributeNS() -&gt; the AtomicString is passed to QualifiedName() constructor.

[V8 without the patch]
The binding code retrieves a cached external String for a given JavaScript string -&gt; the String is passed to getAttributeNS() -&gt; the String is converted to AtomicString when it is passed to QualifiedName() constructor.

[V8 with the patch]
The binding code retrieves a cached external AtomicString for a given JavaScript string -&gt; the AtomicString is passed to getAttributeNS() -&gt; the AtomicString is passed to QualifiedName() constructor.

In this way, in JSC, the change affects where a String is converted to an AtomicString. On the other hand, in V8, (since the AtomicString is already cached,) we can skip the conversion step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660406</commentid>
    <comment_count>1</comment_count>
      <attachid>150156</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 05:38:20 -0700</bug_when>
    <thetext>Created attachment 150156
Performance test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660410</commentid>
    <comment_count>2</comment_count>
      <attachid>150158</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 05:43:32 -0700</bug_when>
    <thetext>Created attachment 150158
Updated performance test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660411</commentid>
    <comment_count>3</comment_count>
      <attachid>150159</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 05:44:36 -0700</bug_when>
    <thetext>Created attachment 150159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680238</commentid>
    <comment_count>4</comment_count>
      <attachid>150159</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:05:18 -0700</bug_when>
    <thetext>Comment on attachment 150159
Patch

Based on further discussion in #webkit, my current understanding is that ap is ok with these patches.  I&apos;m going to r+ them, but please give ap a chance to respond before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681293</commentid>
    <comment_count>5</comment_count>
      <attachid>150159</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-27 18:21:31 -0700</bug_when>
    <thetext>Comment on attachment 150159
Patch

Clearing flags on attachment: 150159

Committed r123944: &lt;http://trac.webkit.org/changeset/123944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681294</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-27 18:21:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150156</attachid>
            <date>2012-06-29 05:38:20 -0700</date>
            <delta_ts>2012-06-29 05:38:20 -0700</delta_ts>
            <desc>Performance test</desc>
            <filename>get_attribute_ns.html</filename>
            <type>text/html</type>
            <size>1385</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdD4KZnVuY3Rpb24gcnVuKHRpdGxl
LCByZXBlYXROdW0sIGZ1bmMsIHJvdW5kcykgewogIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0Iik7CiAgaWYgKCFyZXN1bHQpIHsKICAgIHZhciByZXN1bHQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0KTsKICB9CgogIHZhciByb3VuZHMgPSByb3VuZHMgfHwgNTsKICB2YXIgdGltZXMg
PSBbXTsKICBmb3IgKHZhciByID0gMDsgciA8IHJvdW5kczsgcisrKSB7CiAgICB2YXIgc3RhcnQg
PSBEYXRlLm5vdygpOwogICAgZnVuYyhyZXBlYXROdW0pOwogICAgdmFyIHRpbWUgPSBEYXRlLm5v
dygpIC0gc3RhcnQ7CiAgICB0aW1lcy5wdXNoKHRpbWUpOwogICAgcmVzdWx0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRpbWUpKTsKICAgIHJlc3VsdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKICB9CgogIHRpbWVzLnNvcnQoZnVuY3Rpb24g
KGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICB2YXIgbWVkaWFuID0gdGltZXNbTWF0aC5mbG9v
cih0aW1lcy5sZW5ndGggLyAyKV07CiAgdmFyIG1pbiA9IHRpbWVzWzBdOwogIHZhciBtYXggPSB0
aW1lc1t0aW1lcy5sZW5ndGggLSAxXTsKICB2YXIgc3VtID0gMDsKICBmb3IgKHZhciBpID0gMDsg
aSA8IHRpbWVzLmxlbmd0aDsgaSsrKSB7CiAgICBzdW0gKz0gdGltZXNbaV07CiAgfQoKICByZXN1
bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGl0bGUgKyAiIDogbWVhbj0i
ICsgKHN1bSAvIHJvdW5kcykudG9GaXhlZCgyKSArICJtcywgbWluPSIgKyBtaW4gKyAibXMsIG1l
ZGlhbj0iICsgbWVkaWFuICsgIm1zLCBtYXg9IiArIG1heCArICJtcyIpKTsKICByZXN1bHQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Cn0KCndpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiAgdmFyIHJlcGVhdE51bSA9IDUwMDAwMDA7CiAgdmFyIGdsb2JhbERp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZ2xvYmFsRGl2KTsKCiAgcnVuKCJnZXRBdHRyaWJ1dGVOUyIsIHJlcGVhdE51bSwgZnVu
Y3Rpb24ocmVwZWF0TnVtKSB7CiAgICB2YXIgZGl2ID0gZ2xvYmFsRGl2OwogICAgZGl2LmNsYXNz
TmFtZSA9ICJmb28iOwogICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXBlYXROdW07IGorKykgewog
ICAgICBkaXYuZ2V0QXR0cmlidXRlTlMoImNsYXNzIik7CiAgICB9CiAgfSk7Cn0KPC9zY3JpcHQ+
CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150158</attachid>
            <date>2012-06-29 05:43:32 -0700</date>
            <delta_ts>2012-06-29 05:43:32 -0700</delta_ts>
            <desc>Updated performance test</desc>
            <filename>get_attribute_ns.html</filename>
            <type>text/html</type>
            <size>1389</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdD4KZnVuY3Rpb24gcnVuKHRpdGxl
LCByZXBlYXROdW0sIGZ1bmMsIHJvdW5kcykgewogIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0Iik7CiAgaWYgKCFyZXN1bHQpIHsKICAgIHZhciByZXN1bHQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0KTsKICB9CgogIHZhciByb3VuZHMgPSByb3VuZHMgfHwgNTsKICB2YXIgdGltZXMg
PSBbXTsKICBmb3IgKHZhciByID0gMDsgciA8IHJvdW5kczsgcisrKSB7CiAgICB2YXIgc3RhcnQg
PSBEYXRlLm5vdygpOwogICAgZnVuYyhyZXBlYXROdW0pOwogICAgdmFyIHRpbWUgPSBEYXRlLm5v
dygpIC0gc3RhcnQ7CiAgICB0aW1lcy5wdXNoKHRpbWUpOwogICAgcmVzdWx0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRpbWUpKTsKICAgIHJlc3VsdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKICB9CgogIHRpbWVzLnNvcnQoZnVuY3Rpb24g
KGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICB2YXIgbWVkaWFuID0gdGltZXNbTWF0aC5mbG9v
cih0aW1lcy5sZW5ndGggLyAyKV07CiAgdmFyIG1pbiA9IHRpbWVzWzBdOwogIHZhciBtYXggPSB0
aW1lc1t0aW1lcy5sZW5ndGggLSAxXTsKICB2YXIgc3VtID0gMDsKICBmb3IgKHZhciBpID0gMDsg
aSA8IHRpbWVzLmxlbmd0aDsgaSsrKSB7CiAgICBzdW0gKz0gdGltZXNbaV07CiAgfQoKICByZXN1
bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGl0bGUgKyAiIDogbWVhbj0i
ICsgKHN1bSAvIHJvdW5kcykudG9GaXhlZCgyKSArICJtcywgbWluPSIgKyBtaW4gKyAibXMsIG1l
ZGlhbj0iICsgbWVkaWFuICsgIm1zLCBtYXg9IiArIG1heCArICJtcyIpKTsKICByZXN1bHQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Cn0KCndpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiAgdmFyIHJlcGVhdE51bSA9IDUwMDAwMDA7CiAgdmFyIGdsb2JhbERp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZ2xvYmFsRGl2KTsKCiAgcnVuKCJnZXRBdHRyaWJ1dGVOUyIsIHJlcGVhdE51bSwgZnVu
Y3Rpb24ocmVwZWF0TnVtKSB7CiAgICB2YXIgZGl2ID0gZ2xvYmFsRGl2OwogICAgZGl2LmNsYXNz
TmFtZSA9ICJmb28iOwogICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXBlYXROdW07IGorKykgewog
ICAgICBkaXYuZ2V0QXR0cmlidXRlTlMoIiIsICJjbGFzcyIpOwogICAgfQogIH0pOwp9Cjwvc2Ny
aXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150159</attachid>
            <date>2012-06-29 05:44:36 -0700</date>
            <delta_ts>2012-07-27 18:21:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90276-20120629214435.patch</filename>
            <type>text/plain</type>
            <size>4204</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY2NGFjNWQ0Yjc4YWJm
NDNhMDVjZGY1Y2Y5ZTgyMDdlMTA5ZWU1NC4uOGM2NjU5YzJkOGVhZDliZjlkM2UzNjI1ZDViMDU4
MzNmZjIzYWIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU3IEBACiAyMDEyLTA2LTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIE9wdGltaXpl
IEVsZW1lbnQ6OmdldEF0dHJpYnV0ZU5TKCkgYnkgcmVwbGFjaW5nIFN0cmluZyB3aXRoIEF0b21p
Y1N0cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTAyNzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biByMTIxNDM5LCB3ZSBjaGFuZ2VkIHRoZSBhcmd1bWVudCB0eXBlIG9mIEVsZW1lbnQ6OmdldEF0
dHJpYnV0ZSgpCisgICAgICAgIGZyb20gU3RyaW5nIHRvIEF0b21pY1N0cmluZyBmb3Igb3B0aW1p
emF0aW9uLiBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlCisgICAgICAgIGFyZ3VtZW50IHR5cGUgb2Yg
RWxlbWVudDo6Z2V0QXR0cmlidXRlTlMoKSBmcm9tIFN0cmluZyB0byBBdG9taWNTdHJpbmcuCisK
KyAgICAgICAgQWN0dWFsbHkgdGhpcyBjaGFuZ2UgYWZmZWN0cyBWOCBwZXJmb3JtYW5jZSBvbmx5
LgorCisgICAgICAgIFtKU0Mgd2l0aG91dCB0aGUgcGF0Y2hdCisgICAgICAgIFRoZSBiaW5kaW5n
IGNvZGUgY29udmVydHMgYSBnaXZlbiBKYXZhU2NyaXB0IHN0cmluZyB0byBhIFN0cmluZworICAg
ICAgICAtPiB0aGUgU3RyaW5nIGlzIHBhc3NlZCB0byBnZXRBdHRyaWJ1dGVOUygpCisgICAgICAg
IC0+IHRoZSBTdHJpbmcgaXMgY29udmVydGVkIHRvIGFuIEF0b21pY1N0cmluZyB3aGVuIGl0IGlz
IHBhc3NlZCB0bworICAgICAgICBRdWFsaWZpZWROYW1lKCkgY29uc3RydWN0b3IuCisKKyAgICAg
ICAgW0pTQyB3aXRoIHRoZSBwYXRjaF0KKyAgICAgICAgVGhlIGJpbmRpbmcgY29kZSBjb252ZXJ0
cyBhIGdpdmVuIEphdmFTY3JpcHQgc3RyaW5nIHRvIGEgU3RyaW5nCisgICAgICAgIC0+IHRoZSBT
dHJpbmcgaXMgY29udmVydGVkIHRvIGFuIEF0b21pY1N0cmluZyB3aGVuIGl0IGlzIHBhc3NlZCB0
bworICAgICAgICBnZXRBdHRyaWJ1dGVOUygpCisgICAgICAgIC0+IHRoZSBBdG9taWNTdHJpbmcg
aXMgcGFzc2VkIHRvIFF1YWxpZmllZE5hbWUoKSBjb25zdHJ1Y3Rvci4KKworICAgICAgICBbVjgg
d2l0aG91dCB0aGUgcGF0Y2hdCisgICAgICAgIFRoZSBiaW5kaW5nIGNvZGUgcmV0cmlldmVzIGEg
Y2FjaGVkIGV4dGVybmFsIFN0cmluZyBmb3IgYSBnaXZlbgorICAgICAgICBKYXZhU2NyaXB0IHN0
cmluZworICAgICAgICAtPiB0aGUgU3RyaW5nIGlzIHBhc3NlZCB0byBnZXRBdHRyaWJ1dGVOUygp
CisgICAgICAgIC0+IHRoZSBTdHJpbmcgaXMgY29udmVydGVkIHRvIEF0b21pY1N0cmluZyB3aGVu
IGl0IGlzIHBhc3NlZCB0bworICAgICAgICBRdWFsaWZpZWROYW1lKCkgY29uc3RydWN0b3IuCisK
KyAgICAgICAgW1Y4IHdpdGggdGhlIHBhdGNoXQorICAgICAgICBUaGUgYmluZGluZyBjb2RlIHJl
dHJpZXZlcyBhIGNhY2hlZCBleHRlcm5hbCBBdG9taWNTdHJpbmcgZm9yIGEgZ2l2ZW4KKyAgICAg
ICAgSmF2YVNjcmlwdCBzdHJpbmcKKyAgICAgICAgLT4gdGhlIEF0b21pY1N0cmluZyBpcyBwYXNz
ZWQgdG8gZ2V0QXR0cmlidXRlTlMoKQorICAgICAgICAtPiB0aGUgQXRvbWljU3RyaW5nIGlzIHBh
c3NlZCB0byBRdWFsaWZpZWROYW1lKCkgY29uc3RydWN0b3IuCisKKyAgICAgICAgSW4gdGhpcyB3
YXksIGluIEpTQywgdGhlIGNoYW5nZSBhZmZlY3RzIHdoZXJlIGEgU3RyaW5nIGlzIGNvbnZlcnRl
ZCB0bworICAgICAgICBhbiBBdG9taWNTdHJpbmcuIE9uIHRoZSBvdGhlciBoYW5kLCBpbiBWOCwg
KHNpbmNlIHRoZSBBdG9taWNTdHJpbmcgaXMgYWxyZWFkeQorICAgICAgICBjYWNoZWQsKSB3ZSBj
YW4gc2tpcCB0aGUgY29udmVyc2lvbiBzdGVwLgorCisgICAgICAgIFBlcmZvcm1hbmNlIHRlc3Q6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTE1MDE1OAorCisgICAg
ICAgIGdldEF0dHJpYnV0ZU5TIChDaHJvbWl1bS9MaW51eCk6CisgICAgICAgIDU3Ny44MG1zID0+
IDQ1NC42MG1zCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpnZXRBdHRyaWJ1dGVOUyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAg
ICAgICAgKEVsZW1lbnQpOgorCisyMDEyLTA2LTI5ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNo
cm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIxNTIwLgog
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjE1MjAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjQ2CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKaW5kZXggZWJjMGM5YjUzZDM1YmJjMGRmZDU4OTVlNTIxZDAwOTJhYzJhMzlmOS4u
MWMyMjAyNWYyYzdmMmEzZWNjOGYyNjFiY2UxZjBmMTI2ZjYyMjU4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcApAQCAtNjMwLDcgKzYzMCw3IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6
Z2V0QXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKICAgICByZXR1cm4g
bnVsbEF0b207CiB9CiAKLWNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6Z2V0QXR0cmlidXRl
TlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKSBj
b25zdAorY29uc3QgQXRvbWljU3RyaW5nJiBFbGVtZW50OjpnZXRBdHRyaWJ1dGVOUyhjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGdldEF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9t
LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZTRm
NzBjZmFiOGJhZmQ4YjUzOGI1Y2VmZTIyZjk4OWJiMjNlNTlhMy4uYWM3Y2MwODA3MGU2YWVhODZk
NGRmMmI1MmNlZmIyNzc2ZGY4NTRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0xNDMsNyArMTQz
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXR0cmlidXRlTlMoY29uc3QgU3RyaW5nJiBuYW1l
c3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKSBjb25zdDsKIAogICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgZ2V0QXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3Q7
Ci0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5h
bWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5hbWUpIGNvbnN0OworICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgZ2V0QXR0cmlidXRlTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VV
UkksIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKSBjb25zdDsKIAogICAgIHZvaWQgc2V0
QXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0QXR0cmlidXRlTlMoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IEF0b21pY1N0cmluZyYgcXVhbGlmaWVkTmFt
ZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYsIEZyYWdtZW50U2Ny
aXB0aW5nUGVybWlzc2lvbiA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>