<?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>151419</bug_id>
          
          <creation_ts>2015-11-18 15:59:31 -0800</creation_ts>
          <short_desc>REGRESSION(r192436): Caused a hang in the inspector and a crash @ google.com. (Requested by saamyjoon on #webkit).</short_desc>
          <delta_ts>2022-03-01 02:45:03 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>151417</dup_id>
          
          <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>151026</blocked>
    
    <blocked>151369</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ggaren</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1143048</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 15:59:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/192436 broke the build:
Caused a hang in the inspector and a crash @ google.com. (Requested by saamyjoon on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143049</commentid>
    <comment_count>1</comment_count>
      <attachid>265796</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 16:00:00 -0800</bug_when>
    <thetext>Created attachment 265796
ROLLOUT of r192436

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143050</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-11-18 16:00:32 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 151417 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265796</attachid>
            <date>2015-11-18 16:00:00 -0800</date>
            <delta_ts>2022-03-01 02:45:03 -0800</delta_ts>
            <desc>ROLLOUT of r192436</desc>
            <filename>bug-151419-20151118155948.patch</filename>
            <type>text/plain</type>
            <size>38615</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
YjljMjFkYTNmMTAzMDg5ZTMxNTQwYmM0NzU3NWVjYjdiMjgxZmU3Li43YWJiMjEwYjVjNjEyNjlk
NDhmYzMwY2M5OWUzYTIwNDNhMWM1YWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNS0xMS0xOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5MjQzNiBhbmQgcjE5
MjU4Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MTQxOQorCisgICAgICAgIENhdXNlZCBhIGhhbmcgaW4gdGhlIGluc3BlY3RvciBhbmQgYSBjcmFz
aCBAIGdvb2dsZS5jb20uCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgc2FhbXlqb29uIG9uICN3ZWJr
aXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIkFsbG93IGFu
eSBMZWZ0SGFuZFNpZGVFeHByZXNzaW9uIGFzIGEgdmFsaWQKKyAgICAgICAgQXNzaWdubWVudEVs
ZW1lbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTEwMjYKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTkyNDM2CisK
KyAgICAgICAgIlRoZXJlIGlzIGEgYnVnIHdoZW4gZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWVzIGFy
ZSBtaXhlZCB3aXRoCisgICAgICAgIGRlc3RydWN0dXJpbmcgcGFyYW1ldGVyIHZhbHVlcyIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTM2OQorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTI1ODYKKwogMjAxNS0xMS0x
OCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBNYWtlIExCYXNpY0Jsb2NrIGludG8gYW4gYWxpYXMgZm9yIEIzOjpCYXNpY0Jsb2NrLiAjaWZk
ZWYgYW55dGhpbmcgdGhhdCBkb2VzIG5vdCBjb21waWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNDE2NjY3MThhZDAw
OTU1ZDEwN2Q4MjIzOGE2YmU2YWQ4YTNhYTNiZi4uODczZjRhYjQ0MjQwNzBkYzdmZDg2NjMxYWM0
NWExNGRjMTVlMTgyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMzM5Nyw2NSArMzM5Nyw3IEBAIHZvaWQgQmluZGlu
Z05vZGU6OmNvbGxlY3RCb3VuZElkZW50aWZpZXJzKFZlY3RvcjxJZGVudGlmaWVyPiYgaWRlbnRp
ZmllcnMpIGNvbnN0CiB7CiAgICAgaWRlbnRpZmllcnMuYXBwZW5kKG1fYm91bmRQcm9wZXJ0eSk7
CiB9Ci0KLXZvaWQgQXNzaWdubWVudEVsZW1lbnROb2RlOjpjb2xsZWN0Qm91bmRJZGVudGlmaWVy
cyhWZWN0b3I8SWRlbnRpZmllcj4mKSBjb25zdAotewotfQotCi12b2lkIEFzc2lnbm1lbnRFbGVt
ZW50Tm9kZTo6YmluZFZhbHVlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVy
SUQqIHZhbHVlKSBjb25zdAotewotICAgIGlmIChtX2Fzc2lnbm1lbnRUYXJnZXQtPmlzUmVzb2x2
ZU5vZGUoKSkgewotICAgICAgICBSZXNvbHZlTm9kZSogbGhzID0gc3RhdGljX2Nhc3Q8UmVzb2x2
ZU5vZGUqPihtX2Fzc2lnbm1lbnRUYXJnZXQpOwotICAgICAgICBWYXJpYWJsZSB2YXIgPSBnZW5l
cmF0b3IudmFyaWFibGUobGhzLT5pZGVudGlmaWVyKCkpOwotICAgICAgICBib29sIGlzUmVhZE9u
bHkgPSB2YXIuaXNSZWFkT25seSgpOwotICAgICAgICBpZiAoUmVnaXN0ZXJJRCogbG9jYWwgPSB2
YXIubG9jYWwoKSkgewotICAgICAgICAgICAgZ2VuZXJhdG9yLmVtaXRURFpDaGVja0lmTmVjZXNz
YXJ5KHZhciwgbG9jYWwsIG51bGxwdHIpOwotCi0gICAgICAgICAgICBpZiAoaXNSZWFkT25seSkK
LSAgICAgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdFJlYWRPbmx5RXhjZXB0aW9uSWZOZWVkZWQo
dmFyKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGdlbmVyYXRvci5pbnZh
bGlkYXRlRm9ySW5Db250ZXh0Rm9yTG9jYWwobG9jYWwpOwotICAgICAgICAgICAgICAgIGdlbmVy
YXRvci5tb3ZlVG9EZXN0aW5hdGlvbklmTmVlZGVkKGxvY2FsLCB2YWx1ZSk7Ci0gICAgICAgICAg
ICAgICAgZ2VuZXJhdG9yLmVtaXRQcm9maWxlVHlwZShsb2NhbCwgZGl2b3RTdGFydCgpLCBkaXZv
dEVuZCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
ICAgICAgICBpZiAoZ2VuZXJhdG9yLmlzU3RyaWN0TW9kZSgpKQotICAgICAgICAgICAgZ2VuZXJh
dG9yLmVtaXRFeHByZXNzaW9uSW5mbyhkaXZvdEVuZCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90RW5k
KCkpOwotICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gc2NvcGUgPSBnZW5lcmF0b3IuZW1pdFJl
c29sdmVTY29wZShudWxscHRyLCB2YXIpOwotICAgICAgICBnZW5lcmF0b3IuZW1pdFREWkNoZWNr
SWZOZWNlc3NhcnkodmFyLCBudWxscHRyLCBzY29wZS5nZXQoKSk7Ci0gICAgICAgIGlmIChpc1Jl
YWRPbmx5KSB7Ci0gICAgICAgICAgICBib29sIHRocmV3RXhjZXB0aW9uID0gZ2VuZXJhdG9yLmVt
aXRSZWFkT25seUV4Y2VwdGlvbklmTmVlZGVkKHZhcik7Ci0gICAgICAgICAgICBpZiAodGhyZXdF
eGNlcHRpb24pCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGdl
bmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3RFbmQoKSwgZGl2b3RTdGFydCgpLCBkaXZv
dEVuZCgpKTsKLSAgICAgICAgaWYgKCFpc1JlYWRPbmx5KSB7Ci0gICAgICAgICAgICBnZW5lcmF0
b3IuZW1pdFB1dFRvU2NvcGUoc2NvcGUuZ2V0KCksIHZhciwgdmFsdWUsIGdlbmVyYXRvci5pc1N0
cmljdE1vZGUoKSA/IFRocm93SWZOb3RGb3VuZCA6IERvTm90VGhyb3dJZk5vdEZvdW5kLCBOb3RJ
bml0aWFsaXphdGlvbik7Ci0gICAgICAgICAgICBnZW5lcmF0b3IuZW1pdFByb2ZpbGVUeXBlKHZh
bHVlLCB2YXIsIGRpdm90U3RhcnQoKSwgZGl2b3RFbmQoKSk7Ci0gICAgICAgIH0KLSAgICB9IGVs
c2UgaWYgKG1fYXNzaWdubWVudFRhcmdldC0+aXNEb3RBY2Nlc3Nvck5vZGUoKSkgewotICAgICAg
ICBEb3RBY2Nlc3Nvck5vZGUqIGxocyA9IHN0YXRpY19jYXN0PERvdEFjY2Vzc29yTm9kZSo+KG1f
YXNzaWdubWVudFRhcmdldCk7Ci0gICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBiYXNlID0gZ2Vu
ZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKGxocy0+YmFzZSgpLCB0cnVlLCBmYWxzZSk7
Ci0gICAgICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oZGl2b3RFbmQoKSwgZGl2b3RT
dGFydCgpLCBkaXZvdEVuZCgpKTsKLSAgICAgICAgZ2VuZXJhdG9yLmVtaXRQdXRCeUlkKGJhc2Uu
Z2V0KCksIGxocy0+aWRlbnRpZmllcigpLCB2YWx1ZSk7Ci0gICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUodmFsdWUsIGRpdm90U3RhcnQoKSwgZGl2b3RFbmQoKSk7Ci0gICAgfSBlbHNl
IGlmIChtX2Fzc2lnbm1lbnRUYXJnZXQtPmlzQnJhY2tldEFjY2Vzc29yTm9kZSgpKSB7Ci0gICAg
ICAgIEJyYWNrZXRBY2Nlc3Nvck5vZGUqIGxocyA9IHN0YXRpY19jYXN0PEJyYWNrZXRBY2Nlc3Nv
ck5vZGUqPihtX2Fzc2lnbm1lbnRUYXJnZXQpOwotICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
YmFzZSA9IGdlbmVyYXRvci5lbWl0Tm9kZUZvckxlZnRIYW5kU2lkZShsaHMtPmJhc2UoKSwgdHJ1
ZSwgZmFsc2UpOwotICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHkgPSBnZW5lcmF0
b3IuZW1pdE5vZGVGb3JMZWZ0SGFuZFNpZGUobGhzLT5zdWJzY3JpcHQoKSwgdHJ1ZSwgZmFsc2Up
OwotICAgICAgICBnZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKGRpdm90RW5kKCksIGRpdm90
U3RhcnQoKSwgZGl2b3RFbmQoKSk7Ci0gICAgICAgIGdlbmVyYXRvci5lbWl0UHV0QnlWYWwoYmFz
ZS5nZXQoKSwgcHJvcGVydHkuZ2V0KCksIHZhbHVlKTsKLSAgICAgICAgZ2VuZXJhdG9yLmVtaXRQ
cm9maWxlVHlwZSh2YWx1ZSwgZGl2b3RTdGFydCgpLCBkaXZvdEVuZCgpKTsKLSAgICB9Ci19Ci0K
LXZvaWQgQXNzaWdubWVudEVsZW1lbnROb2RlOjp0b1N0cmluZyhTdHJpbmdCdWlsZGVyJiBidWls
ZGVyKSBjb25zdAotewotICAgIGlmIChtX2Fzc2lnbm1lbnRUYXJnZXQtPmlzUmVzb2x2ZU5vZGUo
KSkKLSAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihtX2Fz
c2lnbm1lbnRUYXJnZXQpLT5pZGVudGlmaWVyKCkuc3RyaW5nKCkpOwotfQotCisgICAgCiBSZWdp
c3RlcklEKiBTcHJlYWRFeHByZXNzaW9uTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiwgUmVnaXN0ZXJJRCopCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggNmQ3NWQ2MDNk
MDRmYzI2NjU0NDQ0YzdkMzQ1ZjNjYzczNjFhNmQxZS4uN2M4NWFjMGNiODM4NzUyNDM4MjJkMWJk
MDEzYTNmNzkzY2U3ZDlhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKQEAgLTEyMSw3ICsxMjEsNiBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBBcnJheVBhdHRl
cm5Ob2RlKiBBcnJheVBhdHRlcm47CiAgICAgdHlwZWRlZiBPYmplY3RQYXR0ZXJuTm9kZSogT2Jq
ZWN0UGF0dGVybjsKICAgICB0eXBlZGVmIEJpbmRpbmdOb2RlKiBCaW5kaW5nUGF0dGVybjsKLSAg
ICB0eXBlZGVmIEFzc2lnbm1lbnRFbGVtZW50Tm9kZSogQXNzaWdubWVudEVsZW1lbnQ7CiAgICAg
c3RhdGljIGNvbnN0IGJvb2wgQ3JlYXRlc0FTVCA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgTmVlZHNGcmVlVmFyaWFibGVJbmZvID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBD
YW5Vc2VGdW5jdGlvbkNhY2hlID0gdHJ1ZTsKQEAgLTUyNSwyNiArNTI0LDYgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gcGF0dGVybi0+aXNCaW5kaW5nTm9kZSgpOwogICAgIH0KIAotICAgIGJv
b2wgaXNBc3NpZ25tZW50TG9jYXRpb24oY29uc3QgRXhwcmVzc2lvbiYgcGF0dGVybikKLSAgICB7
Ci0gICAgICAgIHJldHVybiBwYXR0ZXJuLT5pc0Fzc2lnbm1lbnRMb2NhdGlvbigpOwotICAgIH0K
LQotICAgIGJvb2wgaXNPYmplY3RMaXRlcmFsKGNvbnN0IEV4cHJlc3Npb24mIG5vZGUpCi0gICAg
ewotICAgICAgICByZXR1cm4gbm9kZS0+aXNPYmplY3RMaXRlcmFsKCk7Ci0gICAgfQotCi0gICAg
Ym9vbCBpc0FycmF5TGl0ZXJhbChjb25zdCBFeHByZXNzaW9uJiBub2RlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG5vZGUtPmlzQXJyYXlMaXRlcmFsKCk7Ci0gICAgfQotCi0gICAgYm9vbCBpc09i
amVjdE9yQXJyYXlMaXRlcmFsKGNvbnN0IEV4cHJlc3Npb24mIG5vZGUpCi0gICAgewotICAgICAg
ICByZXR1cm4gaXNPYmplY3RMaXRlcmFsKG5vZGUpIHx8IGlzQXJyYXlMaXRlcmFsKG5vZGUpOwot
ICAgIH0KLQogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUVtcHR5U3RhdGVtZW50KGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24pIHsgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRW1w
dHlTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKTsgfQogCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRl
RGVjbGFyYXRpb25TdGF0ZW1lbnQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhw
cmVzc2lvbk5vZGUqIGV4cHIsIGludCBzdGFydCwgaW50IGVuZCkKQEAgLTg1NywxMSArODM2LDYg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBCaW5kaW5nTm9k
ZShib3VuZFByb3BlcnR5LCBzdGFydCwgZW5kLCBjb250ZXh0KTsKICAgICB9CiAKLSAgICBBc3Np
Z25tZW50RWxlbWVudCBjcmVhdGVBc3NpZ25tZW50RWxlbWVudChjb25zdCBFeHByZXNzaW9uJiBh
c3NpZ25tZW50VGFyZ2V0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBlbmQpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5h
KSBBc3NpZ25tZW50RWxlbWVudE5vZGUoYXNzaWdubWVudFRhcmdldCwgc3RhcnQsIGVuZCk7Ci0g
ICAgfQotCiAgICAgdm9pZCBzZXRFbmRPZmZzZXQoTm9kZSogbm9kZSwgaW50IG9mZnNldCkKICAg
ICB7CiAgICAgICAgIG5vZGUtPnNldEVuZE9mZnNldChvZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCBiZjUxMmFiNTdhYzA3
Y2UzOTFkYWFlODNlNjcwMjc3ODViZWQ1ZDUyLi4xYmNlMzBlZDdkYjhkYWI2ZGM0MDk4OTFmZDg1
Mzk1Y2NmZTU1ZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVD
b25zdHJ1Y3RvcnMuaApAQCAtMTAyMCwxNSArMTAyMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICAsIG1fYmluZGluZ0NvbnRleHQoY29udGV4dCkKICAgICB7CiAgICAgfQotCi0gICAgaW5s
aW5lIEFzc2lnbm1lbnRFbGVtZW50Tm9kZTo6QXNzaWdubWVudEVsZW1lbnROb2RlKEV4cHJlc3Np
b25Ob2RlKiBhc3NpZ25tZW50VGFyZ2V0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCi0gICAgICAgIDogRGVzdHJ1Y3R1cmluZ1BhdHRlcm5O
b2RlKCkKLSAgICAgICAgLCBtX2Rpdm90U3RhcnQoc3RhcnQpCi0gICAgICAgICwgbV9kaXZvdEVu
ZChlbmQpCi0gICAgICAgICwgbV9hc3NpZ25tZW50VGFyZ2V0KGFzc2lnbm1lbnRUYXJnZXQpCi0g
ICAgewotICAgIH0KLQorICAgIAogICAgIGlubGluZSBEZXN0cnVjdHVyaW5nQXNzaWdubWVudE5v
ZGU6OkRlc3RydWN0dXJpbmdBc3NpZ25tZW50Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBEZXN0cnVjdHVyaW5nUGF0dGVybk5vZGUqIGJpbmRpbmdzLCBFeHByZXNzaW9uTm9k
ZSogaW5pdGlhbGl6ZXIpCiAgICAgICAgIDogRXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCiAgICAg
ICAgICwgbV9iaW5kaW5ncyhiaW5kaW5ncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
aAppbmRleCAxMzk4MmM1YTBjMDI3NjlmN2I5OTA3YTAyZDQ3YjIwMmM1ZThjZjNiLi5jZGU0OWE5
YjZhNjA0NTY5OGViZWJkNGQwOWE3ZWNiM2FlOTJmYzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2Rlcy5oCkBAIC0xNTMsOCArMTUzLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgdmlydHVhbCBib29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAg
ICAgdmlydHVhbCBib29sIGlzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAg
ICAgdmlydHVhbCBib29sIGlzT2JqZWN0TGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc0FycmF5TGl0ZXJhbCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNQdXJlKEJ5dGVjb2RlR2VuZXJhdG9yJikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0gICAgICAgIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb25z
dGFudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC01OTQsOCArNTkyLDYgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIEFycmF5Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFbGVt
ZW50Tm9kZSopOwogICAgICAgICBBcnJheU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50
IGVsaXNpb24sIEVsZW1lbnROb2RlKik7CiAKLSAgICAgICAgdmlydHVhbCBib29sIGlzQXJyYXlM
aXRlcmFsKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgICAgIEFyZ3Vt
ZW50TGlzdE5vZGUqIHRvQXJndW1lbnRMaXN0KFBhcnNlckFyZW5hJiwgaW50LCBpbnQpIGNvbnN0
OwogCiAgICAgICAgIEVsZW1lbnROb2RlKiBlbGVtZW50cygpIGNvbnN0IHsgQVNTRVJUKGlzU2lt
cGxlQXJyYXkoKSk7IHJldHVybiBtX2VsZW1lbnQ7IH0KQEAgLTY1MSw3ICs2NDcsNiBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICBwdWJsaWM6CiAgICAgICAgIE9iamVjdExpdGVyYWxOb2RlKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYpOwogICAgICAgICBPYmplY3RMaXRlcmFsTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBQcm9wZXJ0eUxpc3ROb2RlKik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBp
c09iamVjdExpdGVyYWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKICAgICBw
cml2YXRlOgogICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CkBAIC0yMDUzLDI0ICsyMDQ4
LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEFzc2lnbm1lbnRDb250ZXh0IG1fYmluZGlu
Z0NvbnRleHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIEFzc2lnbm1lbnRFbGVtZW50Tm9kZSA6IHB1
YmxpYyBEZXN0cnVjdHVyaW5nUGF0dGVybk5vZGUgewotICAgIHB1YmxpYzoKLSAgICAgICAgQXNz
aWdubWVudEVsZW1lbnROb2RlKEV4cHJlc3Npb25Ob2RlKiBhc3NpZ25tZW50VGFyZ2V0LCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpOwotICAg
ICAgICBjb25zdCBFeHByZXNzaW9uTm9kZSogYXNzaWdubWVudFRhcmdldCgpIHsgcmV0dXJuIG1f
YXNzaWdubWVudFRhcmdldDsgfQotCi0gICAgICAgIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZv
dFN0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9kaXZvdFN0YXJ0OyB9Ci0gICAgICAgIGNvbnN0IEpT
VGV4dFBvc2l0aW9uJiBkaXZvdEVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGl2b3RFbmQ7IH0KLQot
ICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0Qm91bmRJZGVudGlmaWVy
cyhWZWN0b3I8SWRlbnRpZmllcj4mKSBjb25zdCBvdmVycmlkZTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGJpbmRWYWx1ZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqKSBjb25zdCBvdmVy
cmlkZTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRvU3RyaW5nKFN0cmluZ0J1aWxkZXImKSBjb25z
dCBvdmVycmlkZTsKLQotICAgICAgICBKU1RleHRQb3NpdGlvbiBtX2Rpdm90U3RhcnQ7Ci0gICAg
ICAgIEpTVGV4dFBvc2l0aW9uIG1fZGl2b3RFbmQ7Ci0gICAgICAgIEV4cHJlc3Npb25Ob2RlKiBt
X2Fzc2lnbm1lbnRUYXJnZXQ7Ci0gICAgfTsKLQogICAgIGNsYXNzIERlc3RydWN0dXJpbmdBc3Np
Z25tZW50Tm9kZSA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBEZXN0cnVjdHVyaW5nQXNzaWdubWVudE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRGVz
dHJ1Y3R1cmluZ1BhdHRlcm5Ob2RlKiwgRXhwcmVzc2lvbk5vZGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCAxZWM0MjIyYjY1ODM3YWRhNjY1MWRiM2ZiZTFh
MGNiOTNhOTE3ZTc4Li4zNzRiY2IyY2IzNWIwNTQ3YmE1ZDM5ZjQ1MTM5NTM3MTc5NDNmNDFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC02NjcsNyArNjY3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2wKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0
ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYg
Y29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQga2luZCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBj
b25zdCBJZGVudGlmaWVyJiBuYW1lLCBKU1Rva2VuIHRva2VuLCBBc3NpZ25tZW50Q29udGV4dCBi
aW5kaW5nQ29udGV4dCwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIpCit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImIGNvbnRleHQs
IERlc3RydWN0dXJpbmdLaW5kIGtpbmQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgY29uc3QgSWRl
bnRpZmllciYgbmFtZSwgaW50IGRlcHRoLCBKU1Rva2VuIHRva2VuLCBBc3NpZ25tZW50Q29udGV4
dCBiaW5kaW5nQ29udGV4dCwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIp
CiB7CiAgICAgQVNTRVJUKCFuYW1lLmlzTnVsbCgpKTsKICAgICAKQEAgLTY4NSwyMiArNjg1LDQx
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGVCCiAgICAgICAgICAgICBmYWlsSWZUcnVlKGRlY2xh
cmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWREdXBsaWNhdGVEZWNsYXJh
dGlvbiwgIkNhbm5vdCBkZWNsYXJlIGEgbGV4aWNhbCB2YXJpYWJsZSB0d2ljZTogJyIsIG5hbWUu
aW1wbCgpLCAiJyIpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChraW5kID09IERlc3RydWN0
dXJlVG9QYXJhbWV0ZXJzKSB7Ci0gICAgICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJh
dGlvblJlc3VsdCA9IGRlY2xhcmVQYXJhbWV0ZXIoJm5hbWUpOwotICAgICAgICBpZiAoKGRlY2xh
cmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRTdHJpY3RNb2RlKSAmJiBz
dHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0V2YWxPckFy
Z3VtZW50cygmbmFtZSksICJDYW5ub3QgZGVzdHJ1Y3R1cmUgdG8gYSBwYXJhbWV0ZXIgbmFtZSAn
IiwgbmFtZS5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7Ci0gICAgICAgICAgICBpZiAobV9s
YXN0RnVuY3Rpb25OYW1lICYmIG5hbWUgPT0gKm1fbGFzdEZ1bmN0aW9uTmFtZSkKLSAgICAgICAg
ICAgICAgICBzZW1hbnRpY0ZhaWwoIkNhbm5vdCBkZWNsYXJlIGEgcGFyYW1ldGVyIG5hbWVkICci
LCBuYW1lLmltcGwoKSwgIicgYXMgaXQgc2hhZG93cyB0aGUgbmFtZSBvZiBhIHN0cmljdCBtb2Rl
IGZ1bmN0aW9uIik7Ci0gICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoInBh
cmFtZXRlciBuYW1lIik7Ci0gICAgICAgICAgICBpZiAoaGFzRGVjbGFyZWRQYXJhbWV0ZXIobmFt
ZSkpCi0gICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhIHBhcmFt
ZXRlciBuYW1lZCAnIiwgbmFtZS5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIGFzIGl0IGhhcyBh
bHJlYWR5IGJlZW4gZGVjbGFyZWQiKTsKLSAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90
IGRlY2xhcmUgYSBwYXJhbWV0ZXIgbmFtZWQgJyIsIG5hbWUuaW1wbCgpLCAiJyBpbiBzdHJpY3Qg
bW9kZSIpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChkZWNsYXJhdGlvblJlc3VsdCAmIERlY2xh
cmF0aW9uUmVzdWx0OjpJbnZhbGlkRHVwbGljYXRlRGVjbGFyYXRpb24pIHsKLSAgICAgICAgICAg
IC8vIEl0J3Mgbm90IGFsd2F5cyBhbiBlcnJvciB0byBkZWZpbmUgYSBkdXBsaWNhdGUgcGFyYW1l
dGVyLgotICAgICAgICAgICAgLy8gSXQncyBvbmx5IGFuIGVycm9yIHdoZW4gdGhlcmUgYXJlIGRl
ZmF1bHQgcGFyYW1ldGVyIHZhbHVlcyBvciBkZXN0cnVjdHVyaW5nIHBhcmFtZXRlcnMuCi0gICAg
ICAgICAgICAvLyBXZSBub3RlIHRoaXMgdmFsdWUgbm93IHNvIHdlIGNhbiBjaGVjayBpdCBsYXRl
ci4KLSAgICAgICAgICAgIGlmIChkdXBsaWNhdGVJZGVudGlmaWVyKQotICAgICAgICAgICAgICAg
ICpkdXBsaWNhdGVJZGVudGlmaWVyID0gJm5hbWU7CisgICAgICAgIGlmIChkZXB0aCkgeworICAg
ICAgICAgICAgYXV0byBiaW5kaW5nUmVzdWx0ID0gZGVjbGFyZUJvdW5kUGFyYW1ldGVyKCZuYW1l
KTsKKyAgICAgICAgICAgIGlmIChiaW5kaW5nUmVzdWx0ID09IFNjb3BlOjpTdHJpY3RCaW5kaW5n
RmFpbGVkICYmIHN0cmljdE1vZGUoKSkgeworICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElm
VHJ1ZShpc0V2YWxPckFyZ3VtZW50cygmbmFtZSksICJDYW5ub3QgZGVzdHJ1Y3R1cmUgdG8gYSBw
YXJhbWV0ZXIgbmFtZSAnIiwgbmFtZS5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CisgICAg
ICAgICAgICAgICAgaWYgKG1fbGFzdEZ1bmN0aW9uTmFtZSAmJiBuYW1lID09ICptX2xhc3RGdW5j
dGlvbk5hbWUpCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlc3Ry
dWN0dXJlIHRvICciLCBuYW1lLmltcGwoKSwgIicgYXMgaXQgc2hhZG93cyB0aGUgbmFtZSBvZiBh
IHN0cmljdCBtb2RlIGZ1bmN0aW9uIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJl
RHVlVG9LZXl3b3JkKCJib3VuZCBwYXJhbWV0ZXIgbmFtZSIpOworICAgICAgICAgICAgICAgIGlm
IChoYXNEZWNsYXJlZFBhcmFtZXRlcihuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50
aWNGYWlsKCJDYW5ub3QgZGVzdHJ1Y3R1cmUgdG8gJyIsIG5hbWUuaW1wbCgpLCAiJyBhcyBpdCBo
YXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWls
KCJDYW5ub3QgYmluZCB0byBhIHBhcmFtZXRlciBuYW1lZCAnIiwgbmFtZS5pbXBsKCksICInIGlu
IHN0cmljdCBtb2RlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYmluZGluZ1Jl
c3VsdCA9PSBTY29wZTo6QmluZGluZ0ZhaWxlZCkgeworICAgICAgICAgICAgICAgIHNlbWFudGlj
RmFpbHVyZUR1ZVRvS2V5d29yZCgiYm91bmQgcGFyYW1ldGVyIG5hbWUiKTsKKyAgICAgICAgICAg
ICAgICBpZiAoaGFzRGVjbGFyZWRQYXJhbWV0ZXIobmFtZSkpCisgICAgICAgICAgICAgICAgICAg
IHNlbWFudGljRmFpbCgiQ2Fubm90IGRlc3RydWN0dXJlIHRvICciLCBuYW1lLmltcGwoKSwgIicg
YXMgaXQgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZCIpOworICAgICAgICAgICAgICAgIHNlbWFu
dGljRmFpbCgiQ2Fubm90IGRlc3RydWN0dXJlIHRvIGEgcGFyYW1ldGVyIG5hbWVkICciLCBuYW1l
LmltcGwoKSwgIiciKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVQYXJh
bWV0ZXIoJm5hbWUpOworICAgICAgICAgICAgaWYgKChkZWNsYXJhdGlvblJlc3VsdCAmIERlY2xh
cmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSkgJiYgc3RyaWN0TW9kZSgpKSB7CisgICAg
ICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRXZhbE9yQXJndW1lbnRzKCZuYW1lKSwg
IkNhbm5vdCBkZXN0cnVjdHVyZSB0byBhIHBhcmFtZXRlciBuYW1lICciLCBuYW1lLmltcGwoKSwg
IicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICAgICAgICAgICAgICBpZiAobV9sYXN0RnVuY3Rpb25O
YW1lICYmIG5hbWUgPT0gKm1fbGFzdEZ1bmN0aW9uTmFtZSkKKyAgICAgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhIHBhcmFtZXRlciBuYW1lZCAnIiwgbmFtZS5p
bXBsKCksICInIGFzIGl0IHNoYWRvd3MgdGhlIG5hbWUgb2YgYSBzdHJpY3QgbW9kZSBmdW5jdGlv
biIpOworICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZCgicGFyYW1l
dGVyIG5hbWUiKTsKKyAgICAgICAgICAgICAgICBpZiAoaGFzRGVjbGFyZWRQYXJhbWV0ZXIobmFt
ZSkpCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xhcmUgYSBw
YXJhbWV0ZXIgbmFtZWQgJyIsIG5hbWUuaW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSBhcyBpdCBo
YXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWls
KCJDYW5ub3QgZGVjbGFyZSBhIHBhcmFtZXRlciBuYW1lZCAnIiwgbmFtZS5pbXBsKCksICInIGlu
IHN0cmljdCBtb2RlIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZGVjbGFyYXRp
b25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9u
KSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBub3QgYWx3YXlzIGFuIGVycm9yIHRvIGRlZmlu
ZSBhIGR1cGxpY2F0ZSBwYXJhbWV0ZXIuCisgICAgICAgICAgICAgICAgLy8gSXQncyBvbmx5IGFu
IGVycm9yIHdoZW4gdGhlcmUgYXJlIGRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlcyBvciBkZXN0cnVj
dHVyaW5nIHBhcmFtZXRlcnMuCisgICAgICAgICAgICAgICAgLy8gV2Ugbm90ZSB0aGlzIHZhbHVl
IG5vdyBzbyB3ZSBjYW4gY2hlY2sgaXQgbGF0ZXIuCisgICAgICAgICAgICAgICAgaWYgKGR1cGxp
Y2F0ZUlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgICpkdXBsaWNhdGVJZGVudGlmaWVy
ID0gJm5hbWU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTcxMiwxMiAr
NzMxLDYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1Bh
dHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlQXNzaWdubWVu
dEVsZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVFeHByZXNzaW9uJiBhc3NpZ25tZW50
VGFyZ2V0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnRQb3NpdGlvbiwgY29uc3QgSlNUZXh0
UG9zaXRpb24mIGVuZFBvc2l0aW9uKQotewotICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFzc2ln
bm1lbnRFbGVtZW50KGFzc2lnbm1lbnRUYXJnZXQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9u
KTsKLX0KLQotdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFy
cm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQogewogICAgIEFTU0VSVCghbWF0Y2goT1BFTkJSQUNFKSk7CkBAIC03NTMsMzQg
Kzc2Niw2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQ
YXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVy
aW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCaW5kaW5nT3JBc3NpZ25tZW50RWxl
bWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQga2luZCwgRXhwb3J0
VHlwZSBleHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllciwg
Ym9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRDb250ZXh0IGJpbmRpbmdD
b250ZXh0LCBpbnQgZGVwdGgpCi17Ci0gICAgaWYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmVUb0V4cHJl
c3Npb25zKQotICAgICAgICByZXR1cm4gcGFyc2VBc3NpZ25tZW50RWxlbWVudChjb250ZXh0LCBr
aW5kLCBleHBvcnRUeXBlLCBkdXBsaWNhdGVJZGVudGlmaWVyLCBoYXNEZXN0cnVjdHVyaW5nUGF0
dGVybiwgYmluZGluZ0NvbnRleHQsIGRlcHRoKTsKLSAgICByZXR1cm4gcGFyc2VEZXN0cnVjdHVy
aW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCBkdXBsaWNhdGVJZGVudGlmaWVy
LCBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgYmluZGluZ0NvbnRleHQsIGRlcHRoKTsKLX0KLQot
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2ln
bm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZCBraW5k
LCBFeHBvcnRUeXBlIGV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVu
dGlmaWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNzaWdubWVudENvbnRleHQg
YmluZGluZ0NvbnRleHQsIGludCBkZXB0aCkKLXsKLSAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0g
Y3JlYXRlU2F2ZVBvaW50KCk7Ci0gICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGFzc2lnbm1l
bnRUYXJnZXQgPSAwOwotCi0gICAgaWYgKG1hdGNoKE9QRU5CUkFDRSkgfHwgbWF0Y2goT1BFTkJS
QUNLRVQpKQotICAgICAgICBhc3NpZ25tZW50VGFyZ2V0ID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0
dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCBkdXBsaWNhdGVJZGVudGlmaWVyLCBoYXNE
ZXN0cnVjdHVyaW5nUGF0dGVybiwgYmluZGluZ0NvbnRleHQsIGRlcHRoKTsKLSAgICBpZiAoIWFz
c2lnbm1lbnRUYXJnZXQgfHwgbWF0Y2goRE9UKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkgfHwgbWF0
Y2goT1BFTlBBUkVOKSB8fCBtYXRjaChURU1QTEFURSkpIHsKLSAgICAgICAgcmVzdG9yZVNhdmVQ
b2ludChzYXZlUG9pbnQpOwotICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydFBvc2l0aW9uID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7Ci0gICAgICAgIGF1dG8gZWxlbWVudCA9IHBhcnNlTWVtYmVy
RXhwcmVzc2lvbihjb250ZXh0KTsKLQotICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGVsZW1l
bnQgJiYgY29udGV4dC5pc0Fzc2lnbm1lbnRMb2NhdGlvbihlbGVtZW50KSwgIkludmFsaWQgZGVz
dHJ1Y3R1cmluZyBhc3NpZ25tZW50IHRhcmdldCIpOwotCi0gICAgICAgIHJldHVybiBjcmVhdGVB
c3NpZ25tZW50RWxlbWVudChjb250ZXh0LCBlbGVtZW50LCBzdGFydFBvc2l0aW9uLCBsYXN0VG9r
ZW5FbmRQb3NpdGlvbigpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGFzc2lnbm1lbnRUYXJnZXQ7Ci19
Ci0KLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tp
bmQga2luZCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGlj
YXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRD
b250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpCiB7CiAgICAgZmFpbElmU3RhY2tPdmVy
ZmxvdygpOwpAQCAtODEwLDcgKzc5NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlCiAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goRE9URE9URE9UKSkpIHsKICAgICAgICAgICAgICAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24gPSBtX3Rva2VuLm1fbG9jYXRpb247CiAgICAgICAg
ICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgICAgIGF1dG8gaW5uZXJQYXR0ZXJuID0gcGFy
c2VCaW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCBk
dXBsaWNhdGVJZGVudGlmaWVyLCBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgYmluZGluZ0NvbnRl
eHQsIGRlcHRoICsgMSk7CisgICAgICAgICAgICAgICAgYXV0byBpbm5lclBhdHRlcm4gPSBwYXJz
ZURlc3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsIGR1cGxpY2F0
ZUlkZW50aWZpZXIsIGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuLCBiaW5kaW5nQ29udGV4dCwgZGVw
dGggKyAxKTsKICAgICAgICAgICAgICAgICBpZiAoa2luZCA9PSBEZXN0cnVjdHVyZVRvRXhwcmVz
c2lvbnMgJiYgIWlubmVyUGF0dGVybikKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5uZXJQYXR0ZXJuLCAiQ2Fubm90IHBhcnNlIHRo
aXMgZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuIik7CkBAIC04MjMsNyArODA4LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgSlNUb2tlbkxvY2F0
aW9uIGxvY2F0aW9uID0gbV90b2tlbi5tX2xvY2F0aW9uOwotICAgICAgICAgICAgYXV0byBpbm5l
clBhdHRlcm4gPSBwYXJzZUJpbmRpbmdPckFzc2lnbm1lbnRFbGVtZW50KGNvbnRleHQsIGtpbmQs
IGV4cG9ydFR5cGUsIGR1cGxpY2F0ZUlkZW50aWZpZXIsIGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJu
LCBiaW5kaW5nQ29udGV4dCwgZGVwdGggKyAxKTsKKyAgICAgICAgICAgIGF1dG8gaW5uZXJQYXR0
ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBl
LCBkdXBsaWNhdGVJZGVudGlmaWVyLCBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgYmluZGluZ0Nv
bnRleHQsIGRlcHRoICsgMSk7CiAgICAgICAgICAgICBpZiAoa2luZCA9PSBEZXN0cnVjdHVyZVRv
RXhwcmVzc2lvbnMgJiYgIWlubmVyUGF0dGVybikKICAgICAgICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlubmVyUGF0dGVybiwgIkNhbm5vdCBwYXJzZSB0aGlz
IGRlc3RydWN0dXJpbmcgcGF0dGVybiIpOwpAQCAtODMxLDYgKzgxNiw4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZEFycmF5UGF0dGVybkVudHJ5
KGFycmF5UGF0dGVybiwgbG9jYXRpb24sIGlubmVyUGF0dGVybiwgZGVmYXVsdFZhbHVlKTsKICAg
ICAgICAgfSB3aGlsZSAoY29uc3VtZShDT01NQSkpOwogCisgICAgICAgIGlmIChraW5kID09IERl
c3RydWN0dXJlVG9FeHByZXNzaW9ucyAmJiAhbWF0Y2goQ0xPU0VCUkFDS0VUKSkKKyAgICAgICAg
ICAgIHJldHVybiAwOwogICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFQlJBQ0tFVCwgcmVzdEVs
ZW1lbnRXYXNGb3VuZCA/ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ10nIGZvbGxvd2luZyBhIHJlc3Qg
ZWxlbWVudCBkZXN0cnVjdHVyaW5nIHBhdHRlcm4iIDogIkV4cGVjdGVkIGVpdGhlciBhIGNsb3Np
bmcgJ10nIG9yIGEgJywnIGZvbGxvd2luZyBhbiBlbGVtZW50IGRlc3RydWN0dXJpbmcgcGF0dGVy
biIpOwogICAgICAgICBjb250ZXh0LmZpbmlzaEFycmF5UGF0dGVybihhcnJheVBhdHRlcm4sIGRp
dm90U3RhcnQsIGRpdm90U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOwogICAgICAgICBw
YXR0ZXJuID0gYXJyYXlQYXR0ZXJuOwpAQCAtODU4LDkgKzg0NSw5IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZURlCiAgICAgICAgICAgICAgICAgSlNUb2tlbiBpZGVudGlmaWVyVG9rZW4gPSBtX3Rv
a2VuOwogICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICBpZiAoY29uc3Vt
ZShDT0xPTikpCi0gICAgICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9IHBhcnNlQmluZGlu
Z09yQXNzaWdubWVudEVsZW1lbnQoY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgZHVwbGljYXRl
SWRlbnRpZmllciwgaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIGJpbmRpbmdDb250ZXh0LCBkZXB0
aCArIDEpOworICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBwYXJzZURlc3RydWN0
dXJpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsIGR1cGxpY2F0ZUlkZW50aWZp
ZXIsIGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuLCBiaW5kaW5nQ29udGV4dCwgZGVwdGggKyAxKTsK
ICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9
IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICpwcm9wZXJ0
eU5hbWUsIGlkZW50aWZpZXJUb2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZp
ZXIpOworICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0
dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVydHlOYW1lLCBkZXB0aCArIDEs
IGlkZW50aWZpZXJUb2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBKU1Rva2VuVHlwZSB0b2tlblR5
cGUgPSBtX3Rva2VuLm1fdHlwZTsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90
eXBlKSB7CkBAIC04OTEsNyArODc4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhw
ZWN0ZWQgYSAnOicgcHJpb3IgdG8gYSBuYW1lZCBkZXN0cnVjdHVyaW5nIHByb3BlcnR5Iik7CiAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9IHBhcnNlQmlu
ZGluZ09yQXNzaWdubWVudEVsZW1lbnQoY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgZHVwbGlj
YXRlSWRlbnRpZmllciwgaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIGJpbmRpbmdDb250ZXh0LCBk
ZXB0aCArIDEpOworICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9IHBhcnNlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgZHVwbGljYXRlSWRlbnRpZmll
ciwgaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIGJpbmRpbmdDb250ZXh0LCBkZXB0aCArIDEpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmVUb0V4cHJl
c3Npb25zICYmICFpbm5lclBhdHRlcm4pCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC05
MTYsNyArOTAzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJh
bWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAm
JiAoa2luZCA9PSBEZXN0cnVjdHVyZVRvTGV0IHx8IGtpbmQgPT0gRGVzdHJ1Y3R1cmVUb0NvbnN0
KSwgIkNhbid0IHVzZSAnbGV0JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4aWNhbERl
Y2xhcmF0aW9uIik7Ci0gICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250
ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIG1fdG9rZW4sIGJp
bmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKKyAgICAgICAgcGF0dGVybiA9IGNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICptX3Rva2VuLm1f
ZGF0YS5pZGVudCwgZGVwdGgsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVu
dGlmaWVyKTsKICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0yNzAy
LDcgKzI2ODksNiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBpbml0aWFsQXNzaWdubWVudENv
dW50ID0gbV9hc3NpZ25tZW50Q291bnQ7CiAgICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1f
bm9uTEhTQ291bnQ7Ci0gICAgU3RyaW5nIGFzc2lnbm1lbnRQYXR0ZXJuRXJyb3IgPSBTdHJpbmco
KTsKICAgICBpZiAobWF0Y2goT1BFTkJSQUNFKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkpIHsKICAg
ICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBh
dXRvIHBhdHRlcm4gPSB0cnlQYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuRXhwcmVzc2lvbihjb250
ZXh0LCBBc3NpZ25tZW50Q29udGV4dDo6QXNzaWdubWVudEV4cHJlc3Npb24pOwpAQCAtMjcxMSw3
ICsyNjk3LDYgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgICAgIGlmIChyaHMp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRGVzdHJ1Y3R1cmluZ0Fzc2ln
bm1lbnQobG9jYXRpb24sIHBhdHRlcm4sIHJocyk7CiAgICAgICAgIH0KLSAgICAgICAgYXNzaWdu
bWVudFBhdHRlcm5FcnJvciA9IG1fZXJyb3JNZXNzYWdlOwogICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVQb2ludCk7CiAgICAgfQogCkBAIC0yNzI2LDEwICsyNzExLDYgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW4KICNlbmRpZgogICAgIAogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBh
cnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwotICAgIGlmICghYXNzaWdubWVudFBh
dHRlcm5FcnJvci5pc051bGwoKSAmJiAobGhzICYmIChjb250ZXh0LmlzT2JqZWN0T3JBcnJheUxp
dGVyYWwobGhzKSAmJiBtYXRjaChFUVVBTCkpKSkgewotICAgICAgICBzZXRFcnJvck1lc3NhZ2Uo
YXNzaWdubWVudFBhdHRlcm5FcnJvcik7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KICAgICBm
YWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0
aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewogICAgICAgICBpZiAobV90b2tlbi5t
X3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGE2NGVjNWM1ZmY5ZjMzYWY3N2VhY2FjYzY0NDM3
NjI1YWE5MDBkZDcuLmUyMTNlMDcyZmI4MGU3NDhmODU2MjVhNjczOGNkMTdlY2ExNmYwOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNDI0LDYgKzQyNCwyNiBAQCBz
dHJ1Y3QgU2NvcGUgewogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBl
bnVtIEJpbmRpbmdSZXN1bHQgeworICAgICAgICBCaW5kaW5nRmFpbGVkLAorICAgICAgICBTdHJp
Y3RCaW5kaW5nRmFpbGVkLAorICAgICAgICBCaW5kaW5nU3VjY2VlZGVkCisgICAgfTsKKyAgICBC
aW5kaW5nUmVzdWx0IGRlY2xhcmVCb3VuZFBhcmFtZXRlcihjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCkKKyAgICB7CisgICAgICAgIGJvb2wgaXNBcmd1bWVudHNJZGVudCA9IGlzQXJndW1lbnRzKG1f
dm0sIGlkZW50KTsKKyAgICAgICAgYXV0byBhZGRSZXN1bHQgPSBtX2RlY2xhcmVkVmFyaWFibGVz
LmFkZChpZGVudC0+aW1wbCgpKTsKKyAgICAgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5z
ZXRJc1ZhcigpOyAvLyBUcmVhdCBkZXN0cnVjdHVyaW5nIHBhcmFtZXRlcnMgYXMgInZhciJzLgor
ICAgICAgICBib29sIGlzVmFsaWRTdHJpY3RNb2RlID0gYWRkUmVzdWx0LmlzTmV3RW50cnkgJiYg
IWlzRXZhbChtX3ZtLCBpZGVudCkgJiYgIWlzQXJndW1lbnRzSWRlbnQ7CisgICAgICAgIG1faXNW
YWxpZFN0cmljdE1vZGUgPSBtX2lzVmFsaWRTdHJpY3RNb2RlICYmIGlzVmFsaWRTdHJpY3RNb2Rl
OworICAgIAorICAgICAgICBpZiAoaXNBcmd1bWVudHNJZGVudCkKKyAgICAgICAgICAgIG1fc2hh
ZG93c0FyZ3VtZW50cyA9IHRydWU7CisgICAgICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkp
CisgICAgICAgICAgICByZXR1cm4gQmluZGluZ0ZhaWxlZDsKKyAgICAgICAgcmV0dXJuIGlzVmFs
aWRTdHJpY3RNb2RlID8gQmluZGluZ1N1Y2NlZWRlZCA6IFN0cmljdEJpbmRpbmdGYWlsZWQ7Cisg
ICAgfQorCiAgICAgdm9pZCBnZXRVc2VkVmFyaWFibGVzKElkZW50aWZpZXJTZXQmIHVzZWRWYXJp
YWJsZXMpCiAgICAgewogICAgICAgICB1c2VkVmFyaWFibGVzLnN3YXAobV91c2VkVmFyaWFibGVz
KTsKQEAgLTEwMzQsNiArMTA1NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdHJpY3RNb2RlKCkg
eyByZXR1cm4gY3VycmVudFNjb3BlKCktPnN0cmljdE1vZGUoKTsgfQogICAgIGJvb2wgaXNWYWxp
ZFN0cmljdE1vZGUoKSB7IHJldHVybiBjdXJyZW50U2NvcGUoKS0+aXNWYWxpZFN0cmljdE1vZGUo
KTsgfQogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJlUGFyYW1ldGVyKGNvbnN0IElk
ZW50aWZpZXIqIGlkZW50KSB7IHJldHVybiBjdXJyZW50U2NvcGUoKS0+ZGVjbGFyZVBhcmFtZXRl
cihpZGVudCk7IH0KKyAgICBTY29wZTo6QmluZGluZ1Jlc3VsdCBkZWNsYXJlQm91bmRQYXJhbWV0
ZXIoY29uc3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGN1cnJlbnRTY29wZSgpLT5kZWNs
YXJlQm91bmRQYXJhbWV0ZXIoaWRlbnQpOyB9CiAgICAgYm9vbCBicmVha0lzVmFsaWQoKQogICAg
IHsKICAgICAgICAgU2NvcGVSZWYgY3VycmVudCA9IGN1cnJlbnRTY29wZSgpOwpAQCAtMTEzOCwx
MCArMTE1OSw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwg
aW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4s
IFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0
YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwg
VmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBi
b29sJiBmb3JMb29wQ29uc3REb2VzTm90SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25T
aW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rp
b25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQ
YXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0
IElkZW50aWZpZXImLCBKU1Rva2VuLCBBc3NpZ25tZW50Q29udGV4dCwgY29uc3QgSWRlbnRpZmll
cioqIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVBc3NpZ25tZW50
RWxlbWVudChUcmVlQnVpbGRlciYsIFRyZWVFeHByZXNzaW9uJiwgY29uc3QgSlNUZXh0UG9zaXRp
b24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBwYXJzZUJpbmRpbmdP
ckFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2lu
ZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIsIGJv
b2wqIGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuLCBBc3NpZ25tZW50Q29udGV4dCBiaW5kaW5nQ29u
dGV4dCwgaW50IGRlcHRoKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gcGFyc2VBc3NpZ25tZW50RWxlbWVudChU
cmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0
IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5n
UGF0dGVybiwgQXNzaWdubWVudENvbnRleHQgYmluZGluZ0NvbnRleHQsIGludCBkZXB0aCk7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVzdHJ1Y3R1
cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9r
ZW4sIEFzc2lnbm1lbnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRp
Zmllcik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZURlc3RydWN0dXJpbmdQYXR0ZXJuIHBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4oVHJlZUJ1aWxk
ZXImLCBEZXN0cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllcioqIGR1
cGxpY2F0ZUlkZW50aWZpZXIgPSBudWxscHRyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVy
biA9IG51bGxwdHIsIEFzc2lnbm1lbnRDb250ZXh0ID0gQXNzaWdubWVudENvbnRleHQ6OkRlY2xh
cmF0aW9uU3RhdGVtZW50LCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gdHJ5UGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImLCBBc3NpZ25tZW50Q29u
dGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUV4cHJlc3Npb24gcGFyc2VEZWZhdWx0VmFsdWVGb3JEZXN0cnVjdHVyaW5nUGF0dGVybihUcmVl
QnVpbGRlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIu
aAppbmRleCBlM2E4NjdlZDFlNGJkMmQ2ZWYwY2FlNDQwMzg2YTFhNjEzOWVmYWY2Li41ZDM5M2Ez
ZGE3ZTdlNTlkYjg2ZTYzY2RiZmFkZmQ5OTVhNTFlOWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMzQ2LDM2ICszNDYsMTIgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgcmV0dXJuIEJpbmRpbmdEZXN0cnVjdHVyaW5nOwogICAgIH0KLSAg
ICBEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVBc3NpZ25tZW50RWxlbWVudChjb25zdCBFeHBy
ZXNzaW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYpCi0g
ICAgewotICAgICAgICByZXR1cm4gQmluZGluZ0Rlc3RydWN0dXJpbmc7Ci0gICAgfQogCiAgICAg
Ym9vbCBpc0JpbmRpbmdOb2RlKERlc3RydWN0dXJpbmdQYXR0ZXJuIHBhdHRlcm4pCiAgICAgewog
ICAgICAgICByZXR1cm4gcGF0dGVybiA9PSBCaW5kaW5nRGVzdHJ1Y3R1cmluZzsKICAgICB9CiAK
LSAgICBib29sIGlzQXNzaWdubWVudExvY2F0aW9uKEV4cHJlc3Npb25UeXBlIHR5cGUpCi0gICAg
ewotICAgICAgICByZXR1cm4gdHlwZSA9PSBSZXNvbHZlRXhwciB8fCB0eXBlID09IERvdEV4cHIg
fHwgdHlwZSA9PSBCcmFja2V0RXhwcjsKLSAgICB9Ci0KLSAgICBib29sIGlzT2JqZWN0TGl0ZXJh
bChFeHByZXNzaW9uVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gT2Jq
ZWN0TGl0ZXJhbEV4cHI7Ci0gICAgfQotCi0gICAgYm9vbCBpc0FycmF5TGl0ZXJhbChFeHByZXNz
aW9uVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gQXJyYXlMaXRlcmFs
RXhwcjsKLSAgICB9Ci0KLSAgICBib29sIGlzT2JqZWN0T3JBcnJheUxpdGVyYWwoRXhwcmVzc2lv
blR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBpc09iamVjdExpdGVyYWwodHlwZSkg
fHwgaXNBcnJheUxpdGVyYWwodHlwZSk7Ci0gICAgfQotCiAgICAgdm9pZCBzZXRFbmRPZmZzZXQo
aW50LCBpbnQpIHsgfQogICAgIGludCBlbmRPZmZzZXQoaW50KSB7IHJldHVybiAwOyB9CiAgICAg
dm9pZCBzZXRTdGFydE9mZnNldChpbnQsIGludCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvZXM2LnlhbWwgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
ZXM2LnlhbWwKaW5kZXggZTA1Yzc0MjBiNzhiZDVmNTVjNzY1NThjZWM4ODkxYzU5ZGU5MjUzYi4u
Mjg1YzVmOThmNDk1MzkyOGU2NzQzM2Y4YzI2NmE5YmJhMTUwZjdhNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi55YW1sCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9lczYueWFtbApAQCAtMjE0LDEwICsyMTQsNiBAQAogICBjbWQ6IHJ1bkVTNiA6
bm9ybWFsCiAtIHBhdGg6IGVzNi9kZXN0cnVjdHVyaW5nX3dpdGhfc3RyaW5ncy5qcwogICBjbWQ6
IHJ1bkVTNiA6bm9ybWFsCi0tIHBhdGg6IGVzNi9kZXN0cnVjdHVyaW5nX2Fzc2lnbm1lbnRfbm9u
X3NpbXBsZV90YXJnZXQuanMKLSAgY21kOiBydW5FUzYgOm5vcm1hbAotLSBwYXRoOiBlczYvZGVz
dHJ1Y3R1cmluZ19pbml0aWFsaXplcl9zY29waW5nLmpzCi0gIGNtZDogcnVuRVM2IDpub3JtYWwK
IC0gcGF0aDogZXM2L2Zvci4ub2ZfbG9vcHNfd2l0aF9hcnJheXMuanMKICAgY21kOiBydW5FUzYg
Om5vcm1hbAogLSBwYXRoOiBlczYvZm9yLi5vZl9sb29wc193aXRoX2FzdHJhbF9wbGFuZV9zdHJp
bmdzLmpzCkBAIC03NTEsNyArNzQ3LDcgQEAKIC0gcGF0aDogZXM2L2Rlc3RydWN0dXJpbmdfaXRl
cmF0b3JfY2xvc2luZy5qcwogICBjbWQ6IHJ1bkVTNiA6ZmFpbAogLSBwYXRoOiBlczYvZGVzdHJ1
Y3R1cmluZ19uZXN0ZWRfcmVzdC5qcwotICBjbWQ6IHJ1bkVTNiA6bm9ybWFsCisgIGNtZDogcnVu
RVM2IDpmYWlsCiAtIHBhdGg6IGVzNi9kZXN0cnVjdHVyaW5nX3dpdGhfZ2VuZXJhdG9yX2luc3Rh
bmNlcy5qcwogICBjbWQ6IHJ1bkVTNiA6ZmFpbAogLSBwYXRoOiBlczYvZGVzdHJ1Y3R1cmluZ193
aXRoX2dlbmVyaWNfaXRlcmFibGVzLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvZXM2L2Rlc3RydWN0dXJpbmdfYXNzaWdubWVudF9ub25fc2ltcGxlX3RhcmdldC5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9lczYvZGVzdHJ1Y3R1cmluZ19hc3NpZ25t
ZW50X25vbl9zaW1wbGVfdGFyZ2V0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ZjgyOTgzMjI4NGI1ODVkMjc5NWViZTBmMTM2OWYwM2E2YWI4ZjY1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9lczYvZGVzdHJ1Y3R1cmluZ19hc3NpZ25tZW50X25vbl9zaW1wbGVfdGFyZ2V0LmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotZnVuY3Rpb24gdGVzdCgpIHsKLSAgICB2YXIgbXNn
ID0ge307Ci0gICAgKHsKLSAgICAgICAgbmFtZTogbXNnLm5hbWUsCi0gICAgICAgICJwYXJhbWV0
ZXJzIjogW21zZy5jYWxsYmFjaywgLi4ubXNnWyJwYXJhbWV0ZXJzIl1dLAotICAgICAgICAwOiBt
c2dbMF0KLSAgICB9ID0gewotICAgICAgICBuYW1lOiAidGVzdCIsCi0gICAgICAgIHBhcmFtZXRl
cnM6IFtmdW5jdGlvbiBjYigpIHsgcmV0dXJuICJ0ZXN0IjsgfSwgImEiLCAiYiIsICJjIl0sCi0g
ICAgICAgICIwIjogTmFOCi0gICAgfSk7Ci0gICAgcmV0dXJuIG1zZy5uYW1lID09PSAidGVzdCIg
JiYgbXNnWzBdICE9PSBtc2dbMF0gJiYgbXNnLmNhbGxiYWNrKCkgPT09ICJ0ZXN0IiAmJiAobXNn
LnBhcmFtZXRlcnMgKyAiIikgPT09ICJhLGIsYyI7Ci19Ci0KLWlmICghdGVzdCgpKQotICAgIHRo
cm93IG5ldyBFcnJvcigiVGVzdCBmYWlsZWQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9lczYvZGVzdHJ1Y3R1cmluZ19pbml0aWFsaXplcl9zY29waW5nLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi9kZXN0cnVjdHVyaW5nX2luaXRpYWxpemVy
X3Njb3BpbmcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmM2I4NmE0MDE4NzYy
M2UwYWU0ZWEzNDhlMGQyMGNkMTk0MTBhYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL2VzNi9kZXN0cnVj
dHVyaW5nX2luaXRpYWxpemVyX3Njb3BpbmcuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCww
IEBACi12YXIgb3V0ZXIgPSBbXTsKLWZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgdmFyIGEgPSB7fTsK
LSAgICB2YXIgZGVmYXVsdE9iaiA9IHsKLSAgICAgICAgbmFtZTogImRlZmF1bHQiLAotICAgICAg
ICBsZW5ndGg6IDMsCi0gICAgICAgIDA6ICJhIiwKLSAgICAgICAgMTogImIiLAotICAgICAgICAy
OiAiYyIsCi0gICAgICAgIFtTeW1ib2wuaXRlcmF0b3JdOiBBcnJheS5wcm90b3R5cGVbU3ltYm9s
Lml0ZXJhdG9yXQotICAgIH07Ci0gICAgZnVuY3Rpb24gdGVzdGVyKHsgbmFtZSB9ID0geyBuYW1l
OiBhLm5hbWUgfSA9IFtvdXRlclswXSwgLi4ub3V0ZXJbMV1dID0gZGVmYXVsdE9iaikgeyByZXR1
cm4gbmFtZTsgfQotICAgIHJldHVybiB0ZXN0ZXIoKSA9PT0gImRlZmF1bHQiICYmIGEubmFtZSA9
PT0gImRlZmF1bHQiICYmIChvdXRlciArICIiKSA9PT0gImEsYixjIjsKLX0KLQotaWYgKCF0ZXN0
KCkpCi0gICAgdGhyb3cgbmV3IEVycm9yKCJUZXN0IGZhaWxlZCIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQt
c3ludGF4LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVy
aW5nLWFzc2lnbm1lbnQtc3ludGF4LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
MDc3NDgxYzZmNzBkM2U1NmJhZjZiNDYwMzNmMWIzZTZjZTg1YjUyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50LXN5bnRheC5qcworKysgL2Rldi9udWxs
CkBAIC0xLDU5ICswLDAgQEAKLQotZnVuY3Rpb24gdGVzdFN5bnRheChzY3JpcHQpIHsKLSAgICB0
cnkgewotICAgICAgICBldmFsKHNjcmlwdCk7Ci0gICAgfSBjYXRjaCAoZXJyb3IpIHsKLSAgICAg
ICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpCi0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikpOwotICAgIH0KLX0KLQotZnVu
Y3Rpb24gdGVzdFN5bnRheEVycm9yKHNjcmlwdCwgbWVzc2FnZSkgewotICAgIHZhciBlcnJvciA9
IG51bGw7Ci0gICAgdHJ5IHsKLSAgICAgICAgZXZhbChzY3JpcHQpOwotICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgZXJyb3IgPSBlOwotICAgIH0KLSAgICBpZiAoIWVycm9yKQotICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHN5bnRheCBlcnJvciBub3QgdGhyb3duIik7Ci0KLSAg
ICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gbWVzc2FnZSkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpKTsKLX0KLQotdGVzdFN5bnRheCgiKHsgYTog
dGhpcy5hIH0gPSB7fSkiKTsKLXRlc3RTeW50YXgoIih7IGE6IHRoaXNbJ2EnXSB9ID0ge30pIik7
Ci10ZXN0U3ludGF4KCIoeyBhOiB0aGlzW1wiYVwiXSB9ID0ge30pIik7Ci10ZXN0U3ludGF4KCJb
dGhpcy5hIF0gPSBbXSIpOwotdGVzdFN5bnRheCgiW3RoaXNbJ2EnXV0gPSBbXSIpOwotdGVzdFN5
bnRheCgiW3RoaXNbMF1dID0gW10iKTsKLXRlc3RTeW50YXgoIlsuLi50aGlzWzBdXSA9IFtdIik7
Ci10ZXN0U3ludGF4KCJbLi4uW2Z1bmN0aW9uIGYoKSB7fS5wcm9wXV0gPSBbXSIpOwotdGVzdFN5
bnRheCgiWy4uLlt7cHJvcDogMX0ucHJvcF1dID0gW10iKTsKLXRlc3RTeW50YXgoIlsuLi5bdGhp
c1swXSwgLi4udGhpc1sxXV1dID0gW10iKTsKLXRlc3RTeW50YXgoIih7IGE6IG9iai5hIH0gPSB7
fSkiKTsKLXRlc3RTeW50YXgoIih7IGE6IG9ialsnYSddIH0gPSB7fSkiKTsKLXRlc3RTeW50YXgo
Iih7IGE6IG9ialtcImFcIl0gfSA9IHt9KSIpOwotdGVzdFN5bnRheCgiKHsgYTogZnVuY3Rpb24o
KSB7fVsncHJvcCddIH0gPSB7fSkiKTsKLXRlc3RTeW50YXgoIih7IGE6IHtwcm9wOiAxfS5wcm9w
IH0gPSB7fSkiKTsKLXRlc3RTeW50YXgoIltvYmouYSBdID0gW10iKTsKLXRlc3RTeW50YXgoIltv
YmpbJ2EnXV0gPSBbXSIpOwotdGVzdFN5bnRheCgiW29ialswXV0gPSBbXSIpOwotdGVzdFN5bnRh
eCgiW2Z1bmN0aW9uKCl7fS5wcm9wXSA9IFtdIik7Ci10ZXN0U3ludGF4KCJbe3Byb3A6IDF9LnBy
b3BdID0gW10iKTsKLQotCi10ZXN0U3ludGF4RXJyb3IoIlsuLi5jID0gMV0gPSBbXSIsICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGEgY2xvc2luZyAnXScgZm9s
bG93aW5nIGEgcmVzdCBlbGVtZW50IGRlc3RydWN0dXJpbmcgcGF0dGVybi4iKTsKLXRlc3RTeW50
YXhFcnJvcigiWy4uLmMsIGRdID0gW10iLCAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
JywnLiBFeHBlY3RlZCBhIGNsb3NpbmcgJ10nIGZvbGxvd2luZyBhIHJlc3QgZWxlbWVudCBkZXN0
cnVjdHVyaW5nIHBhdHRlcm4uIik7Ci10ZXN0U3ludGF4RXJyb3IoIlt0aGlzXSA9IFtdIiwgIlN5
bnRheEVycm9yOiBJbnZhbGlkIGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCB0YXJnZXQuIik7Ci10
ZXN0U3ludGF4RXJyb3IoIlt0aFxcdXs2OX1zXSA9IFtdIiwgIlN5bnRheEVycm9yOiBJbnZhbGlk
IGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCB0YXJnZXQuIik7Ci10ZXN0U3ludGF4RXJyb3IoIltm
dW5jdGlvbigpIHt9XSA9IFtdIiwgIlN5bnRheEVycm9yOiBJbnZhbGlkIGRlc3RydWN0dXJpbmcg
YXNzaWdubWVudCB0YXJnZXQuIik7Ci10ZXN0U3ludGF4RXJyb3IoIlsnc3RyaW5nJ10gPSBbXSIs
ICJTeW50YXhFcnJvcjogSW52YWxpZCBkZXN0cnVjdHVyaW5nIGFzc2lnbm1lbnQgdGFyZ2V0LiIp
OwotdGVzdFN5bnRheEVycm9yKCJbMTIzXSA9IFtdIiwgIlN5bnRheEVycm9yOiBJbnZhbGlkIGRl
c3RydWN0dXJpbmcgYXNzaWdubWVudCB0YXJnZXQuIik7Ci10ZXN0U3ludGF4RXJyb3IoIlt0cnVl
XSA9IFtdIiwgIlN5bnRheEVycm9yOiBJbnZhbGlkIGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCB0
YXJnZXQuIik7Ci10ZXN0U3ludGF4RXJyb3IoIlt0cnVcXHUwMDY1XSA9IFtdIiwgIlN5bnRheEVy
cm9yOiBJbnZhbGlkIGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCB0YXJnZXQuIik7Ci10ZXN0U3lu
dGF4RXJyb3IoIltmYWxzZV0gPSBbXSIsICJTeW50YXhFcnJvcjogSW52YWxpZCBkZXN0cnVjdHVy
aW5nIGFzc2lnbm1lbnQgdGFyZ2V0LiIpOwotdGVzdFN5bnRheEVycm9yKCJbZlxcdTAwNjFsc2Vd
ID0gW10iLCAiU3ludGF4RXJyb3I6IEludmFsaWQgZGVzdHJ1Y3R1cmluZyBhc3NpZ25tZW50IHRh
cmdldC4iKTsKLXRlc3RTeW50YXhFcnJvcigiW251bGxdID0gW10iLCAiU3ludGF4RXJyb3I6IElu
dmFsaWQgZGVzdHJ1Y3R1cmluZyBhc3NpZ25tZW50IHRhcmdldC4iKTsKLXRlc3RTeW50YXhFcnJv
cigiW25cXHV7NzV9bGxdID0gW10iLCAiU3ludGF4RXJyb3I6IEludmFsaWQgZGVzdHJ1Y3R1cmlu
ZyBhc3NpZ25tZW50IHRhcmdldC4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvZXM2LWRlZmF1bHQtcGFyYW1ldGVycy5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZXM2LWRlZmF1bHQtcGFyYW1ldGVycy5qcwppbmRleCAxZTY4
NDExOTQ3MGExNTE3MTY5M2RlMjE3NmQ3M2IxMGExYmQ1MDJkLi5jYWRkZDljN2EwNWY3MzlhYjFm
ZDAzZTFiODc1NzM2YjBjMWZlMmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2VzNi1kZWZhdWx0LXBhcmFtZXRlcnMuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9lczYtZGVmYXVsdC1wYXJhbWV0ZXJzLmpzCkBAIC0yMzUs
MzggKzIzNSw2IEBAIGF1Z21lbnRzQXJndW1lbnRzNSgyMCk7CiB9KSgpOwogCiAKLS8vIFRlc3Qg
cHJvcGVyIHZhcmlhYmxlIGJpbmRpbmcuCi07KGZ1bmN0aW9uKCkgewotICAgIGZ1bmN0aW9uIGZv
byhhID0gZnVuY3Rpb24oKSB7IHJldHVybiBiOyB9LCB7Yn0pIHsKLSAgICAgICAgYXNzZXJ0KGEo
KSA9PT0gMzQpOwotICAgICAgICBhc3NlcnQoYiA9PT0gMzQpOwotICAgICAgICBiID0gNTA7Ci0g
ICAgICAgIGFzc2VydChhKCkgPT09IDUwKTsKLSAgICAgICAgYXNzZXJ0KGIgPT09IDUwKTsKLSAg
ICB9Ci0gICAgZnVuY3Rpb24gYmFyKGEgPSBmdW5jdGlvbih4KSB7IGIgPSB4OyB9LCB7Yn0pIHsK
LSAgICAgICAgYXNzZXJ0KGIgPT09IDM0KTsKLSAgICAgICAgYSg1MCk7Ci0gICAgICAgIGFzc2Vy
dChiID09PSA1MCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGJheihmMSA9IGZ1bmN0aW9uKHgpIHsg
YiA9IHg7IH0sIGYyID0gZnVuY3Rpb24oKSB7IHJldHVybiBiOyB9LCB7Yn0pIHsKLSAgICAgICAg
dmFyIGI7Ci0gICAgICAgIGFzc2VydChiID09PSAzNCk7Ci0gICAgICAgIGFzc2VydChmMigpID09
PSAzNCk7Ci0gICAgICAgIGYxKDUwKTsKLSAgICAgICAgYXNzZXJ0KGIgPT09IDM0KTsKLSAgICAg
ICAgYXNzZXJ0KGYyKCkgPT09IDUwKTsKLSAgICB9Ci0gICAgbm9JbmxpbmUoZm9vKTsKLSAgICBu
b0lubGluZShiYXIpOwotICAgIG5vSW5saW5lKGJheik7Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyBpKyspIHsKLSAgICAgICAgZm9vKHVuZGVmaW5lZCwge2I6IDM0fSk7Ci0gICAgICAg
IGJhcih1bmRlZmluZWQsIHtiOiAzNH0pOwotICAgICAgICBiYXoodW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIHtiOiAzNH0pOwotICAgIH0KLX0pKCk7Ci0KIAogLy8gU3ludGF4IGVycm9ycy4KIHNob3Vs
ZFRocm93U3ludGF4RXJyb3IoImZ1bmN0aW9uIGIoYSA9IDIwLCBhID0gNDApIHt9Iik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Jlc3QtZWxlbWVudHMu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Jlc3QtZWxlbWVudHMuanMK
aW5kZXggOWQyNTFmODI5MWUxZTI1MjdkNWI2NGIwYjJmYjJjMjE3MWM0Yzk5MS4uOGM5NmQ1Yzhi
NzU5MzQwMTNjZjI2Zjg3N2ZmZTIzZmYwM2FlYTljNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9yZXN0LWVsZW1lbnRzLmpzCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVzdC1lbGVtZW50cy5qcwpAQCAtMTA5LDExICsxMDks
MjEgQEAgdGVzdFN5bnRheEVycm9yKFN0cmluZy5yYXdgKGZ1bmN0aW9uIChbYSwgLi4uYiA9IDIw
LCxdKSB7IH0pYCwgU3RyaW5nLnJhd2BTeW50YXgKIHRlc3RTeW50YXhFcnJvcihTdHJpbmcucmF3
YChmdW5jdGlvbiAoW2EsIC4uLltiLCBjXV0pIHsgfSlgLCBTdHJpbmcucmF3YFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICddJy4gRXhwZWN0ZWQgaWRlbnRpZmllciBmb3IgYSByZXN0IGVs
ZW1lbnQgZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuLmApOwogdGVzdFN5bnRheEVycm9yKFN0cmluZy5y
YXdgKGZ1bmN0aW9uIChbYSwgLi4ueyBiLCBjIH1dKSB7IH0pYCwgU3RyaW5nLnJhd2BTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnXScuIEV4cGVjdGVkIGlkZW50aWZpZXIgZm9yIGEgcmVz
dCBlbGVtZW50IGRlc3RydWN0dXJpbmcgcGF0dGVybi5gKTsKIAorc2hvdWxkVGhyb3coZnVuY3Rp
b24gKCkgeworICAgIFthLCAuLi5iLCBjXSA9IDIwOworfSwgIlJlZmVyZW5jZUVycm9yOiBMZWZ0
IHNpZGUgb2YgYXNzaWdubWVudCBpcyBub3QgYSByZWZlcmVuY2UuIik7CiAKLXRlc3RTeW50YXhF
cnJvcihTdHJpbmcucmF3YFthLCAuLi5iLCBjXSA9IDIwYCwgU3RyaW5nLnJhd2BTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnLCcuIEV4cGVjdGVkIGEgY2xvc2luZyAnXScgZm9sbG93aW5n
IGEgcmVzdCBlbGVtZW50IGRlc3RydWN0dXJpbmcgcGF0dGVybi5gKTsKLXRlc3RTeW50YXhFcnJv
cihTdHJpbmcucmF3YFthLCAuLi5iLF0gPSAyMGAsIFN0cmluZy5yYXdgU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJywnLiBFeHBlY3RlZCBhIGNsb3NpbmcgJ10nIGZvbGxvd2luZyBhIHJl
c3QgZWxlbWVudCBkZXN0cnVjdHVyaW5nIHBhdHRlcm4uYCk7Ci10ZXN0U3ludGF4RXJyb3IoU3Ry
aW5nLnJhd2BbYSwgLi4uYiwsXSA9IDIwYCwgU3RyaW5nLnJhd2BTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnLCcuIEV4cGVjdGVkIGEgY2xvc2luZyAnXScgZm9sbG93aW5nIGEgcmVzdCBl
bGVtZW50IGRlc3RydWN0dXJpbmcgcGF0dGVybi5gKTsKLXRlc3RTeW50YXhFcnJvcihTdHJpbmcu
cmF3YFthLCAuLi5iID0gMjBdID0gMjBgLCBTdHJpbmcucmF3YFN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYSBjbG9zaW5nICddJyBmb2xsb3dpbmcgYSByZXN0IGVs
ZW1lbnQgZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuLmApOworc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkg
eworICAgIFthLCAuLi5iLF0gPSAyMAorfSwgIlJlZmVyZW5jZUVycm9yOiBMZWZ0IHNpZGUgb2Yg
YXNzaWdubWVudCBpcyBub3QgYSByZWZlcmVuY2UuIik7CisKK3Nob3VsZFRocm93KGZ1bmN0aW9u
ICgpIHsKKyAgICBbYSwgLi4uYiwsXSA9IDIwCit9LCAiUmVmZXJlbmNlRXJyb3I6IExlZnQgc2lk
ZSBvZiBhc3NpZ25tZW50IGlzIG5vdCBhIHJlZmVyZW5jZS4iKTsKKworc2hvdWxkVGhyb3coZnVu
Y3Rpb24gKCkgeworICAgIFthLCAuLi5iID0gMjBdID0gMjAKK30sICJSZWZlcmVuY2VFcnJvcjog
TGVmdCBzaWRlIG9mIGFzc2lnbm1lbnQgaXMgbm90IGEgcmVmZXJlbmNlLiIpOwogCiAoZnVuY3Rp
b24gKCkgewogICAgIHZhciBhLCBiLCBjOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>