<?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>141955</bug_id>
          
          <creation_ts>2015-02-23 23:04:38 -0800</creation_ts>
          <short_desc>Make ParserError immutable by design</short_desc>
          <delta_ts>2015-02-25 14:29:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1071546</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-23 23:04:38 -0800</bug_when>
    <thetext>Make ParserError immutable by design</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071549</commentid>
    <comment_count>1</comment_count>
      <attachid>247205</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-23 23:09:19 -0800</bug_when>
    <thetext>Created attachment 247205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071715</commentid>
    <comment_count>2</comment_count>
      <attachid>247205</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-24 10:40:57 -0800</bug_when>
    <thetext>Comment on attachment 247205
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072139</commentid>
    <comment_count>3</comment_count>
      <attachid>247205</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-25 14:29:40 -0800</bug_when>
    <thetext>Comment on attachment 247205
Patch

Clearing flags on attachment: 247205

Committed r180637: &lt;http://trac.webkit.org/changeset/180637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072140</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-25 14:29:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247205</attachid>
            <date>2015-02-23 23:09:19 -0800</date>
            <delta_ts>2015-02-25 14:29:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141955-20150223230907.patch</filename>
            <type>text/plain</type>
            <size>18759</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
M2RiZTRiNGNiN2Y1OGYyYjFjMjc0ZmE3MTRhNzBiNjE0OGMxZjRiLi41M2NmMTFjZDIzMjFmNjE3
OTE0YmE0NmYyMTE0MWQ2OGFhNmM1ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NSBAQAorMjAxNS0wMi0yMyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgTWFrZSBQYXJzZXJFcnJvciBpbW11dGFibGUgYnkgZGVzaWduCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE5NTUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGVuZm9yY2UgdGhhdCBubyBmaWVsZCBvZiBQYXJzZXJFcnJvciBjYW4KKyAgICAgICAgYmUgbW9k
aWZpZWQgYWZ0ZXIgdGhlIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogcGFyc2VyL1BhcnNlckVy
cm9yLmg6CisgICAgICAgIE1vdmUgdGhlIGF0dHJpYnV0ZXMgdG8gcGFjayB0aGUgaW50ZWdlciAr
IDIgYnl0ZXMgdG9nZXRoZXIuCisgICAgICAgIFRoaXMgaXMgaXJyZWxldmFudCBmb3IgbWVtb3J5
IGltcGFjdCwgaXQgaXMgdG8gcmVtdmUgYSBsb2FkLXN0b3JlCisgICAgICAgIHdoZW4gY29weWlu
ZyBieSB2YWx1ZS4KKworICAgICAgICBBbHNvIG1vdmUgdGhlIGF0dHJpYnV0ZXMgdG8gYmUgcHJp
dmF0ZS4KKworICAgICAgICAoSlNDOjpQYXJzZXJFcnJvcjo6aXNWYWxpZCk6CisgICAgICAgIFRv
IGNsaWVudCBvZiB0aGUgaW50ZXJmYWNlIGNhcmVkIGFib3V0IHRoZSB0eXBlIG9mIHRoZSBlcnJv
ciwKKyAgICAgICAgdGhlIG9ubHkgaW5mb3JtYXRpb24gbmVlZGVkIHdhczogaXMgdGhlcmUgYW4g
ZXJyb3IuCisKKyAgICAgICAgKEpTQzo6UGFyc2VyRXJyb3I6OlBhcnNlckVycm9yKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRXJyb3I6OnN5bnRheEVycm9yVHlwZSk6CisgICAgICAgIChKU0M6OlBh
cnNlckVycm9yOjp0b2tlbik6CisgICAgICAgIChKU0M6OlBhcnNlckVycm9yOjptZXNzYWdlKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyRXJyb3I6OmxpbmUpOgorICAgICAgICAoSlNDOjpQYXJzZXJF
cnJvcjo6dG9FcnJvck9iamVjdCk6CisgICAgICAgICogQVBJL0pTU2NyaXB0UmVmLmNwcDoKKyAg
ICAgICAgKiBidWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwOgorICAgICAgICAoSlNDOjpC
dWlsdGluRXhlY3V0YWJsZXM6OmNyZWF0ZUJ1aWx0aW5FeGVjdXRhYmxlKToKKyAgICAgICAgKiBi
eXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyYXRlRnVu
Y3Rpb25Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJs
ZTo6ZnJvbUdsb2JhbENvZGUpOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZTo6Y29kZUJsb2NrRm9yKToKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENvZGVCbG9j
ay5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yUnVudGltZUFnZW50OjpwYXJzZSk6Cisg
ICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKHJ1bkludGVyYWN0aXZlKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OnBhcnNlKToKKyAgICAgICAgKiBydW50aW1l
L0NvZGVDYWNoZS5jcHA6CisgICAgICAgIChKU0M6OkNvZGVDYWNoZTo6Z2V0R2xvYmFsQ29kZUJs
b2NrKToKKyAgICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9t
R2xvYmFsQ29kZSk6CisgICAgICAgICogcnVudGltZS9Db2RlQ2FjaGUuaDoKKyAgICAgICAgKiBy
dW50aW1lL0NvbXBsZXRpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuY3BwOgor
ICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVj
dDo6Y3JlYXRlUHJvZ3JhbUNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
OjpjcmVhdGVFdmFsQ29kZUJsb2NrKToKKwogMjAxNS0wMi0xNSAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBleHBlcmltZW50YWwgPGF0dGFjaG1lbnQ+IGVsZW1l
bnQgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Njcmlw
dFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAppbmRl
eCBhNjMzZTVkOGFlOTU5ZjAyM2I5ZDI3YTJhZjdhMTM2OTljZWJkYzBjLi4zYmMxYTJlNTE2NDJm
M2UyNDc2NjNlODdhNzRmOTc2ZmNlMTdmYjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTU2NyaXB0UmVmLmNwcApAQCAtODksMTAgKzg5LDEwIEBAIEpTU2NyaXB0UmVmIEpTU2NyaXB0
Q3JlYXRlUmVmZXJlbmNpbmdJbW1vcnRhbEFTQ0lJVGV4dChKU0NvbnRleHRHcm91cFJlZiBjb250
ZXh0CiAgICAgUGFyc2VyRXJyb3IgZXJyb3I7CiAgICAgaWYgKCFwYXJzZVNjcmlwdCh2bSwgU291
cmNlQ29kZShyZXN1bHQpLCBlcnJvcikpIHsKICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkKLSAg
ICAgICAgICAgICplcnJvck1lc3NhZ2UgPSBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKGVycm9yLm1f
bWVzc2FnZSkubGVha1JlZigpOworICAgICAgICAgICAgKmVycm9yTWVzc2FnZSA9IE9wYXF1ZUpT
U3RyaW5nOjpjcmVhdGUoZXJyb3IubWVzc2FnZSgpKS5sZWFrUmVmKCk7CiAgICAgICAgIGlmIChl
cnJvckxpbmUpCi0gICAgICAgICAgICAqZXJyb3JMaW5lID0gZXJyb3IubV9saW5lOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgICAgICplcnJvckxpbmUgPSBlcnJvci5saW5lKCk7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgp
LmxlYWtSZWYoKTsKQEAgLTExMCwxMCArMTEwLDEwIEBAIEpTU2NyaXB0UmVmIEpTU2NyaXB0Q3Jl
YXRlRnJvbVN0cmluZyhKU0NvbnRleHRHcm91cFJlZiBjb250ZXh0R3JvdXAsIEpTU3RyaW5nUmVm
CiAgICAgUGFyc2VyRXJyb3IgZXJyb3I7CiAgICAgaWYgKCFwYXJzZVNjcmlwdCh2bSwgU291cmNl
Q29kZShyZXN1bHQpLCBlcnJvcikpIHsKICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkKLSAgICAg
ICAgICAgICplcnJvck1lc3NhZ2UgPSBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKGVycm9yLm1fbWVz
c2FnZSkubGVha1JlZigpOworICAgICAgICAgICAgKmVycm9yTWVzc2FnZSA9IE9wYXF1ZUpTU3Ry
aW5nOjpjcmVhdGUoZXJyb3IubWVzc2FnZSgpKS5sZWFrUmVmKCk7CiAgICAgICAgIGlmIChlcnJv
ckxpbmUpCi0gICAgICAgICAgICAqZXJyb3JMaW5lID0gZXJyb3IubV9saW5lOwotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgICplcnJvckxpbmUgPSBlcnJvci5saW5lKCk7CisgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgpLmxl
YWtSZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluRXhlY3V0YWJsZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5FeGVjdXRhYmxlcy5jcHAKaW5kZXggOWZjZGFhMWUzOGRjNjU3NWJiNzkxMzk5YThlM2FhZGMw
MTkxMzMyOC4uNjEyZDY0NTUyMzhkZmM1MjBjYmJiM2YxMWZjYWZjNzBmZWFlMTYxNyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxl
cy5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIEJ1aWx0
aW5FeGVjdXRhYmxlczo6Y3JlYXRlQnVpbHRpbkV4ZWN1dGFibGUoY29uc3QgU28KICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UHJvZ3JhbU5vZGU+IHByb2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4oJm1f
dm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlQnVpbHRpbiwgSlNQYXJzZVByb2dy
YW1Db2RlLCBlcnJvciwgJnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpOwogCiAgICAgaWYgKCFw
cm9ncmFtKSB7Ci0gICAgICAgIGRhdGFMb2coIkZhdGFsIGVycm9yIGNvbXBpbGluZyBidWlsdGlu
IGZ1bmN0aW9uICciLCBuYW1lLnN0cmluZygpLCAiJzogIiwgZXJyb3IubV9tZXNzYWdlKTsKKyAg
ICAgICAgZGF0YUxvZygiRmF0YWwgZXJyb3IgY29tcGlsaW5nIGJ1aWx0aW4gZnVuY3Rpb24gJyIs
IG5hbWUuc3RyaW5nKCksICInOiAiLCBlcnJvci5tZXNzYWdlKCkpOwogICAgICAgICBDUkFTSCgp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Vbmxp
bmtlZENvZGVCbG9jay5jcHAKaW5kZXggNzQwYTI0NDI2NWNjODUyYmEzYTdiY2EyYTFlYjdmNDU4
OTc4YzQ0Yy4uNjQwYmRlNzc4ZmNlYjViM2ViNWEwOTExNzk3MDRkOWYwZDlkZWU5OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2su
Y3BwCkBAIC01NCw4ICs1NCw4IEBAIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBn
ZW5lcmF0ZUZ1bmN0aW9uQ29kZUJsb2NrKFZNJiB2bSwgVW5saW5rZWRGdW5jCiAgICAgc3RkOjp1
bmlxdWVfcHRyPEZ1bmN0aW9uTm9kZT4gZnVuY3Rpb24gPSBwYXJzZTxGdW5jdGlvbk5vZGU+KCZ2
bSwgc291cmNlLCBleGVjdXRhYmxlLT5wYXJhbWV0ZXJzKCksIGV4ZWN1dGFibGUtPm5hbWUoKSwg
ZXhlY3V0YWJsZS0+dG9TdHJpY3RuZXNzKCksIEpTUGFyc2VGdW5jdGlvbkNvZGUsIGVycm9yLCAw
LCBib2R5SW5jbHVkZXNCcmFjZXMpOwogCiAgICAgaWYgKCFmdW5jdGlvbikgewotICAgICAgICBB
U1NFUlQoZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpOwotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgQVNTRVJUKGVycm9yLmlzVmFsaWQoKSk7CisgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIAogICAgIGZ1bmN0aW9uLT5maW5pc2hQYXJzaW5nKGV4ZWN1dGFi
bGUtPnBhcmFtZXRlcnMoKSwgZXhlY3V0YWJsZS0+bmFtZSgpLCBleGVjdXRhYmxlLT5mdW5jdGlv
bk1vZGUoKSk7CkBAIC02NCw4ICs2NCw4IEBAIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJs
b2NrKiBnZW5lcmF0ZUZ1bmN0aW9uQ29kZUJsb2NrKFZNJiB2bSwgVW5saW5rZWRGdW5jCiAgICAg
VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogcmVzdWx0ID0gVW5saW5rZWRGdW5jdGlvbkNvZGVC
bG9jazo6Y3JlYXRlKCZ2bSwgRnVuY3Rpb25Db2RlLCBFeGVjdXRhYmxlSW5mbyhmdW5jdGlvbi0+
bmVlZHNBY3RpdmF0aW9uKCksIGZ1bmN0aW9uLT51c2VzRXZhbCgpLCBmdW5jdGlvbi0+aXNTdHJp
Y3RNb2RlKCksIGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCwgZnVuY3Rpb25LaW5kID09IFVubGlu
a2VkQnVpbHRpbkZ1bmN0aW9uKSk7CiAgICAgYXV0byBnZW5lcmF0b3Ioc3RkOjptYWtlX3VuaXF1
ZTxCeXRlY29kZUdlbmVyYXRvcj4odm0sIGZ1bmN0aW9uLmdldCgpLCByZXN1bHQsIGRlYnVnZ2Vy
TW9kZSwgcHJvZmlsZXJNb2RlKSk7CiAgICAgZXJyb3IgPSBnZW5lcmF0b3ItPmdlbmVyYXRlKCk7
Ci0gICAgaWYgKGVycm9yLm1fdHlwZSAhPSBQYXJzZXJFcnJvcjo6RXJyb3JOb25lKQotICAgICAg
ICByZXR1cm4gMDsKKyAgICBpZiAoZXJyb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMzcsMTEgKzEzNywxMSBAQCBVbmxp
bmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21H
bG9iYWxDb2RlKGNvbnN0IElkZQogICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVj
dXRhYmxlID0gY29kZUNhY2hlLT5nZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZSh2
bSwgbmFtZSwgc291cmNlLCBlcnJvcik7CiAKICAgICBpZiAoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5oYXNEZWJ1Z2dlcigpKQotICAgICAgICBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCktPmRlYnVnZ2VyKCktPnNvdXJjZVBhcnNlZChleGVjLCBzb3VyY2UucHJvdmlkZXIoKSwgZXJy
b3IubV9saW5lLCBlcnJvci5tX21lc3NhZ2UpOworICAgICAgICBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCktPmRlYnVnZ2VyKCktPnNvdXJjZVBhcnNlZChleGVjLCBzb3VyY2UucHJvdmlkZXIo
KSwgZXJyb3IubGluZSgpLCBlcnJvci5tZXNzYWdlKCkpOwogCi0gICAgaWYgKGVycm9yLm1fdHlw
ZSAhPSBQYXJzZXJFcnJvcjo6RXJyb3JOb25lKSB7CisgICAgaWYgKGVycm9yLmlzVmFsaWQoKSkg
ewogICAgICAgICAqZXhjZXB0aW9uID0gZXJyb3IudG9FcnJvck9iamVjdChleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCksIHNvdXJjZSk7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICByZXR1cm4gZXhlY3V0YWJsZTsKQEAgLTE2Miw4ICsx
NjIsOCBAQCBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZTo6Y29kZUJsb2NrRm9yKFZNJiB2bSwgY29ucwogCiAgICAgVW5saW5rZWRGdW5jdGlvbkNv
ZGVCbG9jayogcmVzdWx0ID0gZ2VuZXJhdGVGdW5jdGlvbkNvZGVCbG9jayh2bSwgdGhpcywgc291
cmNlLCBzcGVjaWFsaXphdGlvbktpbmQsIGRlYnVnZ2VyTW9kZSwgcHJvZmlsZXJNb2RlLCBpc0J1
aWx0aW5GdW5jdGlvbigpID8gVW5saW5rZWRCdWlsdGluRnVuY3Rpb24gOiBVbmxpbmtlZE5vcm1h
bEZ1bmN0aW9uLCBib2R5SW5jbHVkZXNCcmFjZXMsIGVycm9yKTsKICAgICAKLSAgICBpZiAoZXJy
b3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpCi0gICAgICAgIHJldHVybiAwOwor
ICAgIGlmIChlcnJvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAg
c3dpdGNoIChzcGVjaWFsaXphdGlvbktpbmQpIHsKICAgICBjYXNlIENvZGVGb3JDYWxsOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2Nr
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaApp
bmRleCBmMTE3MDBmYzE1YTgyMzY5YTMyMWI4YWEzZWE2ZTRiYzY1ZWNhMDExLi4wOGM3Mjk3MzY1
MjliMTM3YmRjM2I0YTkwNDNhOTljZDdjNjEwNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaApAQCAtNTAsNyArNTAsNyBAQCBj
bGFzcyBGdW5jdGlvbkJvZHlOb2RlOwogY2xhc3MgRnVuY3Rpb25FeGVjdXRhYmxlOwogY2xhc3Mg
RnVuY3Rpb25QYXJhbWV0ZXJzOwogY2xhc3MgSlNTY29wZTsKLXN0cnVjdCBQYXJzZXJFcnJvcjsK
K2NsYXNzIFBhcnNlckVycm9yOwogY2xhc3MgU2NyaXB0RXhlY3V0YWJsZTsKIGNsYXNzIFNvdXJj
ZUNvZGU7CiBjbGFzcyBTb3VyY2VQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQu
Y3BwCmluZGV4IGY0NTM5MzVlYjA4N2VkNjMyNDBhMGQ5ODM3OTIzMmJlOTQ4YThiYjguLjJiMWY3
YThiYTkzMjc5NGYwMTc3YmYzMzM2NjQzYmQxZDVlMjQ1ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVu
dGltZUFnZW50LmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2Vu
dDo6cGFyc2UoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIEluc3BlYwog
ICAgIFBhcnNlckVycm9yIGVycm9yOwogICAgIGNoZWNrU3ludGF4KHZtLCBKU0M6Om1ha2VTb3Vy
Y2UoZXhwcmVzc2lvbiksIGVycm9yKTsKIAotICAgIHN3aXRjaCAoZXJyb3IubV9zeW50YXhFcnJv
clR5cGUpIHsKKyAgICBzd2l0Y2ggKGVycm9yLnN5bnRheEVycm9yVHlwZSgpKSB7CiAgICAgY2Fz
ZSBQYXJzZXJFcnJvcjo6U3ludGF4RXJyb3JOb25lOgogICAgICAgICAqcmVzdWx0ID0gSW5zcGVj
dG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3ludGF4RXJyb3JUeXBlOjpOb25lOwogICAgICAgICBi
cmVhazsKQEAgLTEwOCw5ICsxMDgsOSBAQCB2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6cGFy
c2UoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGV4cHJlc3Npb24sIEluc3BlYwogICAgICAg
ICBicmVhazsKICAgICB9CiAKLSAgICBpZiAoZXJyb3IubV9zeW50YXhFcnJvclR5cGUgIT0gUGFy
c2VyRXJyb3I6OlN5bnRheEVycm9yTm9uZSkgewotICAgICAgICAqbWVzc2FnZSA9IGVycm9yLm1f
bWVzc2FnZTsKLSAgICAgICAgcmFuZ2UgPSBidWlsZEVycm9yUmFuZ2VPYmplY3QoZXJyb3IubV90
b2tlbi5tX2xvY2F0aW9uKTsKKyAgICBpZiAoZXJyb3Iuc3ludGF4RXJyb3JUeXBlKCkgIT0gUGFy
c2VyRXJyb3I6OlN5bnRheEVycm9yTm9uZSkgeworICAgICAgICAqbWVzc2FnZSA9IGVycm9yLm1l
c3NhZ2UoKTsKKyAgICAgICAgcmFuZ2UgPSBidWlsZEVycm9yUmFuZ2VPYmplY3QoZXJyb3IudG9r
ZW4oKS5tX2xvY2F0aW9uKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggZWM3
NTI5OTU4YjcwNDlkZTUwOWEzNmM0M2NhMzA4OTZlOWRjOTNlYi4uNDRkYjQxZmQ1M2U5ZDc3NWU4
NzNmZjk4NTA0ODU1ZmE0ZWFjNzNlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTEzMTgsMTAg
KzEzMTgsMTAgQEAgc3RhdGljIHZvaWQgcnVuSW50ZXJhY3RpdmUoR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiAgICAgICAgICAgICBpZiAoIWxpbmVbMF0pCiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICBhZGRfaGlzdG9yeShsaW5lKTsKLSAgICAgICAgfSB3aGlsZSAoZXJy
b3IubV9zeW50YXhFcnJvclR5cGUgPT0gUGFyc2VyRXJyb3I6OlN5bnRheEVycm9yUmVjb3ZlcmFi
bGUpOworICAgICAgICB9IHdoaWxlIChlcnJvci5zeW50YXhFcnJvclR5cGUoKSA9PSBQYXJzZXJF
cnJvcjo6U3ludGF4RXJyb3JSZWNvdmVyYWJsZSk7CiAgICAgICAgIAotICAgICAgICBpZiAoZXJy
b3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpIHsKLSAgICAgICAgICAgIHByaW50
ZigiJXM6JWRcbiIsIGVycm9yLm1fbWVzc2FnZS51dGY4KCkuZGF0YSgpLCBlcnJvci5tX2xpbmUp
OworICAgICAgICBpZiAoZXJyb3IuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICBwcmludGYoIiVz
OiVkXG4iLCBlcnJvci5tZXNzYWdlKCkudXRmOCgpLmRhdGEoKSwgZXJyb3IubGluZSgpKTsKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggYjM5NGMwMTk4MTIzMTUyYWUyZDc5Y2FlOWIwYTgxNWRk
MDg2NzJhYy4uNTAxYzAzNjQ0ZDU1OTdiOGExYTFhZjNlOWY5YzgyZTE4NGVkMmQ4YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC05NzIsNyArOTcyLDcgQEAgc3RkOjp1
bmlxdWVfcHRyPFBhcnNlZE5vZGU+IHBhcnNlKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291
cmNlLCBGdW5jdGlvblBhcmEKICAgICAgICAgICAgICpwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5l
ID0gcGFyc2VyLnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKTsKICAgICAgICAgaWYgKHN0cmlj
dG5lc3MgPT0gSlNQYXJzZUJ1aWx0aW4pIHsKICAgICAgICAgICAgIGlmICghcmVzdWx0KQotICAg
ICAgICAgICAgICAgIFdURjo6ZGF0YUxvZygiRXJyb3IgY29tcGlsaW5nIGJ1aWx0aW46ICIsIGVy
cm9yLm1fbWVzc2FnZSwgIlxuIik7CisgICAgICAgICAgICAgICAgV1RGOjpkYXRhTG9nKCJFcnJv
ciBjb21waWxpbmcgYnVpbHRpbjogIiwgZXJyb3IubWVzc2FnZSgpLCAiXG4iKTsKICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdCk7CiAgICAgICAgICAgICByZXN1bHQtPnNldENsb3Nl
ZFZhcmlhYmxlcyhwYXJzZXIuY2xvc2VkVmFyaWFibGVzKCkpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckVycm9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckVycm9yLmgKaW5kZXggZGYzOGEwNjc0MjlhZWIy
YmI3NjlhNWZiODM5NjQwNGZlODhhNDU2Ny4uMjk5OTg0ZWMzNTQ1YWZmYzY5NmFlYjRkNTYwZWE3
MDUyYWZhYmI4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRXJyb3Iu
aApAQCAtMzQsNyArMzQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RydWN0IFBhcnNlckVy
cm9yIHsKK2NsYXNzIFBhcnNlckVycm9yIHsKK3B1YmxpYzoKICAgICBlbnVtIFN5bnRheEVycm9y
VHlwZSB7CiAgICAgICAgIFN5bnRheEVycm9yTm9uZSwKICAgICAgICAgU3ludGF4RXJyb3JJcnJl
Y292ZXJhYmxlLApAQCAtNTAsNDcgKzUxLDQ1IEBAIHN0cnVjdCBQYXJzZXJFcnJvciB7CiAgICAg
ICAgIFN5bnRheEVycm9yCiAgICAgfTsKIAotICAgIEVycm9yVHlwZSBtX3R5cGU7Ci0gICAgU3lu
dGF4RXJyb3JUeXBlIG1fc3ludGF4RXJyb3JUeXBlOwotICAgIEpTVG9rZW4gbV90b2tlbjsKLSAg
ICBTdHJpbmcgbV9tZXNzYWdlOwotICAgIGludCBtX2xpbmU7CiAgICAgUGFyc2VyRXJyb3IoKQog
ICAgICAgICA6IG1fdHlwZShFcnJvck5vbmUpCiAgICAgICAgICwgbV9zeW50YXhFcnJvclR5cGUo
U3ludGF4RXJyb3JOb25lKQotICAgICAgICAsIG1fbGluZSgtMSkKICAgICB7CiAgICAgfQogICAg
IAogICAgIGV4cGxpY2l0IFBhcnNlckVycm9yKEVycm9yVHlwZSB0eXBlKQogICAgICAgICA6IG1f
dHlwZSh0eXBlKQogICAgICAgICAsIG1fc3ludGF4RXJyb3JUeXBlKFN5bnRheEVycm9yTm9uZSkK
LSAgICAgICAgLCBtX2xpbmUoLTEpCiAgICAgewogICAgIH0KIAogICAgIFBhcnNlckVycm9yKEVy
cm9yVHlwZSB0eXBlLCBTeW50YXhFcnJvclR5cGUgc3ludGF4RXJyb3IsIEpTVG9rZW4gdG9rZW4p
Ci0gICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgICAgIDogbV90b2tlbih0b2tlbikKKyAgICAg
ICAgLCBtX3R5cGUodHlwZSkKICAgICAgICAgLCBtX3N5bnRheEVycm9yVHlwZShzeW50YXhFcnJv
cikKLSAgICAgICAgLCBtX3Rva2VuKHRva2VuKQotICAgICAgICAsIG1fbGluZSgtMSkKICAgICB7
CiAgICAgfQogCiAgICAgUGFyc2VyRXJyb3IoRXJyb3JUeXBlIHR5cGUsIFN5bnRheEVycm9yVHlw
ZSBzeW50YXhFcnJvciwgSlNUb2tlbiB0b2tlbiwgU3RyaW5nIG1zZywgaW50IGxpbmUpCi0gICAg
ICAgIDogbV90eXBlKHR5cGUpCi0gICAgICAgICwgbV9zeW50YXhFcnJvclR5cGUoc3ludGF4RXJy
b3IpCi0gICAgICAgICwgbV90b2tlbih0b2tlbikKKyAgICAgICAgOiBtX3Rva2VuKHRva2VuKQog
ICAgICAgICAsIG1fbWVzc2FnZShtc2cpCiAgICAgICAgICwgbV9saW5lKGxpbmUpCisgICAgICAg
ICwgbV90eXBlKHR5cGUpCisgICAgICAgICwgbV9zeW50YXhFcnJvclR5cGUoc3ludGF4RXJyb3Ip
CiAgICAgewogICAgIH0KIAorICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZSAhPSBFcnJvck5vbmU7IH0KKyAgICBTeW50YXhFcnJvclR5cGUgc3ludGF4RXJyb3JUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9zeW50YXhFcnJvclR5cGU7IH0KKyAgICBjb25zdCBKU1Rva2VuJiB0
b2tlbigpIGNvbnN0IHsgcmV0dXJuIG1fdG9rZW47IH0KKyAgICBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KKyAgICBpbnQgbGluZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZTsgfQorCiAgICAgSlNPYmplY3QqIHRvRXJyb3JPYmplY3QoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU291cmNlQ29kZSYgc291cmNlKQogICAgIHsKICAg
ICAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICAgICAgY2FzZSBFcnJvck5vbmU6Ci0gICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICBjYXNl
IFN5bnRheEVycm9yOgogICAgICAgICAgICAgcmV0dXJuIGFkZEVycm9ySW5mbyhnbG9iYWxPYmpl
Y3QtPmdsb2JhbEV4ZWMoKSwgY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBtX21lc3Nh
Z2UpLCBtX2xpbmUsIHNvdXJjZSk7CiAgICAgICAgIGNhc2UgRXZhbEVycm9yOgpAQCAtMTAzLDkg
KzEwMiwxNSBAQCBzdHJ1Y3QgUGFyc2VyRXJyb3IgewogICAgICAgICAgICAgcmV0dXJuIGNyZWF0
ZU91dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgfQogICAgICAgICBDUkFT
SCgpOwotICAgICAgICByZXR1cm4gY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcihnbG9iYWxPYmplY3Qp
OyAvLyBBcHBlYXNlIFF0IGJvdAorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Ci0jdW5k
ZWYgR0VUX0VSUk9SX0NPREUKKworcHJpdmF0ZToKKyAgICBKU1Rva2VuIG1fdG9rZW47CisgICAg
U3RyaW5nIG1fbWVzc2FnZTsKKyAgICBpbnQgbV9saW5lIHsgLTEgfTsKKyAgICBFcnJvclR5cGUg
bV90eXBlOworICAgIFN5bnRheEVycm9yVHlwZSBtX3N5bnRheEVycm9yVHlwZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29kZUNhY2hlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNo
ZS5jcHAKaW5kZXggOWJjMjhjYTE4Y2Q2NmMxYzViYTgwZmU1ODA2MGNiYmMxNTFiNzBkNC4uNTA1
MjMxMTIyZGJhZTY5YjJmMGI4MGZhMmFmYjI0MTEzNGI3YTI0OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCkBAIC0xMDksOSArMTA5LDkgQEAgVW5saW5r
ZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4
ZWN1dGFibGVUeXBlKiBleGUKIAogICAgIGF1dG8gZ2VuZXJhdG9yID0gc3RkOjptYWtlX3VuaXF1
ZTxCeXRlY29kZUdlbmVyYXRvcj4odm0sIHJvb3ROb2RlLmdldCgpLCB1bmxpbmtlZENvZGVCbG9j
aywgZGVidWdnZXJNb2RlLCBwcm9maWxlck1vZGUpOwogICAgIGVycm9yID0gZ2VuZXJhdG9yLT5n
ZW5lcmF0ZSgpOwotICAgIGlmIChlcnJvci5tX3R5cGUgIT0gUGFyc2VyRXJyb3I6OkVycm9yTm9u
ZSkgeworICAgIGlmIChlcnJvci5pc1ZhbGlkKCkpIHsKICAgICAgICAgbV9zb3VyY2VDb2RlLnJl
bW92ZShhZGRSZXN1bHQuaXRlcmF0b3IpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCFjYW5DYWNoZSkgewpAQCAtMTQzLDkgKzE0
Myw5IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBDb2RlQ2FjaGU6OmdldEZ1bmN0aW9u
RXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKFZNJiB2CiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRp
b25CZWZvcmVMYXN0TmV3bGluZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvZ3JhbU5vZGU+IHBy
b2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4oJnZtLCBzb3VyY2UsIDAsIElkZW50aWZpZXIoKSwg
SlNQYXJzZU5vcm1hbCwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJvciwgJnBvc2l0aW9uQmVmb3Jl
TGFzdE5ld2xpbmUpOwogICAgIGlmICghcHJvZ3JhbSkgewotICAgICAgICBSRUxFQVNFX0FTU0VS
VChlcnJvci5tX3R5cGUgIT0gUGFyc2VyRXJyb3I6OkVycm9yTm9uZSk7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGVycm9yLmlzVmFsaWQoKSk7CiAgICAgICAgIG1fc291cmNlQ29kZS5yZW1vdmUo
YWRkUmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIH0KIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyBhbiBpbnB1dCBz
dHJpbmcgdGhhdCB3b3VsZCByZXN1bHQgaW4gYSBzaW5nbGUgYW5vbnltb3VzIGZ1bmN0aW9uIGV4
cHJlc3Npb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2Rl
Q2FjaGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCmluZGV4
IDU2YjJlZGNlYTc4MmY2MTRmMDY1ODdmNGZhMGUyMGZhMzZjMmU2ZjEuLmZlMDdkMTljNjlkNDRh
NDhjMGQwMjBkNTgzMzhhODBlNDNhYTZkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvZGVDYWNoZS5oCkBAIC00Miw2ICs0Miw3IEBAIGNsYXNzIEV2YWxFeGVjdXRhYmxlOwog
Y2xhc3MgRnVuY3Rpb25Cb2R5Tm9kZTsKIGNsYXNzIElkZW50aWZpZXI7CiBjbGFzcyBKU1Njb3Bl
OworY2xhc3MgUGFyc2VyRXJyb3I7CiBjbGFzcyBQcm9ncmFtRXhlY3V0YWJsZTsKIGNsYXNzIFVu
bGlua2VkQ29kZUJsb2NrOwogY2xhc3MgVW5saW5rZWRFdmFsQ29kZUJsb2NrOwpAQCAtNDksNyAr
NTAsNiBAQCBjbGFzcyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrOwogY2xhc3MgVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGU7CiBjbGFzcyBVbmxpbmtlZFByb2dyYW1Db2RlQmxvY2s7CiBjbGFz
cyBWTTsKLXN0cnVjdCBQYXJzZXJFcnJvcjsKIGNsYXNzIFNvdXJjZUNvZGU7CiBjbGFzcyBTb3Vy
Y2VQcm92aWRlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tcGxldGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5o
CmluZGV4IDMzYzdiOWRjMDIyNzZiMDJkYzIyY2MyYzg5NTNkNmJjNmY5MjYxNGYuLjExMjMzMWE2
M2ZiYWRlYmMyODE3YjhjOWI4ZTI1YzdiOTdiMTU2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21wbGV0aW9uLmgKQEAgLTI3LDkgKzI3LDkgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAgICAgCi1zdHJ1Y3QgUGFyc2VyRXJyb3I7CiBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBK
U1Njb3BlOworY2xhc3MgUGFyc2VyRXJyb3I7CiBjbGFzcyBTb3VyY2VDb2RlOwogY2xhc3MgVk07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5kZXgg
NGI1ZTMzN2E4MTAyNTFkNmUzMzRhOWY1YWNhYWE5NjE5MzZkYzAzYS4uNmU5ZDVjNzJiOTc2NjM0
YzU4MzYyZjI0MjQzYjE3MmEzZDdhNDE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTQ2Myw3ICs0NjMsNyBAQCBKU09iamVjdCogUHJvZ3Jh
bUV4ZWN1dGFibGU6OmNoZWNrU3ludGF4KEV4ZWNTdGF0ZSogZXhlYykKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvZ3JhbU5vZGU+IHByb2dyYW1Ob2RlID0gcGFyc2U8UHJvZ3JhbU5vZGU+KHZtLCBt
X3NvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlTm9ybWFsLCBKU1BhcnNlUHJvZ3JhbUNv
ZGUsIGVycm9yKTsKICAgICBpZiAocHJvZ3JhbU5vZGUpCiAgICAgICAgIHJldHVybiAwOwotICAg
IEFTU0VSVChlcnJvci5tX3R5cGUgIT0gUGFyc2VyRXJyb3I6OkVycm9yTm9uZSk7CisgICAgQVNT
RVJUKGVycm9yLmlzVmFsaWQoKSk7CiAgICAgcmV0dXJuIGVycm9yLnRvRXJyb3JPYmplY3QobGV4
aWNhbEdsb2JhbE9iamVjdCwgbV9zb3VyY2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggODJmNWY5ZGE0ZmQzOWFmNWQ4
Nzk4N2ZhOWIyODNjMzVjZjc4Mzk5Yy4uZGMzMjRmZTJkYmExOTRmYzI5MDkwOTQxZGE5NzdkNzIx
OGFiNDlhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcApAQCAtNzY1LDExICs3NjUsMTEgQEAgVW5saW5rZWRQcm9ncmFtQ29kZUJsb2Nr
KiBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlUHJvZ3JhbUNvZGVCbG9jayhDYWxsRnJhbWUqIGNhbGwK
ICAgICBVbmxpbmtlZFByb2dyYW1Db2RlQmxvY2sqIHVubGlua2VkQ29kZUJsb2NrID0gdm0oKS5j
b2RlQ2FjaGUoKS0+Z2V0UHJvZ3JhbUNvZGVCbG9jayh2bSgpLCBleGVjdXRhYmxlLCBleGVjdXRh
YmxlLT5zb3VyY2UoKSwgc3RyaWN0bmVzcywgZGVidWdnZXJNb2RlLCBwcm9maWxlck1vZGUsIGVy
cm9yKTsKIAogICAgIGlmIChoYXNEZWJ1Z2dlcigpKQotICAgICAgICBkZWJ1Z2dlcigpLT5zb3Vy
Y2VQYXJzZWQoY2FsbEZyYW1lLCBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBlcnJv
ci5tX2xpbmUsIGVycm9yLm1fbWVzc2FnZSk7CisgICAgICAgIGRlYnVnZ2VyKCktPnNvdXJjZVBh
cnNlZChjYWxsRnJhbWUsIGV4ZWN1dGFibGUtPnNvdXJjZSgpLnByb3ZpZGVyKCksIGVycm9yLmxp
bmUoKSwgZXJyb3IubWVzc2FnZSgpKTsKIAotICAgIGlmIChlcnJvci5tX3R5cGUgIT0gUGFyc2Vy
RXJyb3I6OkVycm9yTm9uZSkgeworICAgIGlmIChlcnJvci5pc1ZhbGlkKCkpIHsKICAgICAgICAg
KmV4Y2VwdGlvbiA9IGVycm9yLnRvRXJyb3JPYmplY3QodGhpcywgZXhlY3V0YWJsZS0+c291cmNl
KCkpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
ICAgIAogICAgIHJldHVybiB1bmxpbmtlZENvZGVCbG9jazsKQEAgLTc4NCwxMSArNzg0LDExIEBA
IFVubGlua2VkRXZhbENvZGVCbG9jayogSlNHbG9iYWxPYmplY3Q6OmNyZWF0ZUV2YWxDb2RlQmxv
Y2soQ2FsbEZyYW1lKiBjYWxsRnJhbWUsCiAgICAgVW5saW5rZWRFdmFsQ29kZUJsb2NrKiB1bmxp
bmtlZENvZGVCbG9jayA9IHZtKCkuY29kZUNhY2hlKCktPmdldEV2YWxDb2RlQmxvY2sodm0oKSwg
ZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+c291cmNlKCksIHN0cmljdG5lc3MsIGRlYnVnZ2VyTW9k
ZSwgcHJvZmlsZXJNb2RlLCBlcnJvcik7CiAKICAgICBpZiAoaGFzRGVidWdnZXIoKSkKLSAgICAg
ICAgZGVidWdnZXIoKS0+c291cmNlUGFyc2VkKGNhbGxGcmFtZSwgZXhlY3V0YWJsZS0+c291cmNl
KCkucHJvdmlkZXIoKSwgZXJyb3IubV9saW5lLCBlcnJvci5tX21lc3NhZ2UpOworICAgICAgICBk
ZWJ1Z2dlcigpLT5zb3VyY2VQYXJzZWQoY2FsbEZyYW1lLCBleGVjdXRhYmxlLT5zb3VyY2UoKS5w
cm92aWRlcigpLCBlcnJvci5saW5lKCksIGVycm9yLm1lc3NhZ2UoKSk7CiAKLSAgICBpZiAoZXJy
b3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpIHsKKyAgICBpZiAoZXJyb3IuaXNW
YWxpZCgpKSB7CiAgICAgICAgIHRocm93Vk1FcnJvcihjYWxsRnJhbWUsIGVycm9yLnRvRXJyb3JP
YmplY3QodGhpcywgZXhlY3V0YWJsZS0+c291cmNlKCkpKTsKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJldHVybiB1bmxpbmtlZENvZGVC
bG9jazsK
</data>

          </attachment>
      

    </bug>

</bugzilla>