<?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>13190</bug_id>
          
          <creation_ts>2007-03-25 03:50:01 -0700</creation_ts>
          <short_desc>XPath incorrectly handles namespaces on attributes</short_desc>
          <delta_ts>2007-03-28 10:04:37 -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>XML</component>
          <version>523.x (Safari 3)</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></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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17419</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-03-25 03:50:01 -0700</bug_when>
    <thetext>Multiple issues; a patch with a test case forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17420</commentid>
    <comment_count>1</comment_count>
      <attachid>13810</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-03-25 03:57:44 -0700</bug_when>
    <thetext>Created attachment 13810
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16867</commentid>
    <comment_count>2</comment_count>
      <attachid>13810</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-03-27 21:55:43 -0700</bug_when>
    <thetext>Comment on attachment 13810
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16777</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-03-28 10:04:37 -0700</bug_when>
    <thetext>Committed revision 20554.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13810</attachid>
            <date>2007-03-25 03:57:44 -0700</date>
            <delta_ts>2007-03-27 21:55:43 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>13190r1_patch.txt</filename>
            <type>text/plain</type>
            <size>18057</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIwNDg4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDctMDMtMjUgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTkw
CisgICAgICAgIFhQYXRoIGluY29ycmVjdGx5IGhhbmRsZXMgbmFtZXNwYWNlcyBvbiBhdHRyaWJ1
dGVzCisKKyAgICAgICAgKiBmYXN0L3hwYXRoL2F0dHItbmFtZXNwYWNlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC94cGF0aC9hdHRyLW5hbWVzcGFjZS5odG1sOiBBZGRlZC4K
KworICAgICAgICAqIGZhc3QveHBhdGgveHBhdGgtbmFtZXNwYWNlcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC94cGF0aC94cGF0aC1uYW1lc3BhY2VzLmh0bWw6CisgICAgICAgIENsZWFu
ZWQgdXA7IGFkZGVkIGEgY291cGxlIG1vcmUgY2FzZXMgKHdoaWNoIHBhc3NlZCBhbnl3YXksIGJ1
dCB3ZXJlbid0IHRlc3RlZCBmb3IpLgorCiAyMDA3LTAzLTI0ICBNaXR6IFBldHRlbCAgPG1pdHpA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QveHBhdGgvYXR0ci1uYW1lc3BhY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QveHBhdGgvYXR0ci1uYW1lc3BhY2UtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC94cGF0aC9hdHRyLW5hbWVzcGFjZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK1BBU1MgZG9jLmV2YWx1YXRlKCIv
L0BhdHRyMSIsIGRvYywgbnVsbCwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZ
UEUsIG51bGwpLnNuYXBzaG90TGVuZ3RoIGlzIDEKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0BhdHRy
MiIsIGRvYywgbnVsbCwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51
bGwpLnNuYXBzaG90TGVuZ3RoIGlzIDAKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0BuczphdHRyMiIs
IGRvYywgbnNSZXNvbHZlciwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUs
IG51bGwpLnNuYXBzaG90TGVuZ3RoIGlzIDEKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0Buczp4bWxu
cyIsIGRvYywgbnNSZXNvbHZlciwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZ
UEUsIG51bGwpLnNuYXBzaG90TGVuZ3RoIGlzIDEKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0B4bWw6
aWQiLCBkb2MsIG51bGwsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFLCBu
dWxsKS5zbmFwc2hvdExlbmd0aCB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5BTUVTUEFDRV9FUlI6
IERPTSBFeGNlcHRpb24gMTQuCitQQVNTIGRvYy5ldmFsdWF0ZSgiLy9AeG1sOmlkIiwgZG9jLCBu
c1Jlc29sdmVyLCBYUGF0aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwgbnVsbCku
c25hcHNob3RMZW5ndGggaXMgMQorUEFTUyBkb2MuZXZhbHVhdGUoIi8vQCoiLCBkb2MsIG51bGws
IFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFLCBudWxsKS5zbmFwc2hvdExl
bmd0aCBpcyA0CitQQVNTIGRvYy5ldmFsdWF0ZSgiLy9AbnM6KiIsIGRvYywgbnNSZXNvbHZlciwg
WFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51bGwpLnNuYXBzaG90TGVu
Z3RoIGlzIDIKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0B4bWw6KiIsIGRvYywgbnNSZXNvbHZlciwg
WFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51bGwpLnNuYXBzaG90TGVu
Z3RoIGlzIDEKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0B4bWxucyIsIGRvYywgbnNSZXNvbHZlciwg
WFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51bGwpLnNuYXBzaG90TGVu
Z3RoIGlzIDAKK1BBU1MgZG9jLmV2YWx1YXRlKCIvL0B4bWxuczoqIiwgZG9jLCBuc1Jlc29sdmVy
LCBYUGF0aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwgbnVsbCkuc25hcHNob3RM
ZW5ndGggaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QveHBhdGgvYXR0ci1u
YW1lc3BhY2UtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICAr
IHRleHQvcGxhaW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QveHBhdGgvYXR0ci1uYW1lc3BhY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3hwYXRoL2F0dHItbmFtZXNwYWNlLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3hwYXRoL2F0dHItbmFtZXNwYWNlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDQgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ4cGF0
aC10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZnVuY3Rpb24gbnNSZXNvbHZlcihwcmVmaXgpIHsKKyAg
ICBpZiAocHJlZml4ID09ICJucyIpCisgICAgICAgIHJldHVybiAiZm9vYmFybnMiOworICAgIGlm
IChwcmVmaXggPT0gInhtbCIpCisgICAgICAgIHJldHVybiAiaHR0cDovL3d3dy53My5vcmcvWE1M
LzE5OTgvbmFtZXNwYWNlIjsKKyAgICBpZiAocHJlZml4ID09ICJ4bWxucyIpCisgICAgICAgIHJl
dHVybiAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iOworICAgIGFsZXJ0KCJVbmV4cGVj
dGVkIHByZWZpeCAiICsgcHJlZml4KTsKK30KKworZG9jID0gKG5ldyBET01QYXJzZXIpLnBhcnNl
RnJvbVN0cmluZygKKyAgICAnPGRvYz4nICsKKyAgICAnICA8ZWxlbSBhdHRyMT0iMSIgbnM6YXR0
cjI9IjIiIHhtbDppZD0iMyIgbnM6eG1sbnM9IjQiIHhtbG5zOm5zPSJmb29iYXJucyIgeG1sbnM9
ImJhcmZvb25zIi8+JyArCisgICAgJzwvZG9jPicsCisgICAgJ2FwcGxpY2F0aW9uL3htbCcpOwor
CitzaG91bGRCZSgnZG9jLmV2YWx1YXRlKCIvL0BhdHRyMSIsIGRvYywgbnVsbCwgWFBhdGhSZXN1
bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51bGwpLnNuYXBzaG90TGVuZ3RoJywgJzEn
KTsKK3Nob3VsZEJlKCdkb2MuZXZhbHVhdGUoIi8vQGF0dHIyIiwgZG9jLCBudWxsLCBYUGF0aFJl
c3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwgbnVsbCkuc25hcHNob3RMZW5ndGgnLCAn
MCcpOworc2hvdWxkQmUoJ2RvYy5ldmFsdWF0ZSgiLy9AbnM6YXR0cjIiLCBkb2MsIG5zUmVzb2x2
ZXIsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFLCBudWxsKS5zbmFwc2hv
dExlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnZG9jLmV2YWx1YXRlKCIvL0Buczp4bWxucyIsIGRv
YywgbnNSZXNvbHZlciwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51
bGwpLnNuYXBzaG90TGVuZ3RoJywgJzEnKTsKK3Nob3VsZFRocm93KCdkb2MuZXZhbHVhdGUoIi8v
QHhtbDppZCIsIGRvYywgbnVsbCwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZ
UEUsIG51bGwpLnNuYXBzaG90TGVuZ3RoJyk7CitzaG91bGRCZSgnZG9jLmV2YWx1YXRlKCIvL0B4
bWw6aWQiLCBkb2MsIG5zUmVzb2x2ZXIsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hP
VF9UWVBFLCBudWxsKS5zbmFwc2hvdExlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnZG9jLmV2YWx1
YXRlKCIvL0AqIiwgZG9jLCBudWxsLCBYUGF0aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1Rf
VFlQRSwgbnVsbCkuc25hcHNob3RMZW5ndGgnLCAnNCcpOworc2hvdWxkQmUoJ2RvYy5ldmFsdWF0
ZSgiLy9AbnM6KiIsIGRvYywgbnNSZXNvbHZlciwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NO
QVBTSE9UX1RZUEUsIG51bGwpLnNuYXBzaG90TGVuZ3RoJywgJzInKTsKK3Nob3VsZEJlKCdkb2Mu
ZXZhbHVhdGUoIi8vQHhtbDoqIiwgZG9jLCBuc1Jlc29sdmVyLCBYUGF0aFJlc3VsdC5PUkRFUkVE
X05PREVfU05BUFNIT1RfVFlQRSwgbnVsbCkuc25hcHNob3RMZW5ndGgnLCAnMScpOworc2hvdWxk
QmUoJ2RvYy5ldmFsdWF0ZSgiLy9AeG1sbnMiLCBkb2MsIG5zUmVzb2x2ZXIsIFhQYXRoUmVzdWx0
Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFLCBudWxsKS5zbmFwc2hvdExlbmd0aCcsICcwJyk7
CitzaG91bGRCZSgnZG9jLmV2YWx1YXRlKCIvL0B4bWxuczoqIiwgZG9jLCBuc1Jlc29sdmVyLCBY
UGF0aFJlc3VsdC5PUkRFUkVEX05PREVfU05BUFNIT1RfVFlQRSwgbnVsbCkuc25hcHNob3RMZW5n
dGgnLCAnMCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0
L3hwYXRoL2F0dHItbmFtZXNwYWNlLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBl
CiAgICsgdGV4dC9odG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC94cGF0aC94cGF0aC1uYW1l
c3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3hwYXRo
L3hwYXRoLW5hbWVzcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMDQ4NikKKysrIExheW91
dFRlc3RzL2Zhc3QveHBhdGgveHBhdGgtbmFtZXNwYWNlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSw5IEBACiBUaGlzIHRlc3RzIHRoYXQgWFBhdGggZXhwcmVzc2lvbnMg
d2l0aCBwcmVmaXhlcyB3b3JrIGNvcnJlY3RseS4KLVNVQ0NFU1M6IHRlc3QgY29tcGxldGVkCisK
K1BBU1MgL25zOmZvbworUEFTUyAvbnM6KgorUEFTUyAvZm9vOioKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3hwYXRoL3hwYXRoLW5hbWVzcGFjZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3hwYXRoL3hwYXRoLW5hbWVzcGFjZXMuaHRtbAkocmV2aXNpb24gMjA0ODYpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L3hwYXRoL3hwYXRoLW5hbWVzcGFjZXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSw0MyArMSwzNCBAQAogPGh0bWw+Ci0gIDxoZWFkPgotICAgIDxzY3JpcHQ+Ci1mdW5jdGlv
biBkZWJ1ZyhzdHIpIHsKLSAgICB2YXIgZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25z
b2xlJyk7Ci0gICAgZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIgKyAi
XG4iKSk7Ci19Ci0gICAgCi1mdW5jdGlvbiBydW5UZXN0cyAoKSB7Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotICAgICAgICAKLSAgICB2YXIgeG1sU3RyaW5nID0gJzxuczpmb28geG1sbnM6bnM9
Imh0dHA6Ly93d3cuZXhhbXBsZS5vcmciLz4nOworPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJ4cGF0aC10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdHMgdGhhdCBYUGF0aCBleHByZXNzaW9ucyB3aXRoIHByZWZpeGVzIHdvcmsgY29ycmVjdGx5
LjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICB2YXIgeG1sU3Ry
aW5nID0gJzxuczpmb28geG1sbnM6bnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5vcmciIHhtbG5zOmZv
bz0idXJuOmZvb2JhciIvPic7CiAKICAgICB2YXIgZG9jID0gKG5ldyBET01QYXJzZXIoKSkucGFy
c2VGcm9tU3RyaW5nKHhtbFN0cmluZywgInRleHQveG1sIik7CiAgICAgdmFyIGNvbnRleHROb2Rl
ID0gZG9jLmRvY3VtZW50RWxlbWVudDsKICAgICB2YXIgbnNSZXNvbHZlciA9IGRvY3VtZW50LmNy
ZWF0ZU5TUmVzb2x2ZXIoY29udGV4dE5vZGUpOwogCiAgICAgdmFyIGV4cHIgPSBkb2MuY3JlYXRl
RXhwcmVzc2lvbigiL25zOmZvbyIsIG5zUmVzb2x2ZXIpOwotICAgIHZhciByZXN1bHQgPSBleHBy
LmV2YWx1YXRlKGNvbnRleHROb2RlLCBYUGF0aFJlc3VsdC5BTllfVFlQRSwgbnVsbCkKKyAgICB2
YXIgcmVzdWx0ID0gZXhwci5ldmFsdWF0ZShjb250ZXh0Tm9kZSwgWFBhdGhSZXN1bHQuT1JERVJF
RF9OT0RFX1NOQVBTSE9UX1RZUEUsIG51bGwpOworICAgIGNoZWNrU25hcHNob3QoIi9uczpmb28i
LCByZXN1bHQsIFtkb2MuZG9jdW1lbnRFbGVtZW50XSk7CiAKLSAgICB2YXIgZWxlbWVudCA9IHJl
c3VsdC5pdGVyYXRlTmV4dCgpOworICAgIHZhciBleHByID0gZG9jLmNyZWF0ZUV4cHJlc3Npb24o
Ii9uczoqIiwgbnNSZXNvbHZlcik7CisgICAgdmFyIHJlc3VsdCA9IGV4cHIuZXZhbHVhdGUoY29u
dGV4dE5vZGUsIFhQYXRoUmVzdWx0Lk9SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFLCBudWxsKTsK
KyAgICBjaGVja1NuYXBzaG90KCIvbnM6KiIsIHJlc3VsdCwgW2RvYy5kb2N1bWVudEVsZW1lbnRd
KTsKIAotICAgIGlmIChlbGVtZW50ID09IDApIHsKLSAgICAgICAgZGVidWcoJ0ZBSUxVUkU6IG5v
IHJlc3VsdCBub2RlIHdhcyBmb3VuZCcpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAKLSAg
ICBpZiAoZWxlbWVudC5ub2RlTmFtZSAhPSAnbnM6Zm9vJykgewotICAgICAgICBkZWJ1ZygnRkFJ
TFVSRTogZGlkIG5vdCBmaW5kIHRoZSBjb3JyZWN0IG5vZGUnKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgCi0gICAgZGVidWcoJ1NVQ0NFU1M6IHRlc3QgY29tcGxldGVkJykKLX0KLSAgICA8
L3NjcmlwdD4KLSAgPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0cygpIj4KLVRoaXMgdGVz
dHMgdGhhdCBYUGF0aCBleHByZXNzaW9ucyB3aXRoIHByZWZpeGVzIHdvcmsgY29ycmVjdGx5Lgot
PHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KKyAgICB2YXIgZXhwciA9IGRvYy5jcmVhdGVFeHBy
ZXNzaW9uKCIvZm9vOioiLCBuc1Jlc29sdmVyKTsKKyAgICB2YXIgcmVzdWx0ID0gZXhwci5ldmFs
dWF0ZShjb250ZXh0Tm9kZSwgWFBhdGhSZXN1bHQuT1JERVJFRF9OT0RFX1NOQVBTSE9UX1RZUEUs
IG51bGwpOworICAgIGNoZWNrU25hcHNob3QoIi9mb286KiIsIHJlc3VsdCwgW10pOworCisgICAg
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9o
dG1sPgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIwNDg4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyNyBAQAorMjAwNy0wMy0yNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxOTAKKyAgICAg
ICAgWFBhdGggaW5jb3JyZWN0bHkgaGFuZGxlcyBuYW1lc3BhY2VzIG9uIGF0dHJpYnV0ZXMKKwor
ICAgICAgICAqIHhtbC9YUGF0aFN0ZXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OlN0
ZXA6Om5vZGVzSW5BeGlzKTogQWRkZWQgYSBzcGVjaWFsIGNhc2UgZm9yIGZhc3RlciBhdHRyaWJ1
dGUgbG9va3VwOyBnaXZlcyBhIHNsaWdodCBidXQgCisgICAgICAgIG1lYXN1cmFibGUgcGVyZm9y
bWFuY2UgaW1wcm92ZW1lbnQgZm9yIGJ1ZyAxMzAyMS4KKyAgICAgICAgKFdlYkNvcmU6OlhQYXRo
OjpTdGVwOjpub2RlTWF0Y2hlcyk6IEZpeGVkIE5hbWVUZXN0IGZvciBhdHRyaWJ1dGUgbm9kZXMu
CisKKyAgICAgICAgKiB4bWwvWFBhdGhTdGVwLmg6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6
U3RlcDo6Tm9kZVRlc3Q6Ok5vZGVUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVw
OjpOb2RlVGVzdDo6bmFtZXNwYWNlVVJJKToKKyAgICAgICAgKFdlYkNvcmU6OlhQYXRoOjpTdGVw
Ojpub2RlVGVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6U3RlcDo6c2V0Tm9kZVRlc3Qp
OgorICAgICAgICBNb3ZlIG1fbmFtZXNwYWNlVVJJIHRvIE5vZGVUZXN0LCB3aGVyZSBpdCBiZWxv
bmdzLiBSZW1vdmVkIHVudXNlZCBtX25vZGVUZXN0RGF0YSAob29wcyEpLgorCisgICAgICAgICog
eG1sL1hQYXRoR3JhbW1hci55OgorICAgICAgICAqIHhtbC9YUGF0aFBhdGguY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFBhdGg6OkxvY2F0aW9uUGF0aDo6b3B0aW1pemVTdGVwUGFpcik6CisgICAg
ICAgIEFjY291bnRlZCBmb3IgdGhlIGFib3ZlIGNoYW5nZS4KKwogMjAwNy0wMy0yNSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4uCkluZGV4OiBXZWJDb3JlL3htbC9YUGF0aEdyYW1tYXIueQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3htbC9YUGF0aEdyYW1tYXIueQkocmV2aXNpb24gMjA0ODYpCisrKyBXZWJDb3JlL3htbC9Y
UGF0aEdyYW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAtMTk4LDEwICsxOTgsMTAgQEAgU3RlcDoK
ICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKCQyKSB7Ci0gICAgICAgICAgICAkJCA9
IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6
Ok5hbWVUZXN0LCBsb2NhbE5hbWUpLCBuYW1lc3BhY2VVUkksICokMik7CisgICAgICAgICAgICAk
JCA9IG5ldyBTdGVwKFN0ZXA6OkNoaWxkQXhpcywgU3RlcDo6Tm9kZVRlc3QoU3RlcDo6Tm9kZVRl
c3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksICokMik7CiAgICAgICAgICAg
ICBQQVJTRVItPmRlbGV0ZVByZWRpY2F0ZVZlY3RvcigkMik7CiAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgJCQgPSBuZXcgU3RlcChTdGVwOjpDaGlsZEF4aXMsIFN0ZXA6Ok5vZGVUZXN0KFN0
ZXA6Ok5vZGVUZXN0OjpOYW1lVGVzdCwgbG9jYWxOYW1lKSwgbmFtZXNwYWNlVVJJKTsKKyAgICAg
ICAgICAgICQkID0gbmV3IFN0ZXAoU3RlcDo6Q2hpbGRBeGlzLCBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSk7CiAgICAgICAg
IFBBUlNFUi0+ZGVsZXRlU3RyaW5nKCQxKTsKICAgICAgICAgUEFSU0VSLT5yZWdpc3RlclBhcnNl
Tm9kZSgkJCk7CiAgICAgfQpAQCAtMjI3LDEwICsyMjcsMTAgQEAgU3RlcDoKICAgICAgICAgfQog
CiAgICAgICAgIGlmICgkMykgewotICAgICAgICAgICAgJCQgPSBuZXcgU3RlcCgkMSwgU3RlcDo6
Tm9kZVRlc3QoU3RlcDo6Tm9kZVRlc3Q6Ok5hbWVUZXN0LCBsb2NhbE5hbWUpLCBuYW1lc3BhY2VV
UkksICokMyk7CisgICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChT
dGVwOjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgKiQzKTsK
ICAgICAgICAgICAgIFBBUlNFUi0+ZGVsZXRlUHJlZGljYXRlVmVjdG9yKCQzKTsKICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVw
OjpOb2RlVGVzdDo6TmFtZVRlc3QsIGxvY2FsTmFtZSksIG5hbWVzcGFjZVVSSSk7CisgICAgICAg
ICAgICAkJCA9IG5ldyBTdGVwKCQxLCBTdGVwOjpOb2RlVGVzdChTdGVwOjpOb2RlVGVzdDo6TmFt
ZVRlc3QsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSk7CiAgICAgICAgIFBBUlNFUi0+ZGVsZXRl
U3RyaW5nKCQyKTsKICAgICAgICAgUEFSU0VSLT5yZWdpc3RlclBhcnNlTm9kZSgkJCk7CiAgICAg
fQpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3htbC9YUGF0aFBhdGguY3BwCShyZXZpc2lvbiAyMDQ4NikKKysrIFdlYkNvcmUveG1sL1hQYXRo
UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsxNDEsNyBAQCB2b2lkIExvY2F0aW9u
UGF0aDo6b3B0aW1pemVTdGVwUGFpcih1bnNpCiAKICAgICAgICAgU3RlcCogc2Vjb25kID0gbV9z
dGVwc1tpbmRleCArIDFdOwogICAgICAgICBpZiAoc2Vjb25kLT5heGlzKCkgPT0gU3RlcDo6Q2hp
bGRBeGlzCi0gICAgICAgICAgICAmJiBzZWNvbmQtPm5hbWVzcGFjZVVSSSgpLmlzRW1wdHkoKQor
ICAgICAgICAgICAgJiYgc2Vjb25kLT5ub2RlVGVzdCgpLm5hbWVzcGFjZVVSSSgpLmlzRW1wdHko
KQogICAgICAgICAgICAgJiYgc2Vjb25kLT5ub2RlVGVzdCgpLmtpbmQoKSA9PSBTdGVwOjpOb2Rl
VGVzdDo6TmFtZVRlc3QKICAgICAgICAgICAgICYmIHNlY29uZC0+bm9kZVRlc3QoKS5kYXRhKCkg
PT0gIioiKSB7CiAKSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAkocmV2aXNpb24gMjA0ODcpCisrKyBXZWJDb3Jl
L3htbC9YUGF0aFN0ZXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxNCArNDYsNiBAQCBTdGVw
OjpTdGVwKEF4aXMgYXhpcywgY29uc3QgTm9kZVRlc3QmIG5vCiB7CiB9CiAKLVN0ZXA6OlN0ZXAo
QXhpcyBheGlzLCBjb25zdCBOb2RlVGVzdCYgbm9kZVRlc3QsIGNvbnN0IFN0cmluZyYgbmFtZXNw
YWNlVVJJLCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMpCi0gICAgOiBtX2F4
aXMoYXhpcykKLSAgICAsIG1fbm9kZVRlc3Qobm9kZVRlc3QpCi0gICAgLCBtX25hbWVzcGFjZVVS
SShuYW1lc3BhY2VVUkkpCi0gICAgLCBtX3ByZWRpY2F0ZXMocHJlZGljYXRlcykKLXsKLX0KLQog
U3RlcDo6flN0ZXAoKQogewogICAgIGRlbGV0ZUFsbFZhbHVlcyhtX3ByZWRpY2F0ZXMpOwpAQCAt
MTkyLDYgKzE4NCwxNCBAQCBOb2RlU2V0IFN0ZXA6Om5vZGVzSW5BeGlzKE5vZGUqIGNvbnRleHQp
CiAgICAgICAgICAgICBpZiAoY29udGV4dC0+bm9kZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05P
REUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVzOwogCisgICAgICAgICAgICAvLyBBdm9p
ZCBsYXppbHkgY3JlYXRpbmcgYXR0cmlidXRlIG5vZGVzIGZvciBhdHRyaWJ1dGVzIHRoYXQgd2Ug
ZG8gbm90IG5lZWQgYW55d2F5LgorICAgICAgICAgICAgaWYgKG1fbm9kZVRlc3Qua2luZCgpID09
IE5vZGVUZXN0OjpOYW1lVGVzdCAmJiBtX25vZGVUZXN0LmRhdGEoKSAhPSAiKiIpIHsKKyAgICAg
ICAgICAgICAgICBSZWZQdHI8Tm9kZT4gbiA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihjb250ZXh0
KS0+Z2V0QXR0cmlidXRlTm9kZU5TKG1fbm9kZVRlc3QubmFtZXNwYWNlVVJJKCksIG1fbm9kZVRl
c3QuZGF0YSgpKTsKKyAgICAgICAgICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VVUkkoKSAh
PSAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSAvLyBJbiBYUGF0aCBsYW5kLCBuYW1l
c3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KKyAg
ICAgICAgICAgICAgICAgICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbm9kZXM7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKICAgICAgICAg
ICAgIE5hbWVkQXR0ck1hcCogYXR0cnMgPSBjb250ZXh0LT5hdHRyaWJ1dGVzKCk7CiAgICAgICAg
ICAgICBpZiAoIWF0dHJzKQogICAgICAgICAgICAgICAgIHJldHVybiBub2RlczsKQEAgLTI1OSwy
NiArMjU5LDM1IEBAIGJvb2wgU3RlcDo6bm9kZU1hdGNoZXMoTm9kZSogbm9kZSkgY29uc3QKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIE5vZGVUZXN0OjpOYW1lVGVzdDog
ewogICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBuYW1lID0gbV9ub2RlVGVzdC5kYXRhKCk7Ci0g
ICAgICAgICAgICBpZiAobmFtZSA9PSAiKiIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUt
Pm5vZGVUeXBlKCkgPT0gcHJpbWFyeU5vZGVUeXBlKG1fYXhpcykgJiYgKG1fbmFtZXNwYWNlVVJJ
LmlzRW1wdHkoKSB8fCBtX25hbWVzcGFjZVVSSSA9PSBub2RlLT5uYW1lc3BhY2VVUkkoKSk7Cisg
ICAgICAgICAgICBjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSA9IG1fbm9kZVRlc3QubmFtZXNw
YWNlVVJJKCk7CiAKICAgICAgICAgICAgIGlmIChtX2F4aXMgPT0gQXR0cmlidXRlQXhpcykgewor
ICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLT5pc0F0dHJpYnV0ZU5vZGUoKSk7CisKICAgICAg
ICAgICAgICAgICAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nl
c3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KLSAgICAgICAgICAgICAgICBpZiAobmFtZSA9
PSAieG1sbnMiKQorICAgICAgICAgICAgICAgIGlmIChub2RlLT5uYW1lc3BhY2VVUkkoKSA9PSAi
aHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogY2hlY2sgdGhlIG5hbWVzcGFj
ZSEKLSAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bm9kZU5hbWUoKSA9PSBuYW1lOwotICAg
ICAgICAgICAgfSBlbHNlIGlmIChtX2F4aXMgPT0gTmFtZXNwYWNlQXhpcykgeworICAgICAgICAg
ICAgICAgIGlmIChuYW1lID09ICIqIikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVz
cGFjZVVSSS5pc0VtcHR5KCkgfHwgbm9kZS0+bmFtZXNwYWNlVVJJKCkgPT0gbmFtZXNwYWNlVVJJ
OworCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUtPmxvY2FsTmFtZSgpID09IG5hbWUgJiYg
bm9kZS0+bmFtZXNwYWNlVVJJKCkgPT0gbmFtZXNwYWNlVVJJOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAobV9heGlzID09IE5hbWVzcGFjZUF4aXMpIHsKICAgICAgICAgICAgICAg
ICAvLyBOb2RlIHRlc3Qgb24gdGhlIG5hbWVzcGFjZSBheGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5
ZXQKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2UgdXNlIHRhZ1FO
YW1lIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRoZSBlbGVtZW50IG5hbWUgaW4gdXBwZXJj
YXNlIAotICAgICAgICAgICAgICAgIC8vIGxpa2Ugd2UgZ2V0IHdpdGggSFRNTCBlbGVtZW50cy4K
LSAgICAgICAgICAgICAgICAvLyBQYXRocyB3aXRob3V0IG5hbWVzcGFjZXMgc2hvdWxkIG1hdGNo
IEhUTUwgZWxlbWVudHMgaW4gSFRNTCBkb2N1bWVudHMgZGVzcGl0ZSB0aG9zZSBoYXZpbmcgYW4g
WEhUTUwgbmFtZXNwYWNlLgotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT5ub2RlVHlwZSgp
ID09IE5vZGU6OkVMRU1FTlRfTk9ERQotICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT50YWdRTmFtZSgpLmxvY2FsTmFtZSgpID09IG5hbWUKLSAg
ICAgICAgICAgICAgICAgICAgICAgICYmICgobm9kZS0+aXNIVE1MRWxlbWVudCgpICYmIG5vZGUt
PmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgJiYgbV9uYW1lc3BhY2VVUkkuaXNOdWxsKCkp
IHx8IG1fbmFtZXNwYWNlVVJJID09IG5vZGUtPm5hbWVzcGFjZVVSSSgpKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGlmIChuYW1lID09ICIqIikKKyAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+bm9kZVR5
cGUoKSA9PSBwcmltYXJ5Tm9kZVR5cGUobV9heGlzKSAmJiAobmFtZXNwYWNlVVJJLmlzRW1wdHko
KSB8fCBuYW1lc3BhY2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJKCkpOworCisgICAgICAgICAg
ICAvLyBXZSB1c2UgdGFnUU5hbWUgaGVyZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdGhlIGVsZW1l
bnQgbmFtZSBpbiB1cHBlcmNhc2UgCisgICAgICAgICAgICAvLyBsaWtlIHdlIGdldCB3aXRoIEhU
TUwgZWxlbWVudHMuCisgICAgICAgICAgICAvLyBQYXRocyB3aXRob3V0IG5hbWVzcGFjZXMgc2hv
dWxkIG1hdGNoIEhUTUwgZWxlbWVudHMgaW4gSFRNTCBkb2N1bWVudHMgZGVzcGl0ZSB0aG9zZSBo
YXZpbmcgYW4gWEhUTUwgbmFtZXNwYWNlLgorICAgICAgICAgICAgcmV0dXJuIG5vZGUtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6RUxFTUVOVF9OT0RFCisgICAgICAgICAgICAgICAgICAgICYmIHN0YXRp
Y19jYXN0PEVsZW1lbnQqPihub2RlKS0+dGFnUU5hbWUoKS5sb2NhbE5hbWUoKSA9PSBuYW1lCisg
ICAgICAgICAgICAgICAgICAgICYmICgobm9kZS0+aXNIVE1MRWxlbWVudCgpICYmIG5vZGUtPmRv
Y3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgJiYgbmFtZXNwYWNlVVJJLmlzTnVsbCgpKSB8fCBu
YW1lc3BhY2VVUkkgPT0gbm9kZS0+bmFtZXNwYWNlVVJJKCkpOwogICAgICAgICB9CiAgICAgfQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgJKHJldmlzaW9uIDIwNDg3KQor
KysgV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgJKHdvcmtpbmcgY29weSkKQEAgLTU2LDMyICs1Niwz
MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnROb2Rl
VGVzdCAvLyBYUGF0aCAyLjAKICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIE5vZGVUZXN0KEtpbmQga2luZCwgY29uc3QgU3RyaW5nJiBkYXRhID0g
U3RyaW5nKCkpIDogbV9raW5kKGtpbmQpLCBtX2RhdGEoZGF0YSkge30KKyAgICAgICAgICAgICAg
ICBOb2RlVGVzdChLaW5kIGtpbmQpIDogbV9raW5kKGtpbmQpIHt9CisgICAgICAgICAgICAgICAg
Tm9kZVRlc3QoS2luZCBraW5kLCBjb25zdCBTdHJpbmcmIGRhdGEpIDogbV9raW5kKGtpbmQpLCBt
X2RhdGEoZGF0YSkge30KKyAgICAgICAgICAgICAgICBOb2RlVGVzdChLaW5kIGtpbmQsIGNvbnN0
IFN0cmluZyYgZGF0YSwgY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkkpIDogbV9raW5kKGtpbmQp
LCBtX2RhdGEoZGF0YSksIG1fbmFtZXNwYWNlVVJJKG5hbWVzcGFjZVVSSSkge30KICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQ7IH0KICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcgZGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YTsgfQorICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyBuYW1lc3BhY2VVUkkoKSBj
b25zdCB7IHJldHVybiBtX25hbWVzcGFjZVVSSTsgfQogICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBLaW5kIG1fa2luZDsKICAgICAgICAgICAg
ICAgICBTdHJpbmcgbV9kYXRhOworICAgICAgICAgICAgICAgIFN0cmluZyBtX25hbWVzcGFjZVVS
STsKICAgICAgICAgICAgIH07CiAKICAgICAgICAgICAgIFN0ZXAoQXhpcywgY29uc3QgTm9kZVRl
c3QmIG5vZGVUZXN0LCBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMgPSBWZWN0
b3I8UHJlZGljYXRlKj4oKSk7Ci0gICAgICAgICAgICBTdGVwKEF4aXMsIGNvbnN0IE5vZGVUZXN0
JiBub2RlVGVzdCwgY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFZlY3RvcjxQcmVk
aWNhdGUqPiYgcHJlZGljYXRlcyA9IFZlY3RvcjxQcmVkaWNhdGUqPigpKTsKICAgICAgICAgICAg
IH5TdGVwKCk7CiAKICAgICAgICAgICAgIE5vZGVTZXQgZXZhbHVhdGUoTm9kZSogY29udGV4dCkg
Y29uc3Q7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIEF4aXMgYXhpcygpIGNvbnN0IHsgcmV0
dXJuIG1fYXhpczsgfQogICAgICAgICAgICAgTm9kZVRlc3Qgbm9kZVRlc3QoKSBjb25zdCB7IHJl
dHVybiBtX25vZGVUZXN0OyB9Ci0gICAgICAgICAgICBjb25zdCBTdHJpbmcmIG5vZGVUZXN0RGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVRlc3REYXRhOyB9Ci0gICAgICAgICAgICBjb25zdCBT
dHJpbmcmIG5hbWVzcGFjZVVSSSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZXNwYWNlVVJJOyB9CiAg
ICAgICAgICAgICBjb25zdCBWZWN0b3I8UHJlZGljYXRlKj4mIHByZWRpY2F0ZXMoKSBjb25zdCB7
IHJldHVybiBtX3ByZWRpY2F0ZXM7IH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgdm9pZCBz
ZXRBeGlzKEF4aXMgYXhpcykgeyBtX2F4aXMgPSBheGlzOyB9CiAgICAgICAgICAgICB2b2lkIHNl
dE5vZGVUZXN0KE5vZGVUZXN0IG5vZGVUZXN0KSB7IG1fbm9kZVRlc3QgPSBub2RlVGVzdDsgfQot
ICAgICAgICAgICAgdm9pZCBzZXROb2RlVGVzdERhdGEoY29uc3QgU3RyaW5nJiBub2RlVGVzdERh
dGEpIHsgbV9ub2RlVGVzdERhdGEgPSBub2RlVGVzdERhdGE7IH0KLSAgICAgICAgICAgIHZvaWQg
c2V0TmFtZXNwYWNlVVJJKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJKSB7IG1fbmFtZXNwYWNl
VVJJID0gbmFtZXNwYWNlVVJJOyB9CiAgICAgICAgICAgICB2b2lkIHNldFByZWRpY2F0ZXMoY29u
c3QgVmVjdG9yPFByZWRpY2F0ZSo+JiBwcmVkaWNhdGVzKSB7IG1fcHJlZGljYXRlcyA9IHByZWRp
Y2F0ZXM7IH0KICAgICAgICAgICAgIAogICAgICAgICBwcml2YXRlOgpAQCAtOTMsOCArOTIsNiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgICAgIEF4aXMgbV9heGlzOwogICAgICAg
ICAgICAgTm9kZVRlc3QgbV9ub2RlVGVzdDsKLSAgICAgICAgICAgIFN0cmluZyBtX25vZGVUZXN0
RGF0YTsKLSAgICAgICAgICAgIFN0cmluZyBtX25hbWVzcGFjZVVSSTsKICAgICAgICAgICAgIFZl
Y3RvcjxQcmVkaWNhdGUqPiBtX3ByZWRpY2F0ZXM7CiAgICAgICAgIH07CiAK
</data>
<flag name="review"
          id="5517"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>