<?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>9017</bug_id>
          
          <creation_ts>2006-05-20 14:18:58 -0700</creation_ts>
          <short_desc>Weather2.css incorrectly treated as JavaScript file @ www.live.com</short_desc>
          <delta_ts>2006-05-28 05:44:45 -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>Page Loading</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.live.com</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>6628</blocked>
    
    <blocked>7788</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>sjoerdmulder</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>43012</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-05-20 14:18:58 -0700</bug_when>
    <thetext>1. Navigate to www.live.com
2. --&gt; JS Console: SyntaxError: Parse error for Weather2.css

gdb confirms that the file is treated as a CachedScript instead of a CachedCSSStyleSheet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43013</commentid>
    <comment_count>1</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-05-20 14:59:41 -0700</bug_when>
    <thetext>Strangely, it looks like the JS code creates a script element to load the CSS file:

URL: &quot;http://www.live.com/1.0.7.122/gadgets/Weather/Weather2.css&quot;

(gdb) p this-&gt;Node::toString(exec).ascii()
$44 = 0x138d9c00 &quot;\n{\n  el = document.createElement(\&quot;script\&quot;);\n  el.onreadystatechange = doCallback;\n  el.src = o.url;\n  if (!Web.Browser.isIE())\n    {\n      el.readyState = \&quot;loaded\&quot;;\n      doCallback();\n    }\n}&quot;

So the question is, why does the JS code take this path in Safari but not FF? Or does FF just know that CSS is CSS, even if it&apos;s loaded into a script element? (Seems unlikely.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43240</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-05-22 22:31:20 -0700</bug_when>
    <thetext>Anders mentioned on IRC that the script gets confused because we lack support for namespace attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43273</commentid>
    <comment_count>3</comment_count>
      <attachid>8482</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-05-23 08:49:43 -0700</bug_when>
    <thetext>Created attachment 8482
Patch

This patch makes us match Firefox in terms of how getAttribute/setAttribute etc work with attributes that have prefixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43275</commentid>
    <comment_count>4</comment_count>
      <attachid>8482</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-05-23 09:12:48 -0700</bug_when>
    <thetext>Comment on attachment 8482
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43806</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-05-28 00:47:06 -0700</bug_when>
    <thetext>*** Bug 7677 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8482</attachid>
            <date>2006-05-23 08:49:43 -0700</date>
            <delta_ts>2006-05-23 09:12:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>attribute-namespaces.txt</filename>
            <type>text/plain</type>
            <size>18234</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2RvbS9zdmcvbGV2ZWwzL3hwYXRoL1hQYXRoTlNSZXNvbHZlcl9s
b29rdXBOYW1lc3BhY2VVUklfbmlzdF9kbXN0Yy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZG9tL3N2Zy9sZXZlbDMveHBhdGgvWFBhdGhOU1Jlc29sdmVyX2xvb2t1cE5h
bWVzcGFjZVVSSV9uaXN0X2Rtc3RjLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTQ1MzIpCisrKyBM
YXlvdXRUZXN0cy9kb20vc3ZnL2xldmVsMy94cGF0aC9YUGF0aE5TUmVzb2x2ZXJfbG9va3VwTmFt
ZXNwYWNlVVJJX25pc3RfZG1zdGMtZXhwZWN0ZWQudHh0CShhcmJldHNrb3BpYSkKQEAgLTYsNSAr
Niw1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAzNDV4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAzNDU6ICJYUGF0aE5TUmVzb2x2ZXJfbG9va3VwTmFtZXNwYWNlVVJJX25pc3RfZG1zdGMi
CiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwwKSBzaXplIDc4NXgxOAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Njl4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA0Njk6ICJkbXN0Y2VxdWFsOiBhc3NlcnRFcXVhbHMgZmFpbGVk
LCBhY3R1YWwgaHR0cDovL3d3dy51c2EuY29tLCBleHBlY3RlZCBudWxsLiIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzQxeDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMzQxOiAiZG1zdGNlcXVhbDogYXNzZXJ0RXF1YWxzIGZhaWxlZCwgYWN0
dWFsICwgZXhwZWN0ZWQgbnVsbC4iCkluZGV4OiBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTE3LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVy
aTE3LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTQ1MzIpCisrKyBMYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTE3LWV4cGVjdGVkLnR4dAkoYXJi
ZXRza29waWEpCkBAIC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RP
TS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkxNwotU3RhdHVz
CWVycm9yCi1NZXNzYWdlCVR5cGVFcnJvcjogTnVsbCB2YWx1ZQorU3RhdHVzCVN1Y2Nlc3MKSW5k
ZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwcHJlZml4MjAt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlbG9va3VwcHJlZml4MjAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDUzMikKKysr
IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwcHJlZml4MjAtZXhw
ZWN0ZWQudHh0CShhcmJldHNrb3BpYSkKQEAgLTEsMyArMSwyIEBACiBUZXN0CWh0dHA6Ly93d3cu
dzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cHByZWZpeDIw
Ci1TdGF0dXMJZXJyb3IKLU1lc3NhZ2UJVHlwZUVycm9yOiBOdWxsIHZhbHVlCitTdGF0dXMJU3Vj
Y2VzcwpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVyZW1vdmVj
aGlsZDI5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9kb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZXJlbW92ZWNoaWxkMjktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDUz
MikKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlcmVtb3ZlY2hpbGQy
OS1leHBlY3RlZC50eHQJKGFyYmV0c2tvcGlhKQpAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDov
L3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlcmVtb3ZlY2hp
bGQyOQotU3RhdHVzCWVycm9yCi1NZXNzYWdlCVR5cGVFcnJvcjogTnVsbCB2YWx1ZQorU3RhdHVz
CVN1Y2Nlc3MKSW5kZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9v
a3VwcHJlZml4MTctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwcHJlZml4MTctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNDUzMikKKysrIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3Vw
cHJlZml4MTctZXhwZWN0ZWQudHh0CShhcmJldHNrb3BpYSkKQEAgLTEsMyArMSwyIEBACiBUZXN0
CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9kZWxv
b2t1cHByZWZpeDE3Ci1TdGF0dXMJZXJyb3IKLU1lc3NhZ2UJVHlwZUVycm9yOiBOdWxsIHZhbHVl
CitTdGF0dXMJU3VjY2VzcwpJbmRleDogTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVsb29rdXBuYW1lc3BhY2V1cmkyMC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkyMC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NTMyKQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkyMC1leHBlY3RlZC50eHQJKGFyYmV0c2tv
cGlhKQpAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVz
dC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMjAKLVN0YXR1cwllcnJv
cgotTWVzc2FnZQlUeXBlRXJyb3I6IE51bGwgdmFsdWUKK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBM
YXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZXJlbW92ZWNoaWxkMjgtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlcmVtb3ZlY2hpbGQyOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0NTMyKQorKysgTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVyZW1vdmVjaGlsZDI4LWV4cGVjdGVkLnR4
dAkoYXJiZXRza29waWEpCkBAIC0xLDMgKzEsMiBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8y
MDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVyZW1vdmVjaGlsZDI4Ci1TdGF0dXMJ
ZXJyb3IKLU1lc3NhZ2UJVHlwZUVycm9yOiBOdWxsIHZhbHVlCitTdGF0dXMJU3VjY2VzcwpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTQ1MzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKGFyYmV0c2tv
cGlhKQpAQCAtMSwzICsxLDI3IEBACisyMDA2LTA1LTIzICBBbmRlcnMgQ2FybHNzb24gIDxhY2Fy
bHNzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSB0ZXN0cyBmb3IKKyAgICAgICAgCisgICAgICAgIGh0dHA6Ly9idWd6
aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxNworICAgICAgICBXZWF0aGVy
Mi5jc3MgaW5jb3JyZWN0bHkgdHJlYXRlZCBhcyBKYXZhU2NyaXB0IGZpbGUgQCB3d3cubGl2ZS5j
b20KKyAgICAgICAgCisgICAgICAgICogZG9tL3N2Zy9sZXZlbDMveHBhdGgvWFBhdGhOU1Jlc29s
dmVyX2xvb2t1cE5hbWVzcGFjZVVSSV9uaXN0X2Rtc3RjLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
VGhpcyBmYWlscyBpbiBhIGRpZmZlcmVudCB3YXkgbm93LgorICAgICAgICAKKyAgICAgICAgKiBk
b20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTE3LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVy
aTIwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxv
b2t1cHByZWZpeDE3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWxvb2t1cHByZWZpeDIwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwv
bGV2ZWwzL2NvcmUvbm9kZXJlbW92ZWNoaWxkMjgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGRv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlcmVtb3ZlY2hpbGQyOS1leHBlY3RlZC50eHQ6CisgICAg
ICAgIFRoZXNlIG5vdyBwYXNzLgorICAgICAgICAKKyAgICAgICAgKiBmYXN0L2RvbS9hdHRyaWJ1
dGUtbmFtZXNwYWNlcy1nZXQtc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vYXR0cmlidXRlLW5hbWVzcGFjZXMtZ2V0LXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAg
QWRkIG5ldyB0ZXN0cy4KKwogMjAwNi0wNS0yMiAgSnVzdGluIEdhcmNpYSAgPGp1c3Rpbi5nYXJj
aWFAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGxldmkKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL2F0dHJpYnV0ZS1uYW1lc3BhY2VzLWdldC1zZXQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2F0dHJpYnV0ZS1uYW1lc3BhY2VzLWdl
dC1zZXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
YXR0cmlidXRlLW5hbWVzcGFjZXMtZ2V0LXNldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzAgQEAKK1BBU1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdmb286YXR0cicpIHNo
b3VsZCBiZSB0ZXN0IGFuZCBpcy4KK1BBU1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdhdHRyJykg
c2hvdWxkIGJlIHRlc3QyIGFuZCBpcy4KK1BBU1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdiYXI6
YXR0cicpIHNob3VsZCBiZSBudWxsIGFuZCBpcy4KK1BBU1M6IGRvY0VsZW0uaGFzQXR0cmlidXRl
KCdmb286YXR0cicpIHNob3VsZCBiZSB0cnVlIGFuZCBpcy4KK1BBU1M6IGRvY0VsZW0uaGFzQXR0
cmlidXRlKCdhdHRyJykgc2hvdWxkIGJlIHRydWUgYW5kIGlzLgorUEFTUzogZG9jRWxlbS5oYXNB
dHRyaWJ1dGUoJ2JhcjphdHRyJykgc2hvdWxkIGJlIGZhbHNlIGFuZCBpcy4KK1BBU1M6IGRvY0Vs
ZW0uZ2V0QXR0cmlidXRlTm9kZSgnZm9vOmF0dHInKS52YWx1ZSBzaG91bGQgYmUgdGVzdCBhbmQg
aXMuCitQQVNTOiBkb2NFbGVtLmdldEF0dHJpYnV0ZU5vZGUoJ2JhcjphdHRyJykgc2hvdWxkIGJl
IG51bGwgYW5kIGlzLgorUEFTUzogZG9jRWxlbS5hdHRyaWJ1dGVzLmxlbmd0aCBzaG91bGQgYmUg
MyBhbmQgaXMuCitQQVNTOiBkb2NFbGVtLmF0dHJpYnV0ZXMubGVuZ3RoIHNob3VsZCBiZSAzIGFu
ZCBpcy4KK1BBU1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdmb286YXR0cicpIHNob3VsZCBiZSBu
ZXcgYW5kIGlzLgorUEFTUzogZG9jRWxlbS5hdHRyaWJ1dGVzLmxlbmd0aCBzaG91bGQgYmUgNCBh
bmQgaXMuCitQQVNTOiBkb2NFbGVtLmdldEF0dHJpYnV0ZSgnYmFyOmF0dHInKSBzaG91bGQgYmUg
bmV3MiBhbmQgaXMuCitQQVNTOiBkb2NFbGVtLmdldEF0dHJpYnV0ZU5vZGUoJ2JhcjphdHRyJyku
cHJlZml4IHNob3VsZCBiZSBudWxsIGFuZCBpcy4KK1BBU1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRl
Tm9kZSgnYmFyOmF0dHInKS5sb2NhbE5hbWUgc2hvdWxkIGJlIGJhcjphdHRyIGFuZCBpcy4KK1BB
U1M6IGRvY0VsZW0uZ2V0QXR0cmlidXRlKCdmb286YXR0cicpIHNob3VsZCBiZSBudWxsIGFuZCBp
cy4KK1BBU1M6IGRvY0VsZW0uYXR0cmlidXRlcy5sZW5ndGggc2hvdWxkIGJlIDMgYW5kIGlzLgor
UEFTUzogZG9jRWxlbS5nZXRBdHRyaWJ1dGUoJ2JhcjphdHRyJykgc2hvdWxkIGJlIG51bGwgYW5k
IGlzLgorUEFTUzogZG9jRWxlbS5hdHRyaWJ1dGVzLmxlbmd0aCBzaG91bGQgYmUgMiBhbmQgaXMu
CitQQVNTOiBkb2NFbGVtLmdldEF0dHJpYnV0ZSgnYXR0cicpIHNob3VsZCBiZSBudWxsIGFuZCBp
cy4KK1BBU1M6IGRvY0VsZW0uYXR0cmlidXRlcy5sZW5ndGggc2hvdWxkIGJlIDEgYW5kIGlzLgor
UEFTUzogYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2ZvbzphdHRyJykudmFsdWUgc2hvdWxkIGJl
IHRlc3QgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2F0dHInKS52YWx1
ZSBzaG91bGQgYmUgdGVzdDIgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0o
J2JhcjphdHRyJykgc2hvdWxkIGJlIG51bGwgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5sZW5n
dGggc2hvdWxkIGJlIDMgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2Zv
bzphdHRyJykgc2hvdWxkIGJlIG51bGwgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5sZW5ndGgg
c2hvdWxkIGJlIDIgYW5kIGlzLgorUEFTUzogYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2F0dHIn
KSBzaG91bGQgYmUgbnVsbCBhbmQgaXMuCitQQVNTOiBhdHRyaWJ1dGVzLmxlbmd0aCBzaG91bGQg
YmUgMSBhbmQgaXMuCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2F0dHJpYnV0ZS1uYW1l
c3BhY2VzLWdldC1zZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9h
dHRyaWJ1dGUtbmFtZXNwYWNlcy1nZXQtc2V0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9hdHRyaWJ1dGUtbmFtZXNwYWNlcy1nZXQtc2V0Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTA3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IGRlYnVnKHN0cikgeworICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNv
bGUnKQorICAgIGMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyICsgJ1xu
JykpOworfQorCitmdW5jdGlvbiBwcmludChtZXNzYWdlLCBjb2xvcikgCit7CisgICAgdmFyIHBh
cmFncmFwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHBhcmFncmFwaC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7CisgICAgcGFyYWdy
YXBoLnN0eWxlLmZvbnRGYW1pbHkgPSAibW9ub3NwYWNlIjsKKyAgICBpZiAoY29sb3IpCisgICAg
ICAgIHBhcmFncmFwaC5zdHlsZS5jb2xvciA9IGNvbG9yOworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQocGFyYWdyYXBoKTsKK30KKwordmFyIGVsZW1l
bnQsIHJhbmdlLCBub2RlRmlsdGVyLCBjc3NSdWxlLCBjc3NQcmltaXRpdmVWYWx1ZSwgY3NzU3R5
bGVEZWNsYXJhdGlvbiwgZXZlbnQ7Cit2YXIgb3JpZ2luYWxOb2RlQ29uc3RydWN0b3I7CisKK2Z1
bmN0aW9uIHNob3VsZEJlKGEsIGIpCit7CisgICAgdmFyIGV2YWxBOworICAgIHRyeSB7CisgICAg
ICAgIGV2YWxBID0gZXZhbChhKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgZXZhbEEgPSBl
OworICAgIH0KKyAgICBpZiAoZXZhbEEgPT0gYikKKyAgICAgICAgcHJpbnQoIlBBU1M6ICIgKyBh
ICsgIiBzaG91bGQgYmUgIiArIGIgKyAiIGFuZCBpcy4iLCAiZ3JlZW4iKTsKKyAgICBlbHNlCisg
ICAgICAgIHByaW50KCJGQUlMOiAiICsgYSArICIgc2hvdWxkIGJlICIgKyBiICsgIiBidXQgaW5z
dGVhZCBpcyAiICsgZXZhbEEsICJyZWQiKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdHMoKSB7Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAKKyAgICB2YXIgc3JjID0gJzxyb290IHht
bG5zOmZvbz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgYXR0cj0idGVzdDIiIGZvbzphdHRyPSJ0
ZXN0IiAvPic7CisgICAgdmFyIGRvYyA9IChuZXcgRE9NUGFyc2VyKCkpLnBhcnNlRnJvbVN0cmlu
ZyhzcmMsICd0ZXh0L3htbCcpCisgICAgZG9jRWxlbSA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7CisK
KyAgICAvLyBUZXN0IGdldEF0dHJpYnV0ZQorICAgIHNob3VsZEJlKCJkb2NFbGVtLmdldEF0dHJp
YnV0ZSgnZm9vOmF0dHInKSIsICJ0ZXN0Iik7CisgICAgc2hvdWxkQmUoImRvY0VsZW0uZ2V0QXR0
cmlidXRlKCdhdHRyJykiLCAidGVzdDIiKTsKKyAgICBzaG91bGRCZSgiZG9jRWxlbS5nZXRBdHRy
aWJ1dGUoJ2JhcjphdHRyJykiLCBudWxsKQorICAgIAorICAgIC8vIFRlc3QgaGFzQXR0cmlidXRl
CisgICAgc2hvdWxkQmUoImRvY0VsZW0uaGFzQXR0cmlidXRlKCdmb286YXR0cicpIiwgdHJ1ZSk7
CisgICAgc2hvdWxkQmUoImRvY0VsZW0uaGFzQXR0cmlidXRlKCdhdHRyJykiLCB0cnVlKTsKKyAg
ICBzaG91bGRCZSgiZG9jRWxlbS5oYXNBdHRyaWJ1dGUoJ2JhcjphdHRyJykiLCBmYWxzZSk7Cisg
ICAgCisgICAgLy8gVGVzdCBnZXRBdHRyaWJ1dGVOb2RlCisgICAgc2hvdWxkQmUoImRvY0VsZW0u
Z2V0QXR0cmlidXRlTm9kZSgnZm9vOmF0dHInKS52YWx1ZSIsICJ0ZXN0Iik7CisgICAgc2hvdWxk
QmUoImRvY0VsZW0uZ2V0QXR0cmlidXRlTm9kZSgnYmFyOmF0dHInKSIsIG51bGwpOworICAgIAor
ICAgIC8vIFRlc3Qgc2V0QXR0cmlidXRlCisgICAgc2hvdWxkQmUoImRvY0VsZW0uYXR0cmlidXRl
cy5sZW5ndGgiLCAzKTsKKyAgICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgiZm9vOmF0dHIiLCAibmV3
Iik7CisgICAgc2hvdWxkQmUoImRvY0VsZW0uYXR0cmlidXRlcy5sZW5ndGgiLCAzKTsKKyAgICBz
aG91bGRCZSgiZG9jRWxlbS5nZXRBdHRyaWJ1dGUoJ2ZvbzphdHRyJykiLCAibmV3Iik7CisKKyAg
ICBkb2NFbGVtLnNldEF0dHJpYnV0ZSgiYmFyOmF0dHIiLCAibmV3MiIpOworICAgIHNob3VsZEJl
KCJkb2NFbGVtLmF0dHJpYnV0ZXMubGVuZ3RoIiwgNCk7CisgICAgc2hvdWxkQmUoImRvY0VsZW0u
Z2V0QXR0cmlidXRlKCdiYXI6YXR0cicpIiwgIm5ldzIiKTsKKyAgICBzaG91bGRCZSgiZG9jRWxl
bS5nZXRBdHRyaWJ1dGVOb2RlKCdiYXI6YXR0cicpLnByZWZpeCIsIG51bGwpOworICAgIHNob3Vs
ZEJlKCJkb2NFbGVtLmdldEF0dHJpYnV0ZU5vZGUoJ2JhcjphdHRyJykubG9jYWxOYW1lIiwgImJh
cjphdHRyIik7CisgICAgCisgICAgLy8gVGVzdCByZW1vdmVBdHRyaWJ1dGUKKyAgICBkb2NFbGVt
LnJlbW92ZUF0dHJpYnV0ZSgnZm9vOmF0dHInKTsKKyAgICBzaG91bGRCZSgiZG9jRWxlbS5nZXRB
dHRyaWJ1dGUoJ2ZvbzphdHRyJykiLCBudWxsKTsKKyAgICBzaG91bGRCZSgiZG9jRWxlbS5hdHRy
aWJ1dGVzLmxlbmd0aCIsIDMpOworICAgIGRvY0VsZW0ucmVtb3ZlQXR0cmlidXRlKCdiYXI6YXR0
cicpOworICAgIHNob3VsZEJlKCJkb2NFbGVtLmdldEF0dHJpYnV0ZSgnYmFyOmF0dHInKSIsIG51
bGwpOworICAgIHNob3VsZEJlKCJkb2NFbGVtLmF0dHJpYnV0ZXMubGVuZ3RoIiwgMik7CisgICAg
ZG9jRWxlbS5yZW1vdmVBdHRyaWJ1dGUoJ2F0dHInKTsKKyAgICBzaG91bGRCZSgiZG9jRWxlbS5n
ZXRBdHRyaWJ1dGUoJ2F0dHInKSIsIG51bGwpOworICAgIHNob3VsZEJlKCJkb2NFbGVtLmF0dHJp
YnV0ZXMubGVuZ3RoIiwgMSk7CisgICAgCisgICAgLy8gUmUtcGFyc2UgdGhlIGRvY3VtZW50IHNv
IHdlIGNhbiB0ZXN0IE5hbWVkTm9kZU1hcAorICAgIGRvYyA9IChuZXcgRE9NUGFyc2VyKCkpLnBh
cnNlRnJvbVN0cmluZyhzcmMsICd0ZXh0L3htbCcpOworICAgIGF0dHJpYnV0ZXMgPSBkb2MuZG9j
dW1lbnRFbGVtZW50LmF0dHJpYnV0ZXM7CisgICAgCisgICAgLy8gVGVzdCBnZXROYW1lZEl0ZW0K
KyAgICBzaG91bGRCZSgiYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2ZvbzphdHRyJykudmFsdWUi
LCAidGVzdCIpOworICAgIHNob3VsZEJlKCJhdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnYXR0cicp
LnZhbHVlIiwgInRlc3QyIik7CisgICAgc2hvdWxkQmUoImF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVt
KCdiYXI6YXR0cicpIiwgbnVsbCk7CisgICAgCisgICAgLy8gVGVzdCByZW1vdmVOYW1lZEl0ZW0K
KyAgICBzaG91bGRCZSgiYXR0cmlidXRlcy5sZW5ndGgiLCAzKTsKKyAgICBhdHRyaWJ1dGVzLnJl
bW92ZU5hbWVkSXRlbSgnZm9vOmF0dHInKTsKKyAgICBzaG91bGRCZSgiYXR0cmlidXRlcy5nZXRO
YW1lZEl0ZW0oJ2ZvbzphdHRyJykiLCBudWxsKTsKKyAgICBzaG91bGRCZSgiYXR0cmlidXRlcy5s
ZW5ndGgiLCAyKTsKKyAgICBhdHRyaWJ1dGVzLnJlbW92ZU5hbWVkSXRlbSgnYXR0cicpOworICAg
IHNob3VsZEJlKCJhdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgnYXR0cicpIiwgbnVsbCk7CisgICAg
c2hvdWxkQmUoImF0dHJpYnV0ZXMubGVuZ3RoIiwgMSk7CisKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCk7Ij4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9w
cmU+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
V2ViQ29yZS9kb20vTmFtZWRBdHRyTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9O
YW1lZEF0dHJNYXAuY3BwCShyZXZpc2lvbiAxNDUzMikKKysrIFdlYkNvcmUvZG9tL05hbWVkQXR0
ck1hcC5jcHAJKGFyYmV0c2tvcGlhKQpAQCAtNTgsNyArNTgsMTAgQEAgYm9vbCBOYW1lZEF0dHJN
YXA6OmlzTWFwcGVkQXR0cmlidXRlTWFwKAogUGFzc1JlZlB0cjxOb2RlPiBOYW1lZEF0dHJNYXA6
OmdldE5hbWVkSXRlbShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGxv
Y2FsTmFtZSA9IGluSFRNTERvY3VtZW50KGVsZW1lbnQpID8gbmFtZS5sb3dlcigpIDogbmFtZTsK
LSAgICByZXR1cm4gZ2V0TmFtZWRJdGVtKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFt
ZS5pbXBsKCksIG51bGxBdG9tKSk7CisgICAgQXR0cmlidXRlKiBhID0gZ2V0QXR0cmlidXRlSXRl
bShsb2NhbE5hbWUpOworICAgIGlmICghYSkgcmV0dXJuIDA7CisgICAgCisgICAgcmV0dXJuIGEt
PmNyZWF0ZUF0dHJJZk5lZWRlZChlbGVtZW50KTsKIH0KIAogUGFzc1JlZlB0cjxOb2RlPiBOYW1l
ZEF0dHJNYXA6OmdldE5hbWVkSXRlbU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25z
dCBTdHJpbmcmIGxvY2FsTmFtZSkgY29uc3QKQEAgLTY5LDcgKzcyLDEzIEBAIFBhc3NSZWZQdHI8
Tm9kZT4gTmFtZWRBdHRyTWFwOjpnZXROYW1lZEkKIFBhc3NSZWZQdHI8Tm9kZT4gTmFtZWRBdHRy
TWFwOjpyZW1vdmVOYW1lZEl0ZW0oY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBTdHJpbmcgbG9jYWxOYW1lID0gaW5IVE1MRG9jdW1lbnQoZWxlbWVudCkgPyBu
YW1lLmxvd2VyKCkgOiBuYW1lOwotICAgIHJldHVybiByZW1vdmVOYW1lZEl0ZW0oUXVhbGlmaWVk
TmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgbnVsbEF0b20pLCBlYyk7CisgICAgQXR0
cmlidXRlKiBhID0gZ2V0QXR0cmlidXRlSXRlbShsb2NhbE5hbWUpOworICAgIGlmICghYSkgewor
ICAgICAgICBlYyA9IE5PVF9GT1VORF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAg
ICAKKyAgICByZXR1cm4gcmVtb3ZlTmFtZWRJdGVtKGEtPm5hbWUoKSwgZWMpOwogfQogCiBQYXNz
UmVmUHRyPE5vZGU+IE5hbWVkQXR0ck1hcDo6cmVtb3ZlTmFtZWRJdGVtTlMoY29uc3QgU3RyaW5n
JiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lLCBFeGNlcHRpb25Db2RlJiBl
YykKQEAgLTE3Miw2ICsxODEsMTkgQEAgUGFzc1JlZlB0cjxOb2RlPiBOYW1lZEF0dHJNYXA6Oml0
ZW0gKCB1bgogICAgIHJldHVybiBhdHRyc1tpbmRleF0tPmNyZWF0ZUF0dHJJZk5lZWRlZChlbGVt
ZW50KTsKIH0KIAorQXR0cmlidXRlKiBOYW1lZEF0dHJNYXA6OmdldEF0dHJpYnV0ZUl0ZW0oY29u
c3QgU3RyaW5nJiBuYW1lKSBjb25zdAoreworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW47ICsraSkgeworICAgICAgICBpZiAoIWF0dHJzW2ldLT5uYW1lKCkuaGFzUHJlZml4KCkgJiYg
CisgICAgICAgICAgICBhdHRyc1tpXS0+bmFtZSgpLmxvY2FsTmFtZSgpID09IG5hbWUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGF0dHJzW2ldOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJz
W2ldLT5uYW1lKCkudG9TdHJpbmcoKSA9PSBuYW1lKQorICAgICAgICAgICAgcmV0dXJuIGF0dHJz
W2ldOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogQXR0cmlidXRlKiBOYW1lZEF0dHJNYXA6
OmdldEF0dHJpYnV0ZUl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKIHsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKSW5kZXg6IFdlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNDUzMikKKysrIFdlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShhcmJldHNrb3BpYSkKQEAg
LTI5Myw3ICsyOTMsMTQgQEAgc3RhdGljIGlubGluZSBib29sIGluSFRNTERvY3VtZW50KGNvbnN0
IAogY29uc3QgQXRvbWljU3RyaW5nJiBFbGVtZW50OjpnZXRBdHRyaWJ1dGUoY29uc3QgU3RyaW5n
JiBuYW1lKSBjb25zdAogewogICAgIFN0cmluZyBsb2NhbE5hbWUgPSBpbkhUTUxEb2N1bWVudCh0
aGlzKSA/IG5hbWUubG93ZXIoKSA6IG5hbWU7Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZShRdWFs
aWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUuaW1wbCgpLCBudWxsQXRvbSkpOworICAgIGlm
IChsb2NhbE5hbWUgPT0gc3R5bGVBdHRyLmxvY2FsTmFtZSgpKQorICAgICAgICB1cGRhdGVTdHls
ZUF0dHJpYnV0ZUlmTmVlZGVkKCk7CisgICAgCisgICAgaWYgKG5hbWVkQXR0ck1hcCkKKyAgICAg
ICAgaWYgKEF0dHJpYnV0ZSogYSA9IG5hbWVkQXR0ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShsb2Nh
bE5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIGEtPnZhbHVlKCk7CisgICAgCisgICAgcmV0dXJu
IG51bGxBdG9tOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0
ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSkg
Y29uc3QKQEAgLTMwNyw4ICszMTQsMzIgQEAgdm9pZCBFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29u
c3QgU3RyaW5nJgogICAgICAgICBlYyA9IElOVkFMSURfQ0hBUkFDVEVSX0VSUjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KKworICAgIC8vIGFsbG9jYXRlIGF0dHJpYnV0ZW1hcCBpZiBuZWNlc3Nh
cnkKKyAgICBBdHRyaWJ1dGUqIG9sZCA9IGF0dHJpYnV0ZXMoZmFsc2UpLT5nZXRBdHRyaWJ1dGVJ
dGVtKG5hbWUpOworCisgICAgLy8gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOiBSYWlzZWQg
d2hlbiB0aGUgbm9kZSBpcyByZWFkb25seQorICAgIGlmIChuYW1lZEF0dHJNYXAtPmlzUmVhZE9u
bHlOb2RlKCkpIHsKKyAgICAgICAgZWMgPSBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKGluRG9jdW1lbnQoKSkKKyAgICAg
ICAgZG9jdW1lbnQoKS0+aW5jRE9NVHJlZVZlcnNpb24oKTsKKwogICAgIFN0cmluZyBsb2NhbE5h
bWUgPSBpbkhUTUxEb2N1bWVudCh0aGlzKSA/IG5hbWUubG93ZXIoKSA6IG5hbWU7Ci0gICAgc2V0
QXR0cmlidXRlKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFtZS5pbXBsKCksIG51bGxB
dG9tKSwgdmFsdWUuaW1wbCgpLCBlYyk7CisKKyAgICBpZiAobG9jYWxOYW1lID09IGlkQXR0ci5s
b2NhbE5hbWUoKSkKKyAgICAgICAgdXBkYXRlSWQob2xkID8gb2xkLT52YWx1ZSgpIDogbnVsbEF0
b20sIHZhbHVlKTsKKyAgICAKKyAgICBpZiAob2xkICYmIHZhbHVlLmlzTnVsbCgpKQorICAgICAg
ICBuYW1lZEF0dHJNYXAtPnJlbW92ZUF0dHJpYnV0ZShvbGQtPm5hbWUoKSk7CisgICAgZWxzZSBp
ZiAoIW9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpCisgICAgICAgIG5hbWVkQXR0ck1hcC0+YWRkQXR0
cmlidXRlKGNyZWF0ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUu
aW1wbCgpLCBudWxsQXRvbSksIHZhbHVlLmltcGwoKSkpOworICAgIGVsc2UgaWYgKG9sZCAmJiAh
dmFsdWUuaXNOdWxsKCkpIHsKKyAgICAgICAgb2xkLT5zZXRWYWx1ZSh2YWx1ZSk7CisgICAgICAg
IGF0dHJpYnV0ZUNoYW5nZWQob2xkKTsKKyAgICB9CiB9CiAKIHZvaWQgRWxlbWVudDo6c2V0QXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIFN0cmluZ0ltcGwqIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKQEAgLTczMCw3ICs3NjEsMTIgQEAgdm9pZCBFbGVtZW50OjpzZXRBdHRy
aWJ1dGVOUyhjb25zdCBTdHJpbgogdm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBTdHJpbmcgbG9jYWxOYW1l
ID0gaW5IVE1MRG9jdW1lbnQodGhpcykgPyBuYW1lLmxvd2VyKCkgOiBuYW1lOwotICAgIHJlbW92
ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUuaW1wbCgpLCBudWxs
QXRvbSksIGVjKTsKKworICAgIGlmIChuYW1lZEF0dHJNYXApIHsKKyAgICAgICAgbmFtZWRBdHRy
TWFwLT5yZW1vdmVOYW1lZEl0ZW0obG9jYWxOYW1lLCBlYyk7CisgICAgICAgIGlmIChlYyA9PSBO
T1RfRk9VTkRfRVJSKQorICAgICAgICAgICAgZWMgPSAwOworICAgIH0KIH0KIAogdm9pZCBFbGVt
ZW50OjpyZW1vdmVBdHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3Qg
U3RyaW5nJiBsb2NhbE5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtNzQ0LDcgKzc4MCw3IEBA
IFBhc3NSZWZQdHI8QXR0cj4gRWxlbWVudDo6Z2V0QXR0cmlidXRlTm8KICAgICBpZiAoIWF0dHJz
KQogICAgICAgICByZXR1cm4gMDsKICAgICBTdHJpbmcgbG9jYWxOYW1lID0gaW5IVE1MRG9jdW1l
bnQodGhpcykgPyBuYW1lLmxvd2VyKCkgOiBuYW1lOwotICAgIHJldHVybiBzdGF0aWNfcG9pbnRl
cl9jYXN0PEF0dHI+KGF0dHJzLT5nZXROYW1lZEl0ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwg
bG9jYWxOYW1lLmltcGwoKSwgbnVsbEF0b20pKSk7CisgICAgcmV0dXJuIHN0YXRpY19wb2ludGVy
X2Nhc3Q8QXR0cj4oYXR0cnMtPmdldE5hbWVkSXRlbShsb2NhbE5hbWUpKTsKIH0KIAogUGFzc1Jl
ZlB0cjxBdHRyPiBFbGVtZW50OjpnZXRBdHRyaWJ1dGVOb2RlTlMoY29uc3QgU3RyaW5nJiBuYW1l
c3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lKQpAQCAtNzYxLDcgKzc5Nyw3IEBAIGJv
b2wgRWxlbWVudDo6aGFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYKICAgICBpZiAoIWF0dHJzKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgU3RyaW5nIGxvY2FsTmFtZSA9IGluSFRNTERvY3Vt
ZW50KHRoaXMpID8gbmFtZS5sb3dlcigpIDogbmFtZTsKLSAgICByZXR1cm4gYXR0cnMtPmdldEF0
dHJpYnV0ZUl0ZW0oUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbG9jYWxOYW1lLmltcGwoKSwgbnVs
bEF0b20pKTsKKyAgICByZXR1cm4gYXR0cnMtPmdldEF0dHJpYnV0ZUl0ZW0obG9jYWxOYW1lKTsK
IH0KIAogYm9vbCBFbGVtZW50OjpoYXNBdHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFj
ZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5hbWUpIGNvbnN0CkluZGV4OiBXZWJDb3JlL2RvbS9O
YW1lZEF0dHJNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAko
cmV2aXNpb24gMTQ1MzIpCisrKyBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAkoYXJiZXRza29w
aWEpCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICAvLyBPdGhlciBtZXRob2RzIChub3Qg
cGFydCBvZiBET00pCiAgICAgQXR0cmlidXRlKiBhdHRyaWJ1dGVJdGVtKHVuc2lnbmVkIGluZGV4
KSBjb25zdCB7IHJldHVybiBhdHRycyA/IGF0dHJzW2luZGV4XSA6IDA7IH0KICAgICBBdHRyaWJ1
dGUqIGdldEF0dHJpYnV0ZUl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3Q7Cisg
ICAgQXR0cmlidXRlKiBnZXRBdHRyaWJ1dGVJdGVtKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIGlzUmVhZE9ubHlOb2RlKCkgeyByZXR1cm4gZWxlbWVudCA/IGVs
ZW1lbnQtPmlzUmVhZE9ubHlOb2RlKCkgOiBmYWxzZTsgfQogCiAgICAgLy8gdXNlZCBkdXJpbmcg
cGFyc2luZzogb25seSBpbnNlcnRzIGlmIG5vdCBhbHJlYWR5IHRoZXJlCkluZGV4OiBXZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ1
MzMpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkoYXJiZXRza29waWEpCkBAIC0xLDMgKzEsMjcgQEAK
KzIwMDYtMDUtMjMgIEFuZGVycyBDYXJsc3NvbiAgPGFjYXJsc3NvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3pp
bGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD05MDE3CisgICAgICAgIFdlYXRoZXIy
LmNzcyBpbmNvcnJlY3RseSB0cmVhdGVkIGFzIEphdmFTY3JpcHQgZmlsZSBAIHd3dy5saXZlLmNv
bQorICAgICAgICAKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpnZXRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0
QXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpnZXRBdHRyaWJ1dGVOb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6Omhhc0F0dHJpYnV0ZSk6CisgICAgICAgIFVzZSBuZXcgZ2V0QXR0
cmlidXRlSXRlbSBtZXRob2QuCisgICAgICAgIAorICAgICAgICAqIGRvbS9OYW1lZEF0dHJNYXAu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmFtZWRBdHRyTWFwOjpnZXROYW1lZEl0ZW0pOgorICAg
ICAgICAoV2ViQ29yZTo6TmFtZWRBdHRyTWFwOjpyZW1vdmVOYW1lZEl0ZW0pOgorICAgICAgICBV
c2UgbmV3IGdldEF0dHJpYnV0ZUl0ZW0gbWV0aG9kLgorICAgICAgICAKKyAgICAgICAgKFdlYkNv
cmU6Ok5hbWVkQXR0ck1hcDo6Z2V0QXR0cmlidXRlSXRlbSk6CisgICAgICAgICogZG9tL05hbWVk
QXR0ck1hcC5oOgorICAgICAgICBOZXcgbWV0aG9kIHdoaWNoIHJldHVybnMgdGhlIGF0dHJpYnV0
ZSBiYXNlZCBvbiB0aGUgbm9kZU5hbWUuCisKIDIwMDYtMDUtMjIgIEVyaWMgU2VpZGVsICA8ZXJp
Y0Blc2VpZGVsLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBhZGVsZS4K
</data>
<flag name="review"
          id="2410"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>