<?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>201475</bug_id>
          
          <creation_ts>2019-09-04 15:52:19 -0700</creation_ts>
          <short_desc>[WK2] Add proper layout test support for ephemeral sessions</short_desc>
          <delta_ts>2019-09-06 10:24:19 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201547</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>201519</blocked>
    
    <blocked>201522</blocked>
    
    <blocked>201523</blocked>
    
    <blocked>201524</blocked>
    
    <blocked>201546</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567890</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-04 15:52:19 -0700</bug_when>
    <thetext>Add proper layout test support for ephemeral sessions. testRunner.setPrivateBrowsingEnabled() merely overrides the Page&apos;s sessionID in the WebContent process, which is a hack and does not truly enable private browsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567896</commentid>
    <comment_count>1</comment_count>
      <attachid>378022</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-04 16:01:53 -0700</bug_when>
    <thetext>Created attachment 378022
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568021</commentid>
    <comment_count>2</comment_count>
      <attachid>378022</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-04 23:38:41 -0700</bug_when>
    <thetext>Comment on attachment 378022
WIP Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=378022&amp;action=review

&gt; LayoutTests/crypto/subtle/rsa-indexeddb-private.html:2
&gt;  &lt;!DOCTYPE html&gt;

A lot of tests are suffixed with -private.html and are then expected to run in private browsing mode (see js-test-pre.js).
I slightly tend to prefer webkit-test-runner approach but we could also consistently use the name suffix approach.
It seems that only a few files would need to be renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568142</commentid>
    <comment_count>3</comment_count>
      <attachid>378088</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-05 09:15:33 -0700</bug_when>
    <thetext>Created attachment 378088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568154</commentid>
    <comment_count>4</comment_count>
      <attachid>378092</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-05 10:10:05 -0700</bug_when>
    <thetext>Created attachment 378092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568173</commentid>
    <comment_count>5</comment_count>
      <attachid>378097</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-05 10:56:37 -0700</bug_when>
    <thetext>Created attachment 378097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568247</commentid>
    <comment_count>6</comment_count>
      <attachid>378097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-05 14:12:12 -0700</bug_when>
    <thetext>Comment on attachment 378097
Patch

Clearing flags on attachment: 378097

Committed r249542: &lt;https://trac.webkit.org/changeset/249542&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568248</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-05 14:12:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568249</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-05 14:13:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55083700&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378022</attachid>
            <date>2019-09-04 16:01:53 -0700</date>
            <delta_ts>2019-09-05 09:15:31 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>201475_wip.patch</filename>
            <type>text/plain</type>
            <size>17584</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi1ub24t
ZXhwb3J0YWJsZS1wcml2YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1p
bmRleGVkZGItbm9uLWV4cG9ydGFibGUtcHJpdmF0ZS5odG1sCmluZGV4IDlmYTFiYThkN2IyLi4y
ZWJiOTE5YzM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5k
ZXhlZGRiLW5vbi1leHBvcnRhYmxlLXByaXZhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFibGUtcHJpdmF0ZS5odG1sCkBAIC0x
LDEwICsxLDcgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lv
bj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0Pgot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCh0cnVlKTsKLTwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1v
bi5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1pbmRleGVkZGItcHJpdmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2EtaW5kZXhlZGRiLXByaXZhdGUuaHRtbAppbmRleCA3MmRmZDc4NmY5Yy4uNjg4ZmNj
ZWQwOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRk
Yi1wcml2YXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhl
ZGRiLXByaXZhdGUuaHRtbApAQCAtMSwxMCArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vc3RvcmUtZGlzYWJs
ZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRD
bGlja0F0dHJpYnV0aW9uL3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwK
aW5kZXggMjhmZWE3YmU3OWEuLmI3YzAwNzc0ZTdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlvbi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwt
c2Vzc2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0
aW9uL3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwKQEAgLTEsNCArMSw0
IEBACi08IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUg
XSAtLT4KIDxodG1sIGxhbmc9ImVuIj4KIDxoZWFkPgogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KQEAgLTEzLDkgKzEzLDYgQEAKIDxzY3JpcHQ+CiAgICAgcHJlcGFyZVRlc3QoKTsKIAotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1l
bnRJRCkgewogICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVs
ZW1lbnRJRCk7CiAgICAgICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxl
bWVudC5vZmZzZXRXaWR0aCAvIDI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVwcmVzZW50YXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5o
dG1sCmluZGV4IDYxYzBmOGQyNjI3Li4zZDI2YWVjNDkyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXJlcHJlc2VudGF0aW9uLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXJlcHJl
c2VudGF0aW9uLmh0dHBzLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgpAQCAtOSw5ICsxMCw2IEBACiA8Ym9keT4KICAgICA8ZGl2IGlkPSJjaGVj
ayI+PC9kaXY+CiAgICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIGZ1
bmN0aW9uIGNoZWNrQ2FjaGVzKGhhc1BlcnNpc3RlbnQsIGhhc1JlbW92ZWQsIG5hbWUsIHZhbHVl
KSB7CiAgICAgICAgIHRlc3QoKCkgPT4gewogICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSBKU09O
LnBhcnNlKHZhbHVlKS5vcmlnaW5zOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9ub3ctcGxheWluZy1pbmZvLXByaXZhdGUtYnJvd3NpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbm93LXBsYXlpbmctaW5mby1wcml2YXRlLWJyb3dzaW5nLmh0
bWwKaW5kZXggYzBhMzk5MTcxOTkuLjg2YmFiNTM1YzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5nLWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbm93LXBsYXlpbmctaW5mby1wcml2
YXRlLWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KICAgICA8aGVhZD4KQEAgLTksOSArMTAsNiBAQAogICAgICAgICAgICAgbGV0IG5vd1BsYXlp
bmdTdGF0ZTsKICAgICAgICAgICAgIGxldCBwcmV2aW91c05vd1BsYXlpbmdTdGF0ZTsgCiAKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICAgICAgICAgIGFzeW5j
IGZ1bmN0aW9uIHdhaXRGb3JBdHRyaWJ1dGVUb0NoYW5nZShhdHRyaWJ1dGUsIGV4cGVjdGVkKSB7
CiAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAg
ICAgICAgICAgICAgZG8gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29v
a2llLWJsb2NraW5nLW1haW4tZnJhbWUuaHRtbAppbmRleCA2NDNiNGNhMzBkOS4uNGYwMjQwNjYw
ZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90
aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctbWFpbi1mcmFtZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tp
bmctbWFpbi1mcmFtZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8dGl0bGU+Q2hlY2tzIHRoYXQgYSBQT1NUIHJlc3VsdGluZyBpbiBhIG1haW4gZnJhbWUg
bmF2aWdhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90
aXRsZT4KQEAgLTYsMTIgKzcsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotCi0gICAgLy8gU3RhcnQgd2l0
aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhlcndpc2UgYW4gZXhwaXJlZCBjb29raWUgZm9yIHRoaXMg
ZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhhdmlvciB3aXRoIENGTmV0d29yay4KLSAgICAvLyBDYW4g
YmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8xMDA4MDEzMD4gaXMgZml4ZWQuCi0gICAg
aWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgdGVzdFJ1bm5lci5z
ZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCmluZGV4IDc5Mzk0MWI3
NDNkLi5lMDgzNjUxMjI2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkgewpAQCAtOSwxMCArMTAsNiBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1l
c0FzVGV4dCgpOwotCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
CiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy11c2VyLWFjdGlvbi5odG1sCmluZGV4IDQ3MjEyNDRiYjYxLi40NzA4NWQyMWZlMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5
LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctdXNlci1h
Y3Rpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNl
RXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPHRp
dGxlPkNoZWNrcyB0aGF0IGEgdXNlciBnZW5lcmF0ZWQgUE9TVCByZXF1ZXN0IGRvZXMgbm90IGNp
cmN1bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90aXRsZT4KQEAgLTgsMTIgKzksNiBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGls
ZEZyYW1lc0FzVGV4dCgpOwotCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBv
dGhlcndpc2UgYW4gZXhwaXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBi
ZWhhdmlvciB3aXRoIENGTmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFy
Oi8vcHJvYmxlbS8xMDA4MDEzMD4gaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVz
KGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5o
dG1sCmluZGV4IGYxNjljZDQyMmRmLi42ZjFmMTkwZWEyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPHRpdGxlPkNoZWNrcyB0aGF0IGEgc2NyaXB0IGdlbmVyYXRlZCBQT1NU
IHJlcXVlc3QgZG9lcyBub3QgY2lyY3VtdmVudCB0aGlyZC1wYXJ0eSBjb29raWUgcnVsZXM8L3Rp
dGxlPgpAQCAtNywxMSArOCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7CiAKLSAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc3RhdGUsIGFzIG90aGVyd2lzZSBhbiBl
eHBpcmVkIGNvb2tpZSBmb3IgdGhpcyBkb21haW4gY291bGQgYWZmZWN0IGJlaGF2aW9yIHdpdGgg
Q0ZOZXR3b3JrLgotICAgIC8vIENhbiBiZSByZW1vdmVkIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzEw
MDgwMTMwPiBpcyBmaXhlZC4KLSAgICBpZiAodGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1
ZSk7Ci0KICAgICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1l
LWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKaW5kZXggMjRm
MzRkYjQ0ODcuLjlhMTkwODAwZmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHJpdmF0
ZS1icm93c2luZy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiAgICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy9jcm9zcy1mcmFtZS1hY2Nlc3MuanMiPjwvc2NyaXB0PgpAQCAt
MjUsNyArMjYsNiBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgICAg
ICB2YXIgc3ViRnJhbWUgPSB3aW5kb3cuZnJhbWVzWzBdOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgICAgICB0cnkgewog
ICAgICAgICAgICAgICAgIGxvZygiQXR0ZW1wdGluZyB0byB2aW9sYXRlIHRoZSBzYW1lLW9yaWdp
biBwb2xpY3kgd2l0aCBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQuICBJZiB0aGlzIHN1Y2NlZWRz
IHRoZSBjb25zb2xlIHNob3VsZCBub3QgbG9nIHRoZSB2aW9sYXRpb24uIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItdGhpcmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUtbW9kZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbAppbmRleCBiMjZiOGFkNTY1
Ny4uZjgxNTA1NGUwYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZWRpcmVjdHMtaW4t
cHJpdmF0ZS1tb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2
YXRlLW1vZGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+CkBAIC04LDcgKzksNiBAQAogICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkg
dGhlIG9yaWdpbiBpcyBzZW50IGFzIHJlZmVycmVyIGZvciB0aGlyZC1wYXJ0eSByZWRpcmVjdHMg
aW4gcHJpdmF0ZSBicm93c2luZyBtb2RlLiIpOwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Ci0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwogICAgIHRl
c3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CiAKICAgICBmdW5jdGlvbiBvcGVuSWZy
YW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5LXJl
cXVlc3RzLWluLXByaXZhdGUtbW9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5LXJlcXVlc3RzLWlu
LXByaXZhdGUtbW9kZS5odG1sCmluZGV4IDI4M2UwYzc3YjhlLi45ZmFmYTI3MjA3MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1v
cmlnaW4tZm9yLXRoaXJkLXBhcnR5LXJlcXVlc3RzLWluLXByaXZhdGUtbW9kZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2lu
LWZvci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC04LDcgKzksNiBAQAog
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBzZW50IGFzIHJl
ZmVycmVyIGZvciB0aGlyZC1wYXJ0eSByZXNvdXJjZXMgaW4gcHJpdmF0ZSBicm93c2luZyBtb2Rl
LiIpOwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2
YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVz
QXNUZXh0KCk7CiAKICAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy10cnVlLWlmLWZlYXR1cmUtb2ZmLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtZmVhdHVyZS1v
ZmYuaHRtbAppbmRleCBhY2FmMDUyOGI2MS4uYTY2MGJlYThjYjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1p
Zi1mZWF0dXJlLW9mZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0dXJlLW9mZi5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsOSArOSw2IEBA
CiAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nl
c3MoKSByZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGVyZSBpcyBubyB3
YXkgdG8gcmVxdWVzdCBhY2Nlc3MgKGZlYXR1cmUgb2ZmKS4iKTsKICAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CiAKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNl
KTsKIAogICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewpAQCAtMzgsNCAr
MzYsNCBAQAogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPC9ib2R5PgotPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1oZWFkZXItYWZ0ZXItcmVkaXJlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1oZWFkZXItYWZ0ZXItcmVkaXJlY3Rp
b24uaHRtbAppbmRleCBiMTY5YjVlOGM0OC4uM2MzNGVmNWNmNTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1oZWFkZXItYWZ0ZXItcmVkaXJlY3Rpb24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9kbnQtaGVhZGVyLWFmdGVyLXJlZGlyZWN0
aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVw
aGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgpAQCAtMjgsOSArMjksNyBAQCBhc3luYyBmdW5jdGlvbiBjaGVja0ROVEhlYWRlcih0ZXN0LCB0
b2tlbikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci1lbHNlCitpZiAo
IXdpbmRvdy50ZXN0UnVubmVyKQogICAgIGFsZXJ0KCJNYWtlIHN1cmUgdG8gcnVuIHRoaXMgdGVz
dCBpbiBQcml2YXRlIEJyb3dzaW5nIE1vZGUiKTsKIAogcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0
KSA9PiB7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggNGFkNjg5NzVlYzEu
LjcwYWRlNWUzMjZkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9u
cy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC03OSw2
ICs3OSw4IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0
aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICB1c2VBY2NlbGVy
YXRlZERyYXdpbmcgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAg
ICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAg
ICAgIGVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZh
bHVlKHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9u
IikKKyAgICAgICAgICAgIHVzZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xlYW5UZXN0SGVh
ZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZU1lbnVJdGVt
RWxlbWVudCIpCiAgICAgICAgICAgICBlbmFibGVNZW51SXRlbUVsZW1lbnQgPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJs
ZUtleWdlbkVsZW1lbnQiKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9w
dGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggM2NiOTE2
YWU1YTAuLmU2NzM1MWE0M2VmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
T3B0aW9ucy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKQEAgLTMy
LDYgKzMyLDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIGVuYWJsZVdlYkFuaW1h
dGlvbnNDU1NJbnRlZ3JhdGlvbiB7IHRydWUgfTsKICAgICBib29sIHVzZUFjY2VsZXJhdGVkRHJh
d2luZyB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVJbnRlcnNlY3Rpb25PYnNlcnZlciB7IGZh
bHNlIH07CisgICAgYm9vbCB1c2VFcGhlbWVyYWxTZXNzaW9uIHsgZmFsc2UgfTsKICAgICBib29s
IGVuYWJsZU1lbnVJdGVtRWxlbWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVLZXlnZW5F
bGVtZW50IHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHMgeyB0
cnVlIH07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
ZTU5NzgyNzkzYTEuLmI0YjY1MzA1NjY1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDI4LDYgKzEwMjgsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQ
cmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAg
IHByZWZlcmVuY2VzLnJlc2l6ZU9ic2VydmVyRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlUmVzaXpl
T2JzZXJ2ZXI7CiAgICAgcHJlZmVyZW5jZXMuY29yZU1hdGhNTEVuYWJsZWQgPSBvcHRpb25zLmVu
YWJsZUNvcmVNYXRoTUw7CiAgICAgcHJlZmVyZW5jZXMubGF6eUltYWdlTG9hZGluZ0VuYWJsZWQg
PSBvcHRpb25zLmVuYWJsZUxhenlJbWFnZUxvYWRpbmc7CisgICAgcHJlZmVyZW5jZXMucHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCA9IG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbjsKIH0KIAogLy8g
Q2FsbGVkIG9uY2Ugb24gRHVtcFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZmI0YmQ0NzgzYzAuLjVkZDIxMGQxYTFlIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNTg0LDYgKzU4
NCwxMSBAQCBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVmPiBUZXN0Q29udHJvbGxl
cjo6Z2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjbwogICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRp
b24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUoKSk7CiAgICAgV0tQYWdlQ29u
ZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRpb24uZ2V0KCksIG1fY29udGV4dC5n
ZXQoKSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFBhZ2VHcm91cChwYWdlQ29uZmlndXJh
dGlvbi5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpOworICAgIAorICAgIGlmIChvcHRpb25zLnVz
ZUVwaGVtZXJhbFNlc3Npb24pIHsKKyAgICAgICAgYXV0byBlcGhlbWVyYWxEYXRhU3RvcmUgPSBh
ZG9wdFdLKFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZU5vblBlcnNpc3RlbnREYXRhU3RvcmUoKSk7
CisgICAgICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRlRGF0YVN0b3JlKHBhZ2VDb25m
aWd1cmF0aW9uLmdldCgpLCBlcGhlbWVyYWxEYXRhU3RvcmUuZ2V0KCkpOworICAgIH0KIAogICAg
IG1fdXNlckNvbnRlbnRDb250cm9sbGVyID0gYWRvcHRXSyhXS1VzZXJDb250ZW50Q29udHJvbGxl
ckNyZWF0ZSgpKTsKICAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0VXNlckNvbnRlbnRDb250cm9s
bGVyKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCB1c2VyQ29udGVudENvbnRyb2xsZXIoKSk7CkBA
IC0xMzM4LDYgKzEzNDMsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0
SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qgc3RkOgogICAgICAgICAgICAg
dGVzdE9wdGlvbnMuZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVh
ZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUludGVyc2Vj
dGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25zLmVuYWJsZUludGVyc2VjdGlv
bk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAgICAg
ZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikKKyAgICAgICAgICAgIHRlc3RP
cHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUo
dmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZU1lbnVJdGVtRWxlbWVudCIp
CiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVNZW51SXRlbUVsZW1lbnQgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVu
YWJsZUtleWdlbkVsZW1lbnQiKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCmluZGV4
IDM1MmE2MjY0ZWU3Li5jYjZhNWQ1NmRmNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0T3B0aW9ucy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlv
bnMuaApAQCAtNjksNiArNjksNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgdXNl
Q2hhcmFjdGVyU2VsZWN0aW9uR3JhbnVsYXJpdHkgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxl
QXR0YWNobWVudEVsZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlSW50ZXJzZWN0aW9u
T2JzZXJ2ZXIgeyBmYWxzZSB9OworICAgIGJvb2wgdXNlRXBoZW1lcmFsU2Vzc2lvbiB7IGZhbHNl
IH07CiAgICAgYm9vbCBlbmFibGVNZW51SXRlbUVsZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wg
ZW5hYmxlS2V5Z2VuRWxlbWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVNb2Rlcm5NZWRp
YUNvbnRyb2xzIHsgdHJ1ZSB9OwpAQCAtMTI0LDYgKzEyNSw3IEBAIHN0cnVjdCBUZXN0T3B0aW9u
cyB7CiAgICAgICAgICAgICB8fCB1c2VDaGFyYWN0ZXJTZWxlY3Rpb25HcmFudWxhcml0eSAhPSBv
cHRpb25zLnVzZUNoYXJhY3RlclNlbGVjdGlvbkdyYW51bGFyaXR5CiAgICAgICAgICAgICB8fCBl
bmFibGVBdHRhY2htZW50RWxlbWVudCAhPSBvcHRpb25zLmVuYWJsZUF0dGFjaG1lbnRFbGVtZW50
CiAgICAgICAgICAgICB8fCBlbmFibGVJbnRlcnNlY3Rpb25PYnNlcnZlciAhPSBvcHRpb25zLmVu
YWJsZUludGVyc2VjdGlvbk9ic2VydmVyCisgICAgICAgICAgICB8fCB1c2VFcGhlbWVyYWxTZXNz
aW9uICE9IG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbgogICAgICAgICAgICAgfHwgZW5hYmxl
TWVudUl0ZW1FbGVtZW50ICE9IG9wdGlvbnMuZW5hYmxlTWVudUl0ZW1FbGVtZW50CiAgICAgICAg
ICAgICB8fCBlbmFibGVLZXlnZW5FbGVtZW50ICE9IG9wdGlvbnMuZW5hYmxlS2V5Z2VuRWxlbWVu
dAogICAgICAgICAgICAgfHwgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scyAhPSBvcHRpb25zLmVu
YWJsZU1vZGVybk1lZGlhQ29udHJvbHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Y29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA5YTU1ODI0MTlhNi4uNmU0ZjVjOGMz
MTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xs
ZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9s
bGVyQ29jb2EubW0KQEAgLTE2MCw2ICsxNjAsOSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNyZWF0ZVdlYlZpZXcoV0tQYWdlQ29uZmlndXJhdGlvblJlZiwgY29uc3QgVGVzdE9wdAog
CiAgICAgaWYgKG9wdGlvbnMuZW5hYmxlVW5kb01hbmFnZXJBUEkpCiAgICAgICAgIFtjb3BpZWRD
b25maWd1cmF0aW9uIF9zZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQ6WUVTXTsKKyAgICAgICAgCisg
ICAgaWYgKG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbikKKyAgICAgICAgW2NvcGllZENvbmZp
Z3VyYXRpb24gc2V0V2Vic2l0ZURhdGFTdG9yZTpbV0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNp
c3RlbnREYXRhU3RvcmVdXTsKIAogICAgIGNvbmZpZ3VyZUNvbnRlbnRNb2RlKGNvcGllZENvbmZp
Z3VyYXRpb24uZ2V0KCksIG9wdGlvbnMpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378088</attachid>
            <date>2019-09-05 09:15:33 -0700</date>
            <delta_ts>2019-09-05 10:10:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201475-20190905091532.patch</filename>
            <type>text/plain</type>
            <size>63835</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTliOTlhZjhmZjEwMWMxMjM1MDg3NGZiM2MzMzUwNDg2
YzllZjlmZC4uMGVlNzJmMGJhMzk5MjViYmZmNTQ0OTFjNjZlNmFiNThmN2IxYTZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE5LTA5LTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMl0gQWRkIHByb3BlciBsYXlvdXQgdGVzdCBzdXBwb3J0IGZvciBlcGhlbWVyYWwgc2Vz
c2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MTQ3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBwcm9wZXIgbGF5b3V0IHRlc3Qgc3VwcG9ydCBmb3IgZXBoZW1lcmFsIHNlc3Npb25zIHZpYToK
KyAgICAgICAgPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KKworICAgICAgICBUaGlzIGFjdHVhbGx5IGNyZWF0ZXMgYSBuZXcgV2ViVmlldyB1
c2luZyBhbiBlcGhlbWVyYWwgZGF0YSBzdG9yZSB0byBsb2FkIHRoZSB0ZXN0IHdoaWNoCisgICAg
ICAgIGlzICp0cnVlKiBwcml2YXRlIGJyb3dzaW5nLgorCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpIG1lcmVseSBvdmVycmlkZXMgdGhlIFBhZ2UncyBzZXNz
aW9uSUQgaW4gdGhlIFdlYkNvbnRlbnQKKyAgICAgICAgcHJvY2Vzcywgd2hpY2ggaXMgYSBoYWNr
IGFuZCBkb2VzIG5vdCB0cnVseSBlbmFibGUgcHJpdmF0ZSBicm93c2luZyBiZWNhdXNlIHRoZSBV
SVByb2Nlc3MgYW5kCisgICAgICAgIHRoZSBOZXR3b3JrUHJvY2VzcyBhcmUgbm90IHByb3Blcmx5
IHVwZGF0ZWQgb24gV0syLiBUaGlzIHBhdGNoIHJlbmFtZXMgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKCkKKyAgICAgICAgdG8gdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkX0RFUFJFQ0FURUQoKSB0byBkaXNjb3VyYWdlIGl0cyB1c2Ugc2luY2UgSSBhbSB0
cnkgdG8KKyAgICAgICAgZ2V0IHJpZCBvZiBpdC4KKworICAgICAgICBOb3RlIHRoYXQgV0syIGRv
ZXMgbm90IHN1cHBvcnQgdXNpbmcgYSBXZWJDb250ZW50IHByb2Nlc3MgZm9yIGRpZmZlcmVudCBz
ZXNzaW9ucyAvIGRhdGEgc3RvcmVzLgorICAgICAgICBFYWNoIFdlYkNvbnRlbnQgcHJvY2VzcyBo
YXMgYSBzaW5nbGUgYXNzb2NpYXRlZCBkYXRhIHN0b3JlIGFuZCB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKQorICAgICAgICBpcyBjdXJyZW50bHkgdGhlIG9ubHkgZXhjZXB0
aW9uIHRvIHRoYXQuIFRoaXMgbGVhZHMgdG8gYWRkaXRpb25hbCBjb21wbGV4aXR5IGluIG91ciBj
b2RlIGJhc2UgKGUuZy4gaW4gSVRQKSwKKyAgICAgICAgc2ltcGx5IHRvIHN1cHBvcnQgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpzdGF0aWNG
dW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9E
RVBSRUNBVEVEKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRp
b24pOgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CisgICAgICAgIChXVFI6OlRl
c3RPcHRpb25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgorCiAyMDE5LTA5
LTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgU1BJIHRoYXQgYWNjZXNzZXMgTWVtb3J5Q2FjaGUgZGlyZWN0bHkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmNwcAppbmRleCA0YWQ2ODk3NWVjMThlNGYyMmYwZTRiMzNhNjhkMzRm
YTQ0NmIzMzIxLi43MGFkZTVlMzI2ZDRkY2UyNDAxMDE4NDZlZWQ5MzdmNmMwN2EwNjM3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC03OSw2ICs3OSw4IEBAIFRlc3RPcHRp
b25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6
OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICB1c2VBY2NlbGVyYXRlZERyYXdpbmcgPSBwYXJz
ZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0g
ImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIGVuYWJsZUludGVyc2Vj
dGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikKKyAgICAgICAgICAgIHVz
ZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwog
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAg
ICAgICBlbmFibGVNZW51SXRlbUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUo
dmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggM2NiOTE2YWU1YTBlYTMzZGYyMGJkOGE4
OTZkNTA1MzAzZTkzYTQxZi4uZTY3MzUxYTQzZWY5NjgzYjkwYTJlMTA5Y2JkMTVkNWNjNDUzOWIy
MyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC0zMiw2ICszMiw3IEBAIHN0cnVj
dCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRp
b24geyB0cnVlIH07CiAgICAgYm9vbCB1c2VBY2NlbGVyYXRlZERyYXdpbmcgeyBmYWxzZSB9Owog
ICAgIGJvb2wgZW5hYmxlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgeyBmYWxzZSB9OworICAgIGJvb2wg
dXNlRXBoZW1lcmFsU2Vzc2lvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVNZW51SXRlbUVs
ZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlS2V5Z2VuRWxlbWVudCB7IGZhbHNlIH07
CiAgICAgYm9vbCBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmNwcAppbmRleCA3YzFjNTgxM2I0MDdkMTRkMDZjODY5MWJhOTA0ZDEz
MWIxZTMxZTY1Li42MWJmMDgzNDVkOGFlZWI2NDNkNTIxYmZkZjM0MWFkMTE3MDlhMjg3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcApAQCAtMjIxOSw3ICsyMjE5LDcgQEAgSlNTdGF0
aWNGdW5jdGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQiLCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgInNldFBsdWdpbnNFbmFibGVkIiwgc2V0UGx1Z2luc0VuYWJsZWRD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRQcmludGluZyIsIHNldFByaW50aW5nQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsIHNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQiLCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U2VyaWFsaXplSFRUUExvYWRzIiwg
c2V0U2VyaWFsaXplSFRUUExvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkIiwgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNl
dFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGU1OTc4Mjc5M2ExOWNlMzU2NWQ1
MmFlODRmYjYyM2MyZjg1MmJjZDUuLmI0YjY1MzA1NjY1ZTZjNzlhOWE5ODY5YzFmMTQ0YWIyYjc3
NzM4MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAg
LTEwMjgsNiArMTAyOCw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcHJlZmVyZW5jZXMucmVzaXpl
T2JzZXJ2ZXJFbmFibGVkID0gb3B0aW9ucy5lbmFibGVSZXNpemVPYnNlcnZlcjsKICAgICBwcmVm
ZXJlbmNlcy5jb3JlTWF0aE1MRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQ29yZU1hdGhNTDsKICAg
ICBwcmVmZXJlbmNlcy5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlTGF6
eUltYWdlTG9hZGluZzsKKyAgICBwcmVmZXJlbmNlcy5wcml2YXRlQnJvd3NpbmdFbmFibGVkID0g
b3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1w
UmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggMDc1MDk2
Mjg5NjdmZmZjZjIzMzJiZGVlYzMzNGYyZGY1OTFkNDdhMi4uYjk0OWRjNzYxMWZiN2MzMTI4NWIy
MDQ1ZWY5MjQxMmM5YWVmNWJmMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC04NSw3
ICs4NSw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHNldE5lZWRzU3RvcmFn
ZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0UGx1
Z2luc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVk
KGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQo
Ym9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29sZWFu
IGVuYWJsZWQsIGJvb2xlYW4gcGVybWlzc2l2ZSk7CkBAIC0xMDUsNiArMTA0LDkgQEAgaW50ZXJm
YWNlIFRlc3RSdW5uZXIgewogICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKGJv
b2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlN
RVR5cGVzKGJvb2xlYW4gdmFsdWUpOworICAgIAorICAgIC8vIERFUFJFQ0FURUQ6IFVzZSA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPiBpbnN0
ZWFkLgorICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGJvb2xl
YW4gdmFsdWUpOwogCiAgICAgLy8gU3BlY2lhbCBET00gZnVuY3Rpb25zLgogICAgIHZvaWQgY2xl
YXJCYWNrRm9yd2FyZExpc3QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGY2NmMyYWMzMmFlMjg1NDhmNGZjNGEz
NjliNDVhODIxOWIwZTZmNmIuLjJiMzEwYTQ1YTVhM2Q4MjMyMjFhNDU1NTYyZjg5YmMxMjI2NGQw
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcApAQCAtNTMxLDcgKzUzMSw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sIGVuYWJsZWQpCiAgICAgV0tCdW5kbGVTZXRK
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmpl
Y3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIFRlc3RSdW5uZXI6
OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChib29sIGVuYWJsZWQpCiB7CiAg
ICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7CiAg
ICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGluamVjdGVkQnVuZGxlLmJ1bmRs
ZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDE0NmU5
MWY0Nzg1YmZkMDdiNjYxMDM3M2JhMDdiNzg5MmQ3ZGFmNmIuLjFkMzIzMDczZjg1MGQ0ZGEzYjM0
Yjc5NDc0MjRjYTRiZTk4MTNlZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbCk7CiAg
ICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KGJvb2wpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEN1c3Rv
bVBvbGljeURlbGVnYXRlKGJvb2wgZW5hYmxlZCwgYm9vbCBwZXJtaXNzaXZlID0gZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBmYjRiZDQ3ODNj
MGIyOWM1NTQ1ZTA5YTU4MTVjZTdmN2Y3OWIxZWI3Li41ZGQyMTBkMWExZTRhZTU2YjVlMDJkOTUx
YzdhZjdlMmJjZTMwYzE1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNTg0LDYgKzU4NCwxMSBAQCBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9u
UmVmPiBUZXN0Q29udHJvbGxlcjo6Z2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjbwogICAgIGF1
dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUo
KSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRpb24u
Z2V0KCksIG1fY29udGV4dC5nZXQoKSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFBhZ2VH
cm91cChwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpOworICAgIAor
ICAgIGlmIChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pIHsKKyAgICAgICAgYXV0byBlcGhl
bWVyYWxEYXRhU3RvcmUgPSBhZG9wdFdLKFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZU5vblBlcnNp
c3RlbnREYXRhU3RvcmUoKSk7CisgICAgICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRl
RGF0YVN0b3JlKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCBlcGhlbWVyYWxEYXRhU3RvcmUuZ2V0
KCkpOworICAgIH0KIAogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyID0gYWRvcHRXSyhXS1Vz
ZXJDb250ZW50Q29udHJvbGxlckNyZWF0ZSgpKTsKICAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0
VXNlckNvbnRlbnRDb250cm9sbGVyKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCB1c2VyQ29udGVu
dENvbnRyb2xsZXIoKSk7CkBAIC0xMzM4LDYgKzEzNDMsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qg
c3RkOgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgPSBw
YXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkg
PT0gImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25z
LmVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikK
KyAgICAgICAgICAgIHRlc3RPcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJs
ZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVNZW51SXRl
bUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0T3B0aW9ucy5oCmluZGV4IDM1MmE2MjY0ZWU3ZTRjNzM3MzhlZjU2NWU2MzBjNGY4MmQyNWI4
NjkuLmNiNmE1ZDU2ZGY0NWNjZTJkNDU1Y2EyZDk4YzY0YTIzNDUwNjc2MzYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IFRlc3RPcHRp
b25zIHsKICAgICBib29sIHVzZUNoYXJhY3RlclNlbGVjdGlvbkdyYW51bGFyaXR5IHsgZmFsc2Ug
fTsKICAgICBib29sIGVuYWJsZUF0dGFjaG1lbnRFbGVtZW50IHsgZmFsc2UgfTsKICAgICBib29s
IGVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIHsgZmFsc2UgfTsKKyAgICBib29sIHVzZUVwaGVt
ZXJhbFNlc3Npb24geyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlTWVudUl0ZW1FbGVtZW50IHsg
ZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUtleWdlbkVsZW1lbnQgeyBmYWxzZSB9OwogICAgIGJv
b2wgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scyB7IHRydWUgfTsKQEAgLTEyNCw2ICsxMjUsNyBA
QCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgICAgICAgICAgfHwgdXNlQ2hhcmFjdGVyU2VsZWN0
aW9uR3JhbnVsYXJpdHkgIT0gb3B0aW9ucy51c2VDaGFyYWN0ZXJTZWxlY3Rpb25HcmFudWxhcml0
eQogICAgICAgICAgICAgfHwgZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgIT0gb3B0aW9ucy5lbmFi
bGVBdHRhY2htZW50RWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIgIT0gb3B0aW9ucy5lbmFibGVJbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgICAgICAgICAg
fHwgdXNlRXBoZW1lcmFsU2Vzc2lvbiAhPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24KICAg
ICAgICAgICAgIHx8IGVuYWJsZU1lbnVJdGVtRWxlbWVudCAhPSBvcHRpb25zLmVuYWJsZU1lbnVJ
dGVtRWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlS2V5Z2VuRWxlbWVudCAhPSBvcHRpb25z
LmVuYWJsZUtleWdlbkVsZW1lbnQKICAgICAgICAgICAgIHx8IGVuYWJsZU1vZGVybk1lZGlhQ29u
dHJvbHMgIT0gb3B0aW9ucy5lbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggOWE1
NTgyNDE5YTZhNjU1OGIyNmI3MTdhNDg5ODkyZWUyYzkzMDNmNi4uNmU0ZjVjOGMzMThjYzk4NDhh
MTlmZDY4ODA0MDA1NWM4MWY3ZWZjZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTYwLDYgKzE2MCw5IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9u
UmVmLCBjb25zdCBUZXN0T3B0CiAKICAgICBpZiAob3B0aW9ucy5lbmFibGVVbmRvTWFuYWdlckFQ
SSkKICAgICAgICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxl
ZDpZRVNdOworICAgICAgICAKKyAgICBpZiAob3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKQor
ICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBzZXRXZWJzaXRlRGF0YVN0b3JlOltXS1dlYnNp
dGVEYXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV1dOwogCiAgICAgY29uZmlndXJlQ29u
dGVudE1vZGUoY29waWVkQ29uZmlndXJhdGlvbi5nZXQoKSwgb3B0aW9ucyk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
ZTA5NTA4NjM0MjcyOGY2ZDZiNjQ3NGRjODkyMjBiMmQ4MzVlYjM1Li45ZGNjOTA3MGUwMDlmMTA5
MDMwMzc0MGU5MWRjODg0MjM2ODI2NjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTktMDkt
MDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQg
cHJvcGVyIGxheW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5n
IGxheW91dCB0ZXN0cyB0byBlaXRoZXIgc3dpdGNoIHRvIHRoZSBuZXcgbWVjaGFuaXNtIHdoZW4g
dHJpdmlhbCBvciB0byByZW5hbWUKKyAgICAgICAgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgp
IHRvIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCgpIHdoZW4gaXQgaXMgbm90
LgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRhYmxl
LXByaXZhdGUuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItcHJp
dmF0ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZl
cnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvdXRpbC5qczoKKyAgICAgICAgKHRl
YXJEb3duQW5kRmluaXNoKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1wZXJzaXN0ZW5jeS5odHRwcy5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRw
cy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUt
Y29va2llLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5
aW5nLWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvYXBwY2FjaGUtaW4tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJv
d3NpbmctZW5hYmxlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0
ZS1icm93c2luZy10b2dnbGVkLnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXBy
aXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13
aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2lu
LXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHA6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Jlc291cmNlcy9maXJzdC1wYXJ0eS1jb29r
aWUtYWxsb3cueHNsOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNv
dXJjZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLnhzbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW1haW4tZnJh
bWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1h
bGxvd2VkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1odHRwLWF1dGguaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93
c2luZy1wbHVnaW4uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2Ut
YmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHkt
cmVxdWVzdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLWZlYXR1cmUtb2ZmLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lz
dGVyLmpzOgorICAgICAgICAoYXN5bmMudGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWw6Cisg
ICAgICAgICogaHR0cC93cHQvZmV0Y2gvZG50LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
dWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLTIuaHRtbDoKKyAgICAgICAgKiBwbHVnaW5zL3By
aXZhdGUtYnJvd3NpbmctbW9kZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy9qcy10ZXN0Lmpz
OgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93
c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2Uv
bG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTEuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dz
aW5nLTIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUt
YnJvd3NpbmcuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Bl
bi1kYi1wcml2YXRlLWJyb3dzaW5nLmpzOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3ByaXZh
dGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJsZWQuaHRtbDoKKwogMjAxOS0wOS0wNCAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbQXBwbGVX
aW5dIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtd2l0aC1hbm9ueW1vdXMtcHJldmlvdXMtc2libGlu
Zy5odG1sIGlzIGZhaWxpbmcgYXMgZmxha3kgSW1hZ2VPbmx5RmFpbHVyZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggOTYxZTc0ZWEwZGU2ZmEzOTExYTk2ZjhkNTQ1ZmE5ZDFkMTNi
MThlMi4uNzc1NWU4NjgxOGRiODhhZThjNjg5YWYxYTZkYmFlYzkzOWMzYjM1MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDktMDUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQgcHJvcGVyIGxh
eW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBJbmRleGVkREItcHJpdmF0ZS1icm93
c2luZy9zdXBwb3J0LmpzOgorCiAyMDE5LTA5LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uIHRv
IG1ha2UgU1dDbGllbnRDb25uZWN0aW9uIG1vbm8tdGhyZWFkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFibGUtcHJpdmF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRh
YmxlLXByaXZhdGUuaHRtbAppbmRleCA5ZmExYmE4ZDdiMjJlNGEzNjRiMzJlMzViYmVhZDg5OWFm
ZmM1MWE4Li4yZWJiOTE5YzM2NDRhN2Q5MTYyMDg5NmQxMjQ5OGZlOGMxNzFhNjcxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFi
bGUtcHJpdmF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4
ZWRkYi1ub24tZXhwb3J0YWJsZS1wcml2YXRlLmh0bWwKQEAgLTEsMTAgKzEsNyBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRk
Yi1wcml2YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGIt
cHJpdmF0ZS5odG1sCmluZGV4IDcyZGZkNzg2ZjljMDM3NzU2ZmQ1ZWQ5ZDIyNDE2NTgxZDk3M2Zl
OTUuLjY4OGZjY2VkMDk1ZTQ2NTExM2U4N2ZkYzZkMDRhYWYzNGM5ZDdiZDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi1wcml2YXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLXByaXZhdGUuaHRtbApA
QCAtMSwxMCArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNl
c3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVy
YWwtc2Vzc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IGQ2
Yzk3ZGNlNzVlZDRkMjYzYTk3ZjhlNzY0NTM2NmIyMDBjZDQyZDcuLjY2OWMxYmQyM2ZiYmMxMjEy
YmQ3NjEyYzA2NTQxNzg2MDNmZTFjM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNl
c3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9jb252ZXJzaW9uLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwKQEAgLTU1LDcg
KzU1LDcgQEAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAi
P3N0ZXBUd28iKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAgICAgICAgICAgICAgIGxldCBpbWFn
ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAgICAgICAgICAg
ICBpbWFnZUVsZW1lbnQuc3JjID0gImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvYWRDbGlja0F0dHJp
YnV0aW9uL3Jlc291cmNlcy9yZWRpcmVjdFRvQ29udmVyc2lvbi5waHA/Y29udmVyc2lvbkRhdGE9
MTImbm9uY2U9IiArIG5vbmNlOwogICAgICAgICAgICAgICAgIGltYWdlRWxlbWVudC5pZCA9ICJw
aXhlbCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1
dGlvbi9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCmluZGV4IDNmMzBjOGNhNmZmYzQyZDUxZmI4NTZm
MzM1MDUyNzc4Y2E5ODY3ZjAuLjJiNjI1NDUzZDBjMDNhMTZkYWI2ZjI4NGYzYmQyNTQwMGM4ZDc5
NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9u
L3Jlc291cmNlcy91dGlsLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCkBAIC0xMiw3ICsxMiw2IEBAIGZ1bmN0aW9uIHRl
YXJEb3duQW5kRmluaXNoKCkgewogICAgICAgICB0ZXN0UnVubmVyLnNldEFsbG93c0FueVNTTENl
cnRpZmljYXRlKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRBZENsaWNrQXR0cmlidXRp
b25PdmVycmlkZVRpbWVyRm9yVGVzdGluZyhmYWxzZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0
QWRDbGlja0F0dHJpYnV0aW9uQ29udmVyc2lvblVSTEZvclRlc3RpbmcoIiIpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwogICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vc3RvcmUtZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJh
bC1zZXNzaW9uLmh0bWwKaW5kZXggMjhmZWE3YmU3OWFkMTljNjViYzI1MWQwM2RiODk3NzNmNGYz
NjdlMC4uYjdjMDA3NzRlN2Q2NjcxOTAzYmFhOGY5NTdlNmM0MWM2ZWNiNjgwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vc3RvcmUtZGlzYWJs
ZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2FkQ2xpY2tBdHRyaWJ1dGlvbi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5o
dG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgdXNlRXBoZW1l
cmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8aHRtbCBsYW5nPSJlbiI+CiA8aGVhZD4KICAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CkBAIC0xMyw5ICsxMyw2IEBACiA8c2NyaXB0PgogICAgIHByZXBh
cmVUZXN0KCk7CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SUQpIHsKICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChlbGVtZW50SUQpOwogICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQu
b2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXBlcnNpc3RlbmN5Lmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVu
Y3kuaHR0cHMuaHRtbAppbmRleCBkYzllOTZiNjVlOGMyNDFmNzA3OTZlNjU5NjVlMjU3ZDljMzUy
Y2RkLi43NzE0Mjk0ZTE3MDEyOWQ3MmMyYzEzM2FkYTA3N2RiMzk4MzkzOGNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVuY3ku
aHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbApAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOwogCi0gICAgICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdGVzdC5zdGVwX2Z1bmMoKGV2
ZW50KSA9PiB7CkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuZGF0
YSA9PT0gZmFsc2UsICJObyBjYWNoZSBvYmplY3Qgc2hvdWxkIGJlIGZvdW5kIik7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVD
QVRFRChmYWxzZSk7CiAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSkp
OwogICAgICAgICAgICAgY2hlY2suaW5uZXJIVE1MID0gIjxpZnJhbWUgc3JjPSdyZXNvdXJjZXMv
Y2FjaGUtcGVyc2lzdGVuY3ktaWZyYW1lLmh0bWwnPjwvaWZyYW1lPiI7CkBAIC00MSw3ICs0MSw3
IEBACiAKICAgICBwcm9taXNlX3Rlc3QodGVzdCA9PiB7CiAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWRfREVQUkVDQVRFRChmYWxzZSk7CiAKICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVwcmVzZW50
YXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCmluZGV4IDYxYzBmOGQyNjI3OWY4Yzg5OTll
MTlhMzUxYmZiZDRmYmYzOWIzNzMuLjNkMjZhZWM0OTJjMGE3ZjI4YzFhYjkzZDA4NmM0NTUwYzVl
NmZmMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogPGJvZHk+CiAgICAgPGRpdiBpZD0iY2hlY2siPjwvZGl2PgogICAgIDxzY3JpcHQ+Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICBmdW5jdGlvbiBjaGVja0NhY2hlcyhoYXNQZXJzaXN0
ZW50LCBoYXNSZW1vdmVkLCBuYW1lLCB2YWx1ZSkgewogICAgICAgICB0ZXN0KCgpID0+IHsKICAg
ICAgICAgICAgIHZhciByZXN1bHRzID0gSlNPTi5wYXJzZSh2YWx1ZSkub3JpZ2luczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvZGlzay1jYWNoZS12YXJ5LWNvb2tpZS5odG1sCmluZGV4IDRkYTlmZTQzZjEwY2YyNzliMzg0
MTllZjUyNzc3NTU0N2EyODE0YWUuLjI4OWFjOGY0ODZhOWUxMDM0ODZkNmZjMzA4MDM4NDdlZmZm
NDUzY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9kaXNrLWNhY2hlLXZhcnktY29va2llLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtdmFyeS1jb29raWUuaHRtbApAQCAtNDAsNyAr
NDAsNyBAQCB0ZXN0Q29va2llcyh0cnVlLCBmdW5jdGlvbiAoKSB7CiAgICAgZGVidWcoIlRlc3Rp
bmcgbWVtb3J5IGNhY2hlIik7CiAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgZGVidWcoIlRlc3RpbmcgbWVtb3J5IGNhY2hlIGluIHByaXZhdGUgYnJvd3Npbmci
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0
cnVlKTsKICAgICAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcHJpdmF0ZS1jb29raWUtc3RvcmFnZS5odG1sCmluZGV4
IDcyYjkwZGZlYzVjYWY1NWRhNDI5YWFjMTdiMjYxZTc3ZjEyZWQwNDYuLjZmYjliMzZhNmMwYjEy
ZTZiZmZjYjhjODBmYTY2MmNhNDRhNmY0OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUtY29va2llLXN0b3JhZ2UuaHRtbApAQCAtOCw3
ICs4LDcgQEAgZG9jdW1lbnQuY29va2llID0gImtleTE9dmFsdWUxIjsKIGRlYnVnKCJDb29raWVz
IGJlZm9yZSBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEp
OiIgKyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CiAKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQodHJ1ZSk7IH0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsgfQogCiBkZWJ1ZygiQ29va2llcyBh
ZnRlciBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUgZW1wdHkpOiIgKyBkb2N1
bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoIiIpOyAvLyBXZSdyZSB1c2luZyBhIGRpZmZlcmVu
dCBjb29raWUgc3RvcmFnZSBub3cuICBrZXkxPXZhbHVlMSBpcyBzdGlsbCBpbiB0aGUgZGVmYXVs
dCBjb29raWUgc3RvcmFnZS4KQEAgLTE3LDcgKzE3LDcgQEAgZGVidWcoIkNvb2tpZXMgYWZ0ZXIg
c2V0dGluZyBpbiBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5Mj12YWx1ZTIpOiIgKyBk
b2MKIHRlc3RDb29raWVzKCJrZXkyPXZhbHVlMiIpOwogY2xlYXJDb29raWVzKCk7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOyB9CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOyB9CiAKIGRlYnVnKCJDb29raWVzIGFm
dGVyIGRpc2FibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEpOiIg
KyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5nLWluZm8tcHJpdmF0
ZS1icm93c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9ub3ctcGxheWlu
Zy1pbmZvLXByaXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBjMGEzOTkxNzE5OWE3MTU3YTEzNjIz
OWNlMThjZTI3ZmJlNDg2ZTM0Li44NmJhYjUzNWM3MDRiZTRhNTRhNTQ1MTQ2ZWRhMTExMjYzMWIy
NTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5n
LWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbm93LXBsYXlpbmctaW5mby1wcml2YXRlLWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KICAgICA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogICAgICAgICAgICAgbGV0IG5vd1BsYXlpbmdTdGF0ZTsKICAgICAgICAgICAgIGxldCBwcmV2
aW91c05vd1BsYXlpbmdTdGF0ZTsgCiAKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7Ci0KICAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JBdHRyaWJ1dGVUb0No
YW5nZShhdHRyaWJ1dGUsIGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0ID0g
bmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgICAgICAgICAgICAgZG8gewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1pbi1wcml2YXRlLWJyb3dz
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXBy
aXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBlZGI5YWM2OTVkM2M1ZjQ0NGMzOTRjOGUxYWM0NzU0
NGU2MjA0ZjBlLi4wYjY4M2UyYWFmNzFjMTI5Y2Q5ZTUxYTU2OTIyOTg3YjJjZTUwZjcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXByaXZh
dGUtYnJvd3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fw
cGNhY2hlLWluLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtOCwxNSArOCwxMyBAQCBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gZmluaXNoVGVzdChmcmFtZSkgewotCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoZmFsc2UpOworCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAkJdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0JfQogfQogCiBmdW5jdGlvbiBlbnRlclByaXZhdGVCcm93c2luZyhmcmFtZSkg
ewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRf
REVQUkVDQVRFRCh0cnVlKTsKIAlmcmFtZS5vbmxvYWQgPSBmaW5pc2hUZXN0OwogCWZyYW1lLmNv
bnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGluZy1wcml2YXRlLWJyb3dzaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGlu
Zy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKaW5kZXggYzdhM2E0NWRhMGNkYmE0MDA0M2FmNGExNmUy
MzY1ZTQyNmMwNTMwOC4uY2IyMGIzMDY1ZmNmNTFlMjVhNzljYzIwMGZlOWZjMWRjNjc4MWI4OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1zd2l0
Y2hpbmctcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtMTAs
MTEgKzEwLDkgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAKIGZ1bmN0aW9uIGVudGVyUHJp
dmF0ZUJyb3dzaW5nKGZyYW1lKSB7CiAJaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotCQl0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisJCXRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCWZyYW1lLmNvbnRlbnRXaW5k
b3cuYXBwQ2FjaGVDYWxsYmFjayA9IGZ1bmN0aW9uKHJlc3VsdCkgewogCQlmcmFtZS5jb250ZW50
V2luZG93LnVwZGF0ZUFwcENhY2hlKGZ1bmN0aW9uKHJlc3VsdCkgewotCQkJaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotCQkJCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxz
ZSk7CiAJCQljb25zb2xlLmxvZyhyZXN1bHQgPyAnRkFJTCcgOiAnUEFTUycpOwogCQkJaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogCQkJCXRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZh
dGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKaW5kZXggOWM0ZTlmMzEyNWRjNjJhNmQ0
ZTU2ODAyOGVmMjhiOWM2NDIyNTI1Yy4uODFkOTRlZjEzOTI3ODFjMDk2NDExOWFhOTg4YzhhZTIw
MzA0YmZlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJp
dmF0ZS1icm93c2luZy1lbmFibGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2lu
LW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nIGJlY2F1c2UgaXQgZG9lcyBu
b3QgYXBwZWFyIGluIHRoZSBpbWctc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kuCiBDU1AgcmVwb3J0IHJlY2VpdmVkOgogQ09OVEVOVF9UWVBFOiBhcHBsaWNhdGlv
bi9jc3AtcmVwb3J0CiBIVFRQX0hPU1Q6IGxvY2FsaG9zdDo4MDgwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQt
Y3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQucGhw
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLnBocAppbmRleCBkMDkxZTRhNzI0YjMxOWY3YjUxMTIzNjAyNTEyOGQzZDg5MTI1MTkyLi5l
Yjc4MjFlYjU5MDgwNGI5OThiM2YzZWJlZTk0MWJkZGQyNGJiYzQ5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQt
Y3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQucGhw
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Npbmct
ZW5hYmxlZC5waHAKQEAgLTEsMTMgKzEsMTEgQEAKIDw/cGhwCiAgICAgaGVhZGVyKCJDb250ZW50
LVNlY3VyaXR5LVBvbGljeTogaW1nLXNyYyAnbm9uZSc7IHJlcG9ydC11cmkgaHR0cDovL2xvY2Fs
aG9zdDo4MDgwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2F2ZS1y
ZXBvcnQucGhwIik7CiA/PgorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxT
ZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCk7CiAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwODAvY29v
a2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCBmYWxzZSk7CiAgICAgeGhyLnNldFJlcXVl
c3RIZWFkZXIoIlNFVC1DT09LSUUiLCAiaGVsbG89d29ybGQ7cGF0aD0vIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2ds
ZWQucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy10b2dnbGVkLnBocAppbmRleCA1NTVlOTA3MzIwN2IwNzBkYzExNmU0YTNkMzRlYThiN2M5NDVl
NDg5Li41YzU2MTU1YTBhMDg4OTQzNjhlYmQwZjVhNzllMmMxZjA1OGIzMzk5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2ds
ZWQucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJv
d3NpbmctdG9nZ2xlZC5waHAKQEAgLTEyLDcgKzEyLDcgQEAKICAgICB4aHIuc2VuZChudWxsKTsK
IAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2
YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIDwvc2NyaXB0PgogCiA8IS0tIFRoaXMg
aW1hZ2Ugd2lsbCBnZW5lcmF0ZSBhIENTUCB2aW9sYXRpb24gcmVwb3J0LiAtLT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3JlcG9ydC1zYW1lLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy10b2dn
bGVkLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3JlcG9ydC1zYW1lLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy10b2dnbGVkLnBocAppbmRleCBlYjczMzIwY2EzN2E0NTc4ZTc0ZTVlYTVmZWJiNjM5ZjYxMTI1
ODc2Li4wMzhhZjIzOTUxODdmNGNhNWRhNmQ1MTExMDhiZTEzNjEwZDJlZDE4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xl
ZC5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dz
aW5nLXRvZ2dsZWQucGhwCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgeGhyLnNlbmQobnVsbCk7CiAK
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiA8L3NjcmlwdD4KIAogPCEtLSBUaGlzIGlt
YWdlIHdpbGwgZ2VuZXJhdGUgYSBDU1AgdmlvbGF0aW9uIHJlcG9ydC4gLS0+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3JlcG9ydC1zYW1lLW9yaWdpbi13aXRoLWNvb2tpZXMtd2hlbi1wcml2
YXRlLWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0CmluZGV4IDA4ZDJiZTY1NTYwZDE1MmFh
ZTcyNDM3Zjc0NDgwZjY2ZDU0YzE2OTIuLjFkN2YyODExOGZhMWEzYzY5NTIzMTY1YWU4YWJkYTNj
ZTUwNGRlNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1zYW1lLW9yaWdpbi13aXRoLWNvb2tpZXMtd2hlbi1w
cml2YXRlLWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1zYW1lLW9yaWdp
bi13aXRoLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nIGJlY2F1c2UgaXQgZG9l
cyBub3QgYXBwZWFyIGluIHRoZSBpbWctc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kuCiBDU1AgcmVwb3J0IHJlY2VpdmVkOgogQ09OVEVOVF9UWVBFOiBhcHBsaWNh
dGlvbi9jc3AtcmVwb3J0CiBIVFRQX0NPT0tJRTogaGVsbG89d29ybGQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1zYW1lLW9yaWdpbi13aXRoLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Npbmct
ZW5hYmxlZC5waHAKaW5kZXggNzdlYjdlMDFiMzE0Y2I4ZGZmNmE1MDI0NWY5MmE5NTVmMjFkOTJi
NS4uMjY4NWE3MzI1M2NjOGY0NWZjNDg4MWQyMTBhYTgwOTczOWE0NjFkZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVw
b3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxl
ZC5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJv
d3NpbmctZW5hYmxlZC5waHAKQEAgLTEsMTMgKzEsMTEgQEAKIDw/cGhwCiAgICAgaGVhZGVyKCJD
b250ZW50LVNlY3VyaXR5LVBvbGljeTogaW1nLXNyYyAnbm9uZSc7IHJlcG9ydC11cmkgL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2F2ZS1yZXBvcnQucGhwIik7CiA/
PgorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQodHJ1ZSk7Ci0KICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAg
eGhyLm9wZW4oIkdFVCIsICIvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kiLCBmYWxz
ZSk7CiAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIlNFVC1DT09LSUUiLCAiaGVsbG89d29ybGQ7
cGF0aD0vIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
b2tpZXMvcmVzb3VyY2VzL2ZpcnN0LXBhcnR5LWNvb2tpZS1hbGxvdy54c2wgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL2ZpcnN0LXBhcnR5LWNvb2tp
ZS1hbGxvdy54c2wKaW5kZXggYzJlYjUxMzY3MTJiOTE1Yjg2NzA1MDhjMDA2MjUyNjk5NjRhNzli
NS4uNTZiYWU1ZDRlOGUxMzBjODA4ZmMxNDhlNzQyNjJiNzRiZjIxYmU1ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Jlc291cmNlcy9maXJzdC1w
YXJ0eS1jb29raWUtYWxsb3cueHNsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29va2llcy9yZXNvdXJjZXMvZmlyc3QtcGFydHktY29va2llLWFsbG93LnhzbApAQCAtOCwx
MiArOCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIu
ZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0KLSAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc3Rh
dGUsIGFzIG90aGVyd2lzZSBhbiBleHBpcmVkIGNvb2tpZSBmb3IgdGhpcyBkb21haW4gY291bGQg
YWZmZWN0IGJlaGF2aW9yIHdpdGggQ0ZOZXR3b3JrLgotICAgIC8vIENhbiBiZSByZW1vdmVkIG9u
Y2UgcmRhcjovL3Byb2JsZW0vMTAwODAxMzAgaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRD
b29raWVzKGZhbHNlKTsKIH0KICAgICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29r
aWUtYmxvY2tpbmcueHNsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVz
L3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcueHNsCmluZGV4IGI5OWU5ODE4
ZjIyOTk1NDkzMmYxOThlNDE5NjI1N2QwOGI4ZjRhNGMuLmQ3YjQ0Yjc0NDVjNTU2MzcyMzFkMGE3
ZWQwNmU1YTkyYWZhNmYzZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29va2llcy9yZXNvdXJjZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLnhzbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL3Ro
aXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy54c2wKQEAgLTgsMTIgKzgsNiBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4
dCgpOwotCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhlcndpc2UgYW4g
ZXhwaXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhhdmlvciB3aXRo
IENGTmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIHJkYXI6Ly9wcm9ibGVtLzEw
MDgwMTMwIGlzIGZpeGVkLgotICAgIGlmICh0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKLQogICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CiAg
ICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctbWFpbi1mcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwKaW5kZXggNjQzYjRjYTMwZDk1ODM5OGY1MzA3ODE2
MDMyNDQ3YjJhOTk1NmUyZS4uNGYwMjQwNjYwZWJlMmNhNGY0NjM3YmVhYTZkYzcwNTVlNThiNjE4
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Ro
aXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy1tYWluLWZyYW1lLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDx0aXRsZT5DaGVja3MgdGhhdCBhIFBPU1QgcmVzdWx0aW5nIGluIGEgbWFpbiBmcmFtZSBu
YXZpZ2F0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlyZC1wYXJ0eSBjb29raWUgcnVsZXM8L3Rp
dGxlPgpAQCAtNiwxMiArNyw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0KLSAgICAvLyBTdGFydCB3aXRo
IGEgY2xlYW4gc3RhdGUsIGFzIG90aGVyd2lzZSBhbiBleHBpcmVkIGNvb2tpZSBmb3IgdGhpcyBk
b21haW4gY291bGQgYWZmZWN0IGJlaGF2aW9yIHdpdGggQ0ZOZXR3b3JrLgotICAgIC8vIENhbiBi
ZSByZW1vdmVkIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzEwMDgwMTMwPiBpcyBmaXhlZC4KLSAgICBp
ZiAodGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKQotICAgICAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICB0ZXN0UnVubmVyLnNl
dEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5n
LXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMv
dGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWwKaW5kZXggNzkzOTQxYjc0
M2QwNDY3ZjZjMTUxMWU5YzAwMmRmZjRjYzE2OGU5MC4uZTA4MzY1MTIyNjgyZTIyYzk5N2Y3MTc2
ZDg2OGFjZjI1MzhiNmMxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkgewpAQCAtOSwxMCArMTAsNiBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1l
c0FzVGV4dCgpOwotCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
CiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2lu
Zy11c2VyLWFjdGlvbi5odG1sCmluZGV4IDQ3MjEyNDRiYjYxZmYwZmQ0YjUzOTBjMWU2NmFiMTU1
NWNlYzM2N2QuLjQ3MDg1ZDIxZmUxNTkwZTA5YTQ5MmQ3YTVjYzA3NzRhZGI5MTY3NWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0
eS1jb29raWUtYmxvY2tpbmctdXNlci1hY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXVzZXIt
YWN0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDx0
aXRsZT5DaGVja3MgdGhhdCBhIHVzZXIgZ2VuZXJhdGVkIFBPU1QgcmVxdWVzdCBkb2VzIG5vdCBj
aXJjdW12ZW50IHRoaXJkLXBhcnR5IGNvb2tpZSBydWxlczwvdGl0bGU+CkBAIC04LDEyICs5LDYg
QEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQ2hp
bGRGcmFtZXNBc1RleHQoKTsKLQotICAgIC8vIFN0YXJ0IHdpdGggYSBjbGVhbiBzdGF0ZSwgYXMg
b3RoZXJ3aXNlIGFuIGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFpbiBjb3VsZCBhZmZlY3Qg
YmVoYXZpb3Igd2l0aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJlbW92ZWQgb25jZSA8cmRh
cjovL3Byb2JsZW0vMTAwODAxMzA+IGlzIGZpeGVkLgotICAgIGlmICh0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29va2ll
cyhmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcu
aHRtbAppbmRleCBmMTY5Y2Q0MjJkZjYzZDRiMjYyZTMzMmQ0MTA2MTFlNDc5M2U1ZWVkLi42ZjFm
MTkwZWEyNGFjNmUxZDQ5YjUwMDcwNmRiZjRhZjQzMGVmZDM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2Nr
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Ro
aXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8dGl0bGU+Q2hlY2tzIHRoYXQgYSBzY3JpcHQgZ2VuZXJhdGVkIFBP
U1QgcmVxdWVzdCBkb2VzIG5vdCBjaXJjdW12ZW50IHRoaXJkLXBhcnR5IGNvb2tpZSBydWxlczwv
dGl0bGU+CkBAIC03LDExICs4LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1Rl
eHQoKTsKIAotICAgIC8vIFN0YXJ0IHdpdGggYSBjbGVhbiBzdGF0ZSwgYXMgb3RoZXJ3aXNlIGFu
IGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFpbiBjb3VsZCBhZmZlY3QgYmVoYXZpb3Igd2l0
aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJlbW92ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0v
MTAwODAxMzA+IGlzIGZpeGVkLgotICAgIGlmICh0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0
cnVlKTsKLQogICAgIHRlc3RSdW5uZXIuc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJh
bWUtYWNjZXNzLXByaXZhdGUtYnJvd3NpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXByaXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCAy
NGYzNGRiNDQ4N2QyZWMxZmVmNmExYTJiN2VlYzY4ZTA2ODc4ZGZjLi45YTE5MDgwMGZhNGU2NzZj
ZGZmOTczODJiZGIwYTg2NWZmNjYzODY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHJp
dmF0ZS1icm93c2luZy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiAgICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy9jcm9zcy1mcmFtZS1hY2Nlc3MuanMiPjwvc2NyaXB0PgpA
QCAtMjUsNyArMjYsNiBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAg
ICAgICB2YXIgc3ViRnJhbWUgPSB3aW5kb3cuZnJhbWVzWzBdOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgICAgICB0cnkg
ewogICAgICAgICAgICAgICAgIGxvZygiQXR0ZW1wdGluZyB0byB2aW9sYXRlIHRoZSBzYW1lLW9y
aWdpbiBwb2xpY3kgd2l0aCBwcml2YXRlIGJyb3dzaW5nIGVuYWJsZWQuICBJZiB0aGlzIHN1Y2Nl
ZWRzIHRoZSBjb25zb2xlIHNob3VsZCBub3QgbG9nIHRoZSB2aW9sYXRpb24uIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4t
cHJpdmF0ZS1icm93c2luZy10b2dnbGVkLWFsbG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2ds
ZWQtYWxsb3dlZC5odG1sCmluZGV4IGY3ZmEwNzk2OTdkYjVlODg4OTUyZTQwMGMwNjYxNTU0YTkx
Nzk1YjIuLjE3NDYyMjAxMGQxMGU1OTVmMzg0ODRkY2Q3OTM0YmQzZWQ4NjA4NGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1w
cml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQtYWxsb3dlZC5odG1sCkBAIC01LDcgKzUsNyBAQCB2YXIgZnJhbWVzID0gMjsKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCXRlc3RSdW5u
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0JdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9E
RVBSRUNBVEVEKHRydWUpOwogCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCkBAIC0x
Myw3ICsxMyw3IEBAIGZ1bmN0aW9uIGRlY3JlbWVudCgpIHsKIAktLWZyYW1lczsKIAlpZiAoIWZy
YW1lcykgewogCQlpZiAod2luZG93LnRlc3RSdW5uZXIpCi0JCQl0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworCQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOwogCQlmb3IgKHZhciBpID0gMDsgaSA8IDI7ICsr
aSkgewogCQkJdmFyIGZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFt
ZScpW2ldLmNvbnRlbnRXaW5kb3c7CiAJCQlmcmFtZS5wb3N0TWVzc2FnZSgnbG9hZGVkJywgJyon
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3Jp
Z2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQuaHRtbAppbmRleCAxNDcxMjUxZGY2NjZjMzRkMDY1NjQ4M2U4NzUzYzQ3MTMyYTlmM2Uw
Li4zZjE5NTkzYThhZjIwMTRjYWJlMGNiNjg1YTQxYTk3MjQwZjFjNDBiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0
ZS1icm93c2luZy10b2dnbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sCkBA
IC01LDcgKzUsNyBAQCB2YXIgZnJhbWVzID0gMjsKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
CXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCXRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Ci0JdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworCXRl
c3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCXRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCWludGVybmFscy5zZXR0aW5ncy5zZXRTdG9yYWdl
QmxvY2tpbmdQb2xpY3koJ0Jsb2NrVGhpcmRQYXJ0eScpOwogfQpAQCAtMTQsNyArMTQsNyBAQCBm
dW5jdGlvbiBkZWNyZW1lbnQoKSB7CiAJLS1mcmFtZXM7CiAJaWYgKCFmcmFtZXMpIHsKIAkJaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotCQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGZhbHNlKTsKKwkJCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBS
RUNBVEVEKGZhbHNlKTsKIAkJZm9yICh2YXIgaSA9IDA7IGkgPCAyOyArK2kpIHsKIAkJCXZhciBm
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVtpXS5jb250ZW50
V2luZG93OwogCQkJZnJhbWUucG9zdE1lc3NhZ2UoJ2xvYWRlZCcsICcqJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3ByaXZhdGUtYnJvd3NpbmctaHR0cC1h
dXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3ByaXZhdGUtYnJvd3Np
bmctaHR0cC1hdXRoLmh0bWwKaW5kZXggMDY0NDYyZThjYzQyMzZjMTk2Y2RkMjFjMWJlZTQ3OTZk
YmEzOWE4MS4uYjcyZTJjNmI1MmYzYmMzZjc5YmQ4MTFiY2YzNDIwM2UyOWMzZjk3MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9wcml2YXRlLWJyb3dzaW5nLWh0
dHAtYXV0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcHJpdmF0
ZS1icm93c2luZy1odHRwLWF1dGguaHRtbApAQCAtNiwxNCArNiwxNCBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZXModHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRBdXRoZW50aWNhdGlvblVzZXJuYW1lKCJ3
ZWJraXQiKTsKICAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0aW9uUGFzc3dvcmQoInJvY2tz
Iik7Ci0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwog
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCiBmdW5jdGlvbiBmaXJzdEZyYW1l
TG9hZGVkKCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVu
bmVyLnNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXMoZmFsc2UpOwotICAgIAl0ZXN0
UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworICAgIAl0ZXN0UnVubmVy
LnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAgICAgfQogCiAg
ICAgLy8gSWYgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCB3ZXJlIGluIHRoZSBXZWJDb3JlIENy
ZWRlbnRpYWxTdG9yYWdlLCBXZWJLaXQgd291bGQgYXV0b21hdGljYWxseSBzZW5kIHRoZW0gb3V0
IGZvciB0aGlzIHJlc291cmNlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zdG9yYWdlLWJsb2NraW5nLWxvb3NlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2lu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmct
bG9vc2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRtbAppbmRleCA4ZmEzYzc4MTI1NGFj
OWJlYWY1NDc3MWU2YjM0Y2M4NDg3MjQyOWFiLi43ODY4OGYyYTU5OTMzNjJkMDNjNmFmZTNkMDE4
MTk3NWEyNzQ4ZTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9v
c2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRtbApAQCAtMTAsNyArMTAsNyBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKIAogZnVuY3Rpb24gZGVjcmVtZW50KCkgewogCWlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7CisJCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KHRydWUpOwogCQlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KCdB
bGxvd0FsbCcpOwogCX0KIAlmb3IgKHZhciBpID0gMDsgaSA8IHdpbmRvdy5mcmFtZXMubGVuZ3Ro
OyArK2kpCkBAIC0xOCwxMCArMTgsOCBAQCBmdW5jdGlvbiBkZWNyZW1lbnQoKSB7CiB9CiAKIHdp
bmRvdy5vbm1lc3NhZ2UgPSBmdW5jdGlvbigpIHsKLQlpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KwlpZiAod2luZG93LnRlc3RSdW5uZXIpCiAJCXRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotCQl0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwotCX0KIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zdG9yYWdlLWJsb2NraW5nLXN0cmVuZ3RoZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdG9yYWdlLWJsb2NraW5nLXN0
cmVuZ3RoZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCmluZGV4IGU4OWM5ODIyY2Nj
MTBhZmQxNTcxNWQzYjlmM2U1OTcxYjhkODZlODIuLmRlMTU3MGJiOWM1ZmJmNTk5ZDY5OTVlM2Vh
MTRlOTFjNzQ5Njk2ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvc3RvcmFnZS1ibG9ja2luZy1zdHJlbmd0aGVuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tp
bmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwKQEAgLTUsMTMgKzUs
MTMgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAJdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CiAJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKLQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7
CisJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7
CiB9CiAKIGZ1bmN0aW9uIGRlY3JlbWVudCgpIHsKIAlpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
IAkJaW50ZXJuYWxzLnNldHRpbmdzLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeSgnQmxvY2tBbGwn
KTsKLQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKwkJdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOwogCX0K
IAlmb3IgKHZhciBpID0gMDsgaSA8IHdpbmRvdy5mcmFtZXMubGVuZ3RoOyArK2kpCiAJCXdpbmRv
dy5mcmFtZXNbaV0ucG9zdE1lc3NhZ2UoJ2Jsb2NrZWQnLCAnKicpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9y
LXRoaXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1w
YXJ0eS1yZWRpcmVjdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWwKaW5kZXggYjI2YjhhZDU2NTdhOTBm
ZDlkMDU1OTU2YmY5YTdmODA3MmQ3MmY1Yi4uZjgxNTA1NGUwYWRmMzFhNGU3NDg4NGNhNmIzMDkz
MjVlYTk1YTE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
dHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2
YXRlLW1vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlw
LXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUt
bW9kZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VF
cGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KQEAgLTgsNyArOSw2IEBACiAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgb25seSB0aGUg
b3JpZ2luIGlzIHNlbnQgYXMgcmVmZXJyZXIgZm9yIHRoaXJkLXBhcnR5IHJlZGlyZWN0cyBpbiBw
cml2YXRlIGJyb3dzaW5nIG1vZGUuIik7CiAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLSAg
ICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKIAogICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUo
dXJsLCBvbkxvYWRIYW5kbGVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVxdWVz
dHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVxdWVzdHMtaW4tcHJp
dmF0ZS1tb2RlLmh0bWwKaW5kZXggMjgzZTBjNzdiOGU1OWQ2ODNmMGYzMzVkYTk1MjIwZTc2Yzdl
MzQ0Ni4uOWZhZmEyNzIwNzJjNDZhMzVmOTg0NGZkZGFkNzA1NjQzNjU5Zjk0ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmln
aW4tZm9yLXRoaXJkLXBhcnR5LXJlcXVlc3RzLWluLXByaXZhdGUtbW9kZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZv
ci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC04LDcgKzksNiBAQAogICAg
IGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG9ubHkgdGhlIG9yaWdpbiBpcyBzZW50IGFzIHJlZmVy
cmVyIGZvciB0aGlyZC1wYXJ0eSByZXNvdXJjZXMgaW4gcHJpdmF0ZSBicm93c2luZyBtb2RlLiIp
OwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKHRydWUpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7CiAKICAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25Mb2FkSGFuZGxlcikgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9y
YWdlLWFjY2Vzcy10cnVlLWlmLWZlYXR1cmUtb2ZmLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtZmVhdHVyZS1vZmYu
aHRtbAppbmRleCBhY2FmMDUyOGI2MWQ5OTRhY2U2MzMyNWFlMzUwYTVlZmY0ZjAxMmRhLi5hNjYw
YmVhOGNiODEwMDAzMWU2MGYyMGMzODNhYWZmNWMzMTgzMDAzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYt
ZmVhdHVyZS1vZmYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtZmVhdHVyZS1vZmYuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC04LDkgKzksNiBAQAog
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVudC5oYXNTdG9yYWdlQWNjZXNz
KCkgcmV0dXJucyB0cnVlIGZvciBhIDNyZC1wYXJ0eSBpZnJhbWUgaWYgdGhlcmUgaXMgbm8gd2F5
IHRvIHJlcXVlc3QgYWNjZXNzIChmZWF0dXJlIG9mZikuIik7CiAgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwogCi0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7
CiAKICAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKQEAgLTM4LDQgKzM2
LDQgQEAKIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDwvYm9keT4KLTwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0
ZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMv
YmFzaWMtcmVnaXN0ZXIuanMKaW5kZXggYTgyNTc5MDgxMGJjYTZhM2FmZTg5MjYxMzRkM2RkMWQ5
YzgxYmIyZS4uMmI3OTJkNzc1MDAyOGQxZjNlOTE5NzE1YjM0YjZmZTNkYjIzMjhhNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jh
c2ljLXJlZ2lzdGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5qcwpAQCAtMTAsMTQgKzEwLDE0IEBAIGFzeW5j
IGZ1bmN0aW9uIHRlc3QoKQogICAgIGVsc2UKICAgICAgICAgbG9nKCJGQUlMOiBBIHNlcnZpY2Ug
d29ya2VyIGlzIGluaXRpYWxseSByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiIpOwogCi0gICAg
dGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAgaWYg
KCFhd2FpdCBpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihzZWxmLm9yaWdp
bikpCiAgICAgICAgIGxvZygiUEFTUzogTm8gc2VydmljZSB3b3JrZXIgaXMgaW5pdGlhbGx5IHJl
Z2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUgc2Vzc2lvbiIpOwogICAgIGVsc2UK
ICAgICAgICAgbG9nKCJGQUlMOiBBIHNlcnZpY2Ugd29ya2VyIGlzIGluaXRpYWxseSByZWdpc3Rl
cmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRlIHNlc3Npb24iKTsKIAotICAgIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOwogICAgIHRyeSB7CiAgICAg
ICAgIHIgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2Vz
L2VtcHR5LXdvcmtlci5qcyIsIHsgc2NvcGU6ICIvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy90
ZXN0IiwgdXBkYXRlVmlhQ2FjaGU6ICJub25lIiB9KQogICAgICAgICBsb2coIlJlZ2lzdGVyZWQh
Iik7CkBAIC0zNywxNCArMzcsMTQgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJl
ZCBmb3IgdGhpcyBvcmlnaW4iKTsKIAotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAgICAgIGlmICghYXdhaXQgaW50ZXJuYWxz
Lmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oIi90ZXN0IikpCiAgICAgICAgICAgICBsb2co
IlBBU1M6IE5vIHNlcnZpY2Ugd29ya2VyIGlzIHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIGlu
IHByaXZhdGUgc2Vzc2lvbiIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6
IEEgc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0
ZSBzZXNzaW9uIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
X0RFUFJFQ0FURUQoZmFsc2UpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgbG9nKCJFeGNl
cHRpb24gcmVnaXN0ZXJpbmc6ICIgKyBlKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyLXByaXZhdGUtYnJvd3Np
bmcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZpY2V3b3JrZXItcHJpdmF0ZS1icm93c2luZy5odHRwcy5odG1sCmluZGV4IDQ4YjM4ZGQwYjhj
MWY3ZDkzYjA5OTQzNjAwZjg3MjdlN2FhMDZlMGUuLjYyZDNmNjI0OWMzNGRhN2E1ZjNjNThhNDQ0
ZDQ1OGYwZjg5MTBlN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXItcHJpdmF0ZS1icm93c2luZy5odHRwcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXItcHJp
dmF0ZS1icm93c2luZy5odHRwcy5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIHByb21pc2VfdGVzdChh
c3luYyAodGVzdCkgPT4gewogCiAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QoInRlc3QgcmVxdWlyZXMgaW50ZXJuYWxzIEFQSSIpOwotICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIAogICAgIHZh
ciByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3Ry
YXRpb24oc2NvcGUpOwogICAgIGlmIChyZWdpc3RyYXRpb24gJiYgcmVnaXN0cmF0aW9uLnNjb3Bl
ID09PSBzY29wZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1o
ZWFkZXItYWZ0ZXItcmVkaXJlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L2RudC1oZWFkZXItYWZ0ZXItcmVkaXJlY3Rpb24uaHRtbAppbmRleCBiMTY5YjVlOGM0ODhlYThk
MzQ1ZTU3YWU4ZDY1ZTJlNTdhOGYzMjMzLi4zYzM0ZWY1Y2Y1MzA4NWJkNjI4Zjk5MWU5MzkxOWFk
Mjc3YTVjNzA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9kbnQtaGVh
ZGVyLWFmdGVyLXJlZGlyZWN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0
Y2gvZG50LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTI4LDkgKzI5LDcgQEAgYXN5bmMgZnVu
Y3Rpb24gY2hlY2tETlRIZWFkZXIodGVzdCwgdG9rZW4pCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOwotZWxzZQoraWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKICAgICBhbGVy
dCgiTWFrZSBzdXJlIHRvIHJ1biB0aGlzIHRlc3QgaW4gUHJpdmF0ZSBCcm93c2luZyBNb2RlIik7
CiAKIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL3N1cHBvcnQuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcvc3VwcG9y
dC5qcwppbmRleCA3ZTYxMTQ3YjUxZWIxMDBjMWMxZDJjOGFmNzQxM2RhYWMwODU2NzY1Li4wZjhk
ZWU5Zjc0Mzg0MDU0NDliOWIxMjFmNzNhNjAxZTkzYjhiNjM2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcvc3VwcG9ydC5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcv
c3VwcG9ydC5qcwpAQCAtMSw3ICsxLDggQEAKIC8vIFdlYktpdCBjaGFuZ2VzOiB0aGlzIGZpbGUg
aXMgdGhlIHNhbWUgYXMgIkluZGV4ZWREQi9zdXBwb3J0LmpzIiBmb3VuZCBpbiBXM0Mgd2ViLXBs
YXRmb3JtLXRlc3RzIHJlcG8sCiAvLyBleGNlcHQgZm9yIHRoZSBmb2xsb3dpbmcgbGluZXMgdGhh
dCBhY3RpdmF0ZSBwcml2YXRlIGJyb3dzaW5nCisvLyBGSVhNRTogVXBkYXRlIFdLVFIgLyBEUlQg
dG8gZW5hYmxlIHByaXZhdGUgYnJvd3NpbmcgZm9yIHRoaXMgZm9sZGVyIGluc3RlYWQuCiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBS
RUNBVEVEKHRydWUpOwogLy9FbmQgb2YgV2ViS2l0IGNoYW5nZXMKIAogdmFyIGRhdGFiYXNlTmFt
ZSA9ICJkYXRhYmFzZSI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDEwODU0MGY5ODEwOGI4YmI2YjEzY2FmY2ExYTUxNGFiNDZlYzZjZDkuLmJhNmMzYmRm
NGU0NTFkNGRkNzZkODE5ODg2ZGVhOGQxZmZhNmNhYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC02NzgsMTMgKzY3OCwxMSBAQCBmYXN0L2V2ZW50cy9k
cmFnLWRpc3BsYXktbm9uZS1lbGVtZW50Lmh0bWwKICMgU2tpcCB0ZXN0cyBpbiBmYXN0L3RleHQv
c2hhcGluZwogZmFzdC90ZXh0L3NoYXBpbmcKIAotIyBXZWJLaXRUZXN0UnVubmVyIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCBkb2Vzbid0IHdvcmsgd2l0aCBOZXR3b3JrUHJv
Y2Vzcy4KKyMgV2ViS2l0VGVzdFJ1bm5lciB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWRfREVQUkVDQVRFRCgpIGRvZXNuJ3Qgd29yayB3aXRoIE5ldHdvcmtQcm9jZXNzLgogIyBX
ZSBleHBsaWNpdGx5IFNraXAgdGhlIGZvbGxvd2luZyB0ZXN0cyBpbnN0ZWFkIG9mIG1hcmtpbmcg
dGhlbSBhcyBGYWlsdXJlIGJlY2F1c2Ugc29tZSBvZiB0aGVzZSB0ZXN0cyB3aWxsIG5hdHVyYWxs
eSBwYXNzCi0jIGFzIGEgY29uc2VxdWVuY2Ugb2YgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKCkgZWZmZWN0aXZlbHkgYmVpbmcgYSBuby1vcCBhcyBvZiB0aGUgdGltZSBvZiB3
cml0aW5nICgwNy8wOC8yMDE1KS4KLXdlYmtpdC5vcmcvYi8xMTUyNzQgaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVz
LXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFibGVkLnBocCBbIFNraXAgXQorIyBhcyBhIGNvbnNl
cXVlbmNlIG9mIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KCkgZWZmZWN0aXZlbHkgYmVpbmcgYSBuby1vcCBhcyBvZiB0aGUgdGltZSBvZiB3cml0aW5nICgw
Ny8wOC8yMDE1KS4KIHdlYmtpdC5vcmcvYi8xMTUyNzQgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJp
dmF0ZS1icm93c2luZy10b2dnbGVkLnBocCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzExNTI3NCBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtc2FtZS1vcmln
aW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5waHAgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi8xMTUyNzQgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Np
bmctZW5hYmxlZC5waHAgWyBTa2lwIF0KIAogIyMjIEVORCBPRiAoNCkgRmVhdHVyZXMgdGhhdCBh
cmUgbm90IHN1cHBvcnRlZCBpbiBXZWJLaXQyIGFuZCBsaWtlbHkgbmV2ZXIgd2lsbCBiZQogIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1sIGIvTGF5b3V0VGVzdHMv
cGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1sCmluZGV4IDFkOGI4MDYzZjA1MDEx
MjdlZGNiNzY1ODVmZDk2ZGMwMjFiOWIyYmEuLjI5NzA4NzdhMTJlMmM3YmI3NThlOGY2MTE1Zjk4
NmUwZmVkYTVlNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93
c2luZy1tb2RlLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3ByaXZhdGUtYnJvd3Np
bmctbW9kZS0yLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAg
c2hvdWxkQmUoInBsdWdpbjEucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJmYWxzZSIpOwogCiAg
ICAgLy8gTm93IGVuYWJsZSBwcml2YXRlIGJyb3dzaW5nCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2
YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAgc2hvdWxkQmUoInBsdWdpbjEucHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJ0cnVlIik7CiAgICAgCkBAIC0zMCw3ICszMCw3IEBAIGZ1
bmN0aW9uIHJ1blRlc3QoKQogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGx1Z2luMik7
CiAgICAgCiAgICAgc2hvdWxkQmUoInBsdWdpbjIucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJ0
cnVlIik7Ci0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsK
KyAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxz
ZSk7CiAgICAgc2hvdWxkQmUoInBsdWdpbjEucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJmYWxz
ZSIpOwogICAgIHNob3VsZEJlKCJwbHVnaW4yLnByaXZhdGVCcm93c2luZ0VuYWJsZWQiLCAiZmFs
c2UiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93c2lu
Zy1tb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS5o
dG1sCmluZGV4IGY4NjA2MDhlZmNkNTRmOGJjMTYxOWYzOGQ4MTAxNjg0NzcwMGQ4ZTkuLmY2ZWI5
NjQyMmUyYTI5MDdkYjZjM2FiYjhhN2E3NmVmNGFjN2QzMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
cGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5j
dGlvbiBydW5UZXN0KCkKICAgICBzaG91bGRCZSgicGx1Z2luMS5jYWNoZWRQcml2YXRlQnJvd3Np
bmdFbmFibGVkIiwgImZhbHNlIik7CiAKICAgICAvLyBOb3cgZW5hYmxlIHByaXZhdGUgYnJvd3Np
bmcKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAg
dGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAK
ICAgICBzaG91bGRCZSgicGx1Z2luMS5wcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgInRydWUiKTsK
ICAgICBzaG91bGRCZSgicGx1Z2luMS5jYWNoZWRQcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgInRy
dWUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy9qcy10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKaW5kZXggNThiYjEzMWZiZTIyZGMzYmEzZTlj
ZjFjODZiYjJjNjJkODQ4MGVhNC4uNTcyOTNkNmVhOGI0N2ZmZjllOWQyNTBjNmVkZDNkMjRjMmE5
ZmNjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKKysrIGIv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKQEAgLTYsOCArNiw5IEBAIGlmIChzZWxm
LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAKICAgICAv
LyBJZiB0aGUgdGVzdCBmaWxlIFVSTCBlbmRzIGluICItcHJpdmF0ZS5odG1sIiwgZW5hYmxlIHBy
aXZhdGUgYnJvd3NpbmcuCisgICAgLy8gRklYTUU6IFVwZGF0ZSBXS1RSIC8gRFJUIHRvIGRvIHRo
aXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGUgdGVzdCBuYW1lLgogICAgIGlmICh3aW5kb3cu
bG9jYXRpb24uaHJlZi5lbmRzV2l0aCgiLXByaXZhdGUuaHRtbCIpIHx8IHNlbGYuZW5hYmxlUHJp
dmF0ZUJyb3dzaW5nKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9E
RVBSRUNBVEVEKHRydWUpOwogfQogCiB2YXIgZGVzY3JpcHRpb24sIGRlYnVnLCBkaWRGYWlsU29t
ZVRlc3RzLCBzdWNjZXNzZnVsbHlQYXJzZWQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9y
YWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3By
aXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwKaW5kZXggZWQ1OGE2MGM4MGJmM2Rl
ZDY1MmFmOWYyYmQ2MTAxZTQwOGMyZDc3OS4uOThhMzJkNjVjMDY1ZjFmOTk5N2I4MTI3ZDA0YTlm
MWQwMGJiN2JhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xv
Y2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMtc3RvcmFnZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93c2lu
Zy1hZmZlY3RzLXN0b3JhZ2UuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiBydW5UZXN0
KCkKICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidGVzdEl0ZW0iLCAiUGVyc2lzdGVudCBpdGVt
ISIpOwogICAgIGxvZygiUGVyc2lzdGVudCBsb2NhbFN0b3JhZ2UgdGVzdEl0ZW0gaXM6ICIgKyBs
b2NhbFN0b3JhZ2UuZ2V0SXRlbSgidGVzdEl0ZW0iKSk7CiAgICAgCi0gICAgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKICAgICAKICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJj
ZXMvcHJpdmF0ZS1icm93c2luZy0xLmh0bWwiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTEu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3Vy
Y2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1sCmluZGV4IGU0MTAxZTM5MWMwNWNkNmI2YTk3MzA4
ZDE2MjkxN2EyZDFhYzg5YzQuLjVhMTk2MmE0NzI0MzExZjkzOTFlMzNhODI3NDMwMjlhMTkyOWY0
MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3Jh
Z2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3Npbmct
MS5odG1sCkBAIC0xOSw3ICsxOSw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAgICBsb2co
IkJhY2sgaW4gcGFyZW50IHdpbmRvdywgbG9jYWxTdG9yYWdlJ3MgbGVuZ3RoIGlzOiAiICsgbG9j
YWxTdG9yYWdlLmxlbmd0aCk7CiAgICAgICAgIGxvZygiQmFjayBpbiBwYXJlbnQgd2luZG93LCB0
ZXN0SXRlbSBpczogIiArIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ0ZXN0SXRlbSIpKTsKICAgICAg
ICAgCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KGZhbHNlKTsKIAogICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJwcml2YXRlLWJyb3dz
aW5nLTMuaHRtbCI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21z
dG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvcHJpdmF0ZS1icm93c2luZy0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2
YXRlLWJyb3dzaW5nLTIuaHRtbAppbmRleCAwYjZiN2YyMjI3YzA1NDk0YTRjMDdiY2M3NzA3MGVh
YzhhN2I5MDk5Li5kOTZhYjdlMmZiMGExYmYyMGI1MzBkYjI5ODYyOGJmNGYwN2M1YzRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291
cmNlcy9wcml2YXRlLWJyb3dzaW5nLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2Rv
bXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTIuaHRtbApA
QCAtMTQsNyArMTQsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsK
ICAgICAKICAgICBsb2coImxvY2FsU3RvcmFnZSdzIGxlbmd0aCBpczogIiArIGxvY2FsU3RvcmFn
ZS5sZW5ndGgpOwogICAgIGxvZygiVGhlIGl0ZW0gaW4gbmV3IHdpbmRvdyBzdGFydHMgb3V0IGFz
OiAiICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oInRlc3RJdGVtIikpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kYi1wcml2YXRlLWJyb3dzaW5nLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUtYnJvd3Npbmcu
aHRtbAppbmRleCAyNDVkOWUzYmRhMGZiMDRlNTI0YzlhMDFmM2E1ZTJmZWMzN2JlZTc3Li41ZmJk
OTlmNGM1NTU2Nzc3NWIwMTZhOWJmYzljODE4ZjAxNjQ4MWEwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUtYnJvd3NpbmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUtYnJvd3Npbmcu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBoZW1l
cmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWRiLXByaXZhdGUtYnJvd3NpbmcuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Blbi1kYi1wcml2YXRl
LWJyb3dzaW5nLmpzCmluZGV4IGMyY2JhZDk3YWEyMzE3YTM3NmVlZDhkMjMxN2E1MjE5NmI0MjBi
YmMuLmFiNDNkMGNmYjA5MThlYzk2OTI3ZDIyZmY2MWFmMjJjMWI4MmY3OTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWRiLXByaXZhdGUt
YnJvd3NpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5qcwpAQCAtNSw3ICs1LDYgQEAgaWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiU2ltcGxlIHRlc3QgdG8gb3BlbiBJbmRleGVk
REIgZGF0YWJhc2UgaW4gcHJpdmF0ZSBicm93c2luZyBtb2RlLiIpOwogCi10ZXN0UnVubmVyLnNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwog
c2hvdWxkQmVOdWxsKCJpbmRleGVkREIub3BlbignZGInKSIpOwogZmluaXNoSlNUZXN0KCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJy
b3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwKaW5kZXggNjczYTYxM2MxNmYyNGE1YTJiMDljMDNl
MzdjMzNiODU5OTIxYjAwNC4uNWY4NGFjMmViOTI5MTZiYmQ5Mjg5MTU5NzVlMjYxYjk3M2FmNjdl
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2lu
Zy1ub3JlYWQtbm93cml0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3By
aXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbApAQCAtNjgsNyArNjgsNyBAQCBmdW5j
dGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCiAgICAgY29tcGxldGVkID0gMDsKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKICAgICAKICAgICBmb3IgKGkgaW4gcHJpdmF0ZUJy
b3dzaW5nU3RhdGVtZW50cykKICAgICAgICAgdGhlVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChwcml2
YXRlQnJvd3NpbmdTdGF0ZW1lbnRzW2ldLCBbXSwgcHJpdmF0ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0
aW9uLCBwcml2YXRlQnJvd3NpbmdFcnJvckZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctb3Blbi1kaXNhYmxlZC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1vcGVuLWRpc2FibGVk
Lmh0bWwKaW5kZXggNzBhNzc4Mzg4NWM0Zjk1NjZkZGI0OWU5ZDI2NDFkMjMzMzAxMTIyOS4uZjFm
OTk1MDAwYzVjM2Q0MGIxMDc2ZDZlOGFhM2Q5MjA0ZGYwOWUwNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1vcGVuLWRpc2FibGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1vcGVuLWRp
c2FibGVkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVz
ZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPGJvZHk+CiA8ZGl2IGlkPSJsb2dnZXIiPjwv
ZGl2PgogPHNjcmlwdD4KQEAgLTUsNyArNiw2IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiB9
CiAKIHZhciBsb2dnZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nZ2VyIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378092</attachid>
            <date>2019-09-05 10:10:05 -0700</date>
            <delta_ts>2019-09-05 10:56:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201475-20190905101004.patch</filename>
            <type>text/plain</type>
            <size>63945</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTliOTlhZjhmZjEwMWMxMjM1MDg3NGZiM2MzMzUwNDg2
YzllZjlmZC4uMGVlNzJmMGJhMzk5MjViYmZmNTQ0OTFjNjZlNmFiNThmN2IxYTZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE5LTA5LTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMl0gQWRkIHByb3BlciBsYXlvdXQgdGVzdCBzdXBwb3J0IGZvciBlcGhlbWVyYWwgc2Vz
c2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MTQ3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBwcm9wZXIgbGF5b3V0IHRlc3Qgc3VwcG9ydCBmb3IgZXBoZW1lcmFsIHNlc3Npb25zIHZpYToK
KyAgICAgICAgPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KKworICAgICAgICBUaGlzIGFjdHVhbGx5IGNyZWF0ZXMgYSBuZXcgV2ViVmlldyB1
c2luZyBhbiBlcGhlbWVyYWwgZGF0YSBzdG9yZSB0byBsb2FkIHRoZSB0ZXN0IHdoaWNoCisgICAg
ICAgIGlzICp0cnVlKiBwcml2YXRlIGJyb3dzaW5nLgorCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpIG1lcmVseSBvdmVycmlkZXMgdGhlIFBhZ2UncyBzZXNz
aW9uSUQgaW4gdGhlIFdlYkNvbnRlbnQKKyAgICAgICAgcHJvY2Vzcywgd2hpY2ggaXMgYSBoYWNr
IGFuZCBkb2VzIG5vdCB0cnVseSBlbmFibGUgcHJpdmF0ZSBicm93c2luZyBiZWNhdXNlIHRoZSBV
SVByb2Nlc3MgYW5kCisgICAgICAgIHRoZSBOZXR3b3JrUHJvY2VzcyBhcmUgbm90IHByb3Blcmx5
IHVwZGF0ZWQgb24gV0syLiBUaGlzIHBhdGNoIHJlbmFtZXMgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKCkKKyAgICAgICAgdG8gdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkX0RFUFJFQ0FURUQoKSB0byBkaXNjb3VyYWdlIGl0cyB1c2Ugc2luY2UgSSBhbSB0
cnkgdG8KKyAgICAgICAgZ2V0IHJpZCBvZiBpdC4KKworICAgICAgICBOb3RlIHRoYXQgV0syIGRv
ZXMgbm90IHN1cHBvcnQgdXNpbmcgYSBXZWJDb250ZW50IHByb2Nlc3MgZm9yIGRpZmZlcmVudCBz
ZXNzaW9ucyAvIGRhdGEgc3RvcmVzLgorICAgICAgICBFYWNoIFdlYkNvbnRlbnQgcHJvY2VzcyBo
YXMgYSBzaW5nbGUgYXNzb2NpYXRlZCBkYXRhIHN0b3JlIGFuZCB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKQorICAgICAgICBpcyBjdXJyZW50bHkgdGhlIG9ubHkgZXhjZXB0
aW9uIHRvIHRoYXQuIFRoaXMgbGVhZHMgdG8gYWRkaXRpb25hbCBjb21wbGV4aXR5IGluIG91ciBj
b2RlIGJhc2UgKGUuZy4gaW4gSVRQKSwKKyAgICAgICAgc2ltcGx5IHRvIHN1cHBvcnQgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpzdGF0aWNG
dW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9E
RVBSRUNBVEVEKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRp
b24pOgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CisgICAgICAgIChXVFI6OlRl
c3RPcHRpb25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgorCiAyMDE5LTA5
LTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgU1BJIHRoYXQgYWNjZXNzZXMgTWVtb3J5Q2FjaGUgZGlyZWN0bHkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmNwcAppbmRleCA0YWQ2ODk3NWVjMThlNGYyMmYwZTRiMzNhNjhkMzRm
YTQ0NmIzMzIxLi43MGFkZTVlMzI2ZDRkY2UyNDAxMDE4NDZlZWQ5MzdmNmMwN2EwNjM3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC03OSw2ICs3OSw4IEBAIFRlc3RPcHRp
b25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6
OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICB1c2VBY2NlbGVyYXRlZERyYXdpbmcgPSBwYXJz
ZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0g
ImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIGVuYWJsZUludGVyc2Vj
dGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikKKyAgICAgICAgICAgIHVz
ZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwog
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAg
ICAgICBlbmFibGVNZW51SXRlbUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUo
dmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggM2NiOTE2YWU1YTBlYTMzZGYyMGJkOGE4
OTZkNTA1MzAzZTkzYTQxZi4uZTY3MzUxYTQzZWY5NjgzYjkwYTJlMTA5Y2JkMTVkNWNjNDUzOWIy
MyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC0zMiw2ICszMiw3IEBAIHN0cnVj
dCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRp
b24geyB0cnVlIH07CiAgICAgYm9vbCB1c2VBY2NlbGVyYXRlZERyYXdpbmcgeyBmYWxzZSB9Owog
ICAgIGJvb2wgZW5hYmxlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgeyBmYWxzZSB9OworICAgIGJvb2wg
dXNlRXBoZW1lcmFsU2Vzc2lvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVNZW51SXRlbUVs
ZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlS2V5Z2VuRWxlbWVudCB7IGZhbHNlIH07
CiAgICAgYm9vbCBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmNwcAppbmRleCA3YzFjNTgxM2I0MDdkMTRkMDZjODY5MWJhOTA0ZDEz
MWIxZTMxZTY1Li42MWJmMDgzNDVkOGFlZWI2NDNkNTIxYmZkZjM0MWFkMTE3MDlhMjg3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcApAQCAtMjIxOSw3ICsyMjE5LDcgQEAgSlNTdGF0
aWNGdW5jdGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQiLCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgInNldFBsdWdpbnNFbmFibGVkIiwgc2V0UGx1Z2luc0VuYWJsZWRD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRQcmludGluZyIsIHNldFByaW50aW5nQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsIHNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQiLCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U2VyaWFsaXplSFRUUExvYWRzIiwg
c2V0U2VyaWFsaXplSFRUUExvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkIiwgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNl
dFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGU1OTc4Mjc5M2ExOWNlMzU2NWQ1
MmFlODRmYjYyM2MyZjg1MmJjZDUuLmI0YjY1MzA1NjY1ZTZjNzlhOWE5ODY5YzFmMTQ0YWIyYjc3
NzM4MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAg
LTEwMjgsNiArMTAyOCw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcHJlZmVyZW5jZXMucmVzaXpl
T2JzZXJ2ZXJFbmFibGVkID0gb3B0aW9ucy5lbmFibGVSZXNpemVPYnNlcnZlcjsKICAgICBwcmVm
ZXJlbmNlcy5jb3JlTWF0aE1MRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQ29yZU1hdGhNTDsKICAg
ICBwcmVmZXJlbmNlcy5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlTGF6
eUltYWdlTG9hZGluZzsKKyAgICBwcmVmZXJlbmNlcy5wcml2YXRlQnJvd3NpbmdFbmFibGVkID0g
b3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1w
UmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggMDc1MDk2
Mjg5NjdmZmZjZjIzMzJiZGVlYzMzNGYyZGY1OTFkNDdhMi4uYjk0OWRjNzYxMWZiN2MzMTI4NWIy
MDQ1ZWY5MjQxMmM5YWVmNWJmMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC04NSw3
ICs4NSw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHNldE5lZWRzU3RvcmFn
ZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0UGx1
Z2luc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVk
KGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQo
Ym9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29sZWFu
IGVuYWJsZWQsIGJvb2xlYW4gcGVybWlzc2l2ZSk7CkBAIC0xMDUsNiArMTA0LDkgQEAgaW50ZXJm
YWNlIFRlc3RSdW5uZXIgewogICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKGJv
b2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlN
RVR5cGVzKGJvb2xlYW4gdmFsdWUpOworICAgIAorICAgIC8vIERFUFJFQ0FURUQ6IFVzZSA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPiBpbnN0
ZWFkLgorICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGJvb2xl
YW4gdmFsdWUpOwogCiAgICAgLy8gU3BlY2lhbCBET00gZnVuY3Rpb25zLgogICAgIHZvaWQgY2xl
YXJCYWNrRm9yd2FyZExpc3QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGY2NmMyYWMzMmFlMjg1NDhmNGZjNGEz
NjliNDVhODIxOWIwZTZmNmIuLjJiMzEwYTQ1YTVhM2Q4MjMyMjFhNDU1NTYyZjg5YmMxMjI2NGQw
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcApAQCAtNTMxLDcgKzUzMSw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sIGVuYWJsZWQpCiAgICAgV0tCdW5kbGVTZXRK
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmpl
Y3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIFRlc3RSdW5uZXI6
OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChib29sIGVuYWJsZWQpCiB7CiAg
ICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7CiAg
ICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGluamVjdGVkQnVuZGxlLmJ1bmRs
ZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDE0NmU5
MWY0Nzg1YmZkMDdiNjYxMDM3M2JhMDdiNzg5MmQ3ZGFmNmIuLjFkMzIzMDczZjg1MGQ0ZGEzYjM0
Yjc5NDc0MjRjYTRiZTk4MTNlZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbCk7CiAg
ICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KGJvb2wpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEN1c3Rv
bVBvbGljeURlbGVnYXRlKGJvb2wgZW5hYmxlZCwgYm9vbCBwZXJtaXNzaXZlID0gZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBmYjRiZDQ3ODNj
MGIyOWM1NTQ1ZTA5YTU4MTVjZTdmN2Y3OWIxZWI3Li41ZGQyMTBkMWExZTRhZTU2YjVlMDJkOTUx
YzdhZjdlMmJjZTMwYzE1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNTg0LDYgKzU4NCwxMSBAQCBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9u
UmVmPiBUZXN0Q29udHJvbGxlcjo6Z2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjbwogICAgIGF1
dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUo
KSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRpb24u
Z2V0KCksIG1fY29udGV4dC5nZXQoKSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFBhZ2VH
cm91cChwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpOworICAgIAor
ICAgIGlmIChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pIHsKKyAgICAgICAgYXV0byBlcGhl
bWVyYWxEYXRhU3RvcmUgPSBhZG9wdFdLKFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZU5vblBlcnNp
c3RlbnREYXRhU3RvcmUoKSk7CisgICAgICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRl
RGF0YVN0b3JlKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCBlcGhlbWVyYWxEYXRhU3RvcmUuZ2V0
KCkpOworICAgIH0KIAogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyID0gYWRvcHRXSyhXS1Vz
ZXJDb250ZW50Q29udHJvbGxlckNyZWF0ZSgpKTsKICAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0
VXNlckNvbnRlbnRDb250cm9sbGVyKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCB1c2VyQ29udGVu
dENvbnRyb2xsZXIoKSk7CkBAIC0xMzM4LDYgKzEzNDMsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qg
c3RkOgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgPSBw
YXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkg
PT0gImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25z
LmVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikK
KyAgICAgICAgICAgIHRlc3RPcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJs
ZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVNZW51SXRl
bUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0T3B0aW9ucy5oCmluZGV4IDM1MmE2MjY0ZWU3ZTRjNzM3MzhlZjU2NWU2MzBjNGY4MmQyNWI4
NjkuLmNiNmE1ZDU2ZGY0NWNjZTJkNDU1Y2EyZDk4YzY0YTIzNDUwNjc2MzYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IFRlc3RPcHRp
b25zIHsKICAgICBib29sIHVzZUNoYXJhY3RlclNlbGVjdGlvbkdyYW51bGFyaXR5IHsgZmFsc2Ug
fTsKICAgICBib29sIGVuYWJsZUF0dGFjaG1lbnRFbGVtZW50IHsgZmFsc2UgfTsKICAgICBib29s
IGVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIHsgZmFsc2UgfTsKKyAgICBib29sIHVzZUVwaGVt
ZXJhbFNlc3Npb24geyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlTWVudUl0ZW1FbGVtZW50IHsg
ZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUtleWdlbkVsZW1lbnQgeyBmYWxzZSB9OwogICAgIGJv
b2wgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scyB7IHRydWUgfTsKQEAgLTEyNCw2ICsxMjUsNyBA
QCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgICAgICAgICAgfHwgdXNlQ2hhcmFjdGVyU2VsZWN0
aW9uR3JhbnVsYXJpdHkgIT0gb3B0aW9ucy51c2VDaGFyYWN0ZXJTZWxlY3Rpb25HcmFudWxhcml0
eQogICAgICAgICAgICAgfHwgZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgIT0gb3B0aW9ucy5lbmFi
bGVBdHRhY2htZW50RWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIgIT0gb3B0aW9ucy5lbmFibGVJbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgICAgICAgICAg
fHwgdXNlRXBoZW1lcmFsU2Vzc2lvbiAhPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24KICAg
ICAgICAgICAgIHx8IGVuYWJsZU1lbnVJdGVtRWxlbWVudCAhPSBvcHRpb25zLmVuYWJsZU1lbnVJ
dGVtRWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlS2V5Z2VuRWxlbWVudCAhPSBvcHRpb25z
LmVuYWJsZUtleWdlbkVsZW1lbnQKICAgICAgICAgICAgIHx8IGVuYWJsZU1vZGVybk1lZGlhQ29u
dHJvbHMgIT0gb3B0aW9ucy5lbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggOWE1
NTgyNDE5YTZhNjU1OGIyNmI3MTdhNDg5ODkyZWUyYzkzMDNmNi4uNmU0ZjVjOGMzMThjYzk4NDhh
MTlmZDY4ODA0MDA1NWM4MWY3ZWZjZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTYwLDYgKzE2MCw5IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9u
UmVmLCBjb25zdCBUZXN0T3B0CiAKICAgICBpZiAob3B0aW9ucy5lbmFibGVVbmRvTWFuYWdlckFQ
SSkKICAgICAgICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxl
ZDpZRVNdOworICAgICAgICAKKyAgICBpZiAob3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKQor
ICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBzZXRXZWJzaXRlRGF0YVN0b3JlOltXS1dlYnNp
dGVEYXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV1dOwogCiAgICAgY29uZmlndXJlQ29u
dGVudE1vZGUoY29waWVkQ29uZmlndXJhdGlvbi5nZXQoKSwgb3B0aW9ucyk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
ZTA5NTA4NjM0MjcyOGY2ZDZiNjQ3NGRjODkyMjBiMmQ4MzVlYjM1Li45ZGNjOTA3MGUwMDlmMTA5
MDMwMzc0MGU5MWRjODg0MjM2ODI2NjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTktMDkt
MDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQg
cHJvcGVyIGxheW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5n
IGxheW91dCB0ZXN0cyB0byBlaXRoZXIgc3dpdGNoIHRvIHRoZSBuZXcgbWVjaGFuaXNtIHdoZW4g
dHJpdmlhbCBvciB0byByZW5hbWUKKyAgICAgICAgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgp
IHRvIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCgpIHdoZW4gaXQgaXMgbm90
LgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRhYmxl
LXByaXZhdGUuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItcHJp
dmF0ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZl
cnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvdXRpbC5qczoKKyAgICAgICAgKHRl
YXJEb3duQW5kRmluaXNoKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1wZXJzaXN0ZW5jeS5odHRwcy5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRw
cy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUt
Y29va2llLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5
aW5nLWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvYXBwY2FjaGUtaW4tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJv
d3NpbmctZW5hYmxlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0
ZS1icm93c2luZy10b2dnbGVkLnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXBy
aXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13
aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2lu
LXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHA6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Jlc291cmNlcy9maXJzdC1wYXJ0eS1jb29r
aWUtYWxsb3cueHNsOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNv
dXJjZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLnhzbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW1haW4tZnJh
bWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1h
bGxvd2VkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1odHRwLWF1dGguaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93
c2luZy1wbHVnaW4uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2Ut
YmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHkt
cmVxdWVzdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLWZlYXR1cmUtb2ZmLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lz
dGVyLmpzOgorICAgICAgICAoYXN5bmMudGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWw6Cisg
ICAgICAgICogaHR0cC93cHQvZmV0Y2gvZG50LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
dWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLTIuaHRtbDoKKyAgICAgICAgKiBwbHVnaW5zL3By
aXZhdGUtYnJvd3NpbmctbW9kZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy9qcy10ZXN0Lmpz
OgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93
c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2Uv
bG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTEuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dz
aW5nLTIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUt
YnJvd3NpbmcuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Bl
bi1kYi1wcml2YXRlLWJyb3dzaW5nLmpzOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3ByaXZh
dGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJsZWQuaHRtbDoKKwogMjAxOS0wOS0wNCAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbQXBwbGVX
aW5dIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtd2l0aC1hbm9ueW1vdXMtcHJldmlvdXMtc2libGlu
Zy5odG1sIGlzIGZhaWxpbmcgYXMgZmxha3kgSW1hZ2VPbmx5RmFpbHVyZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggOTYxZTc0ZWEwZGU2ZmEzOTExYTk2ZjhkNTQ1ZmE5ZDFkMTNi
MThlMi4uNzc1NWU4NjgxOGRiODhhZThjNjg5YWYxYTZkYmFlYzkzOWMzYjM1MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDktMDUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQgcHJvcGVyIGxh
eW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBJbmRleGVkREItcHJpdmF0ZS1icm93
c2luZy9zdXBwb3J0LmpzOgorCiAyMDE5LTA5LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uIHRv
IG1ha2UgU1dDbGllbnRDb25uZWN0aW9uIG1vbm8tdGhyZWFkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFibGUtcHJpdmF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRh
YmxlLXByaXZhdGUuaHRtbAppbmRleCA5ZmExYmE4ZDdiMjJlNGEzNjRiMzJlMzViYmVhZDg5OWFm
ZmM1MWE4Li4yZWJiOTE5YzM2NDRhN2Q5MTYyMDg5NmQxMjQ5OGZlOGMxNzFhNjcxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFi
bGUtcHJpdmF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4
ZWRkYi1ub24tZXhwb3J0YWJsZS1wcml2YXRlLmh0bWwKQEAgLTEsMTAgKzEsNyBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRk
Yi1wcml2YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGIt
cHJpdmF0ZS5odG1sCmluZGV4IDcyZGZkNzg2ZjljMDM3NzU2ZmQ1ZWQ5ZDIyNDE2NTgxZDk3M2Zl
OTUuLjY4OGZjY2VkMDk1ZTQ2NTExM2U4N2ZkYzZkMDRhYWYzNGM5ZDdiZDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi1wcml2YXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLXByaXZhdGUuaHRtbApA
QCAtMSwxMCArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNl
c3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVy
YWwtc2Vzc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IGQ2
Yzk3ZGNlNzVlZDRkMjYzYTk3ZjhlNzY0NTM2NmIyMDBjZDQyZDcuLjY2OWMxYmQyM2ZiYmMxMjEy
YmQ3NjEyYzA2NTQxNzg2MDNmZTFjM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNl
c3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9jb252ZXJzaW9uLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwKQEAgLTU1LDcg
KzU1LDcgQEAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAi
P3N0ZXBUd28iKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAgICAgICAgICAgICAgIGxldCBpbWFn
ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAgICAgICAgICAg
ICBpbWFnZUVsZW1lbnQuc3JjID0gImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvYWRDbGlja0F0dHJp
YnV0aW9uL3Jlc291cmNlcy9yZWRpcmVjdFRvQ29udmVyc2lvbi5waHA/Y29udmVyc2lvbkRhdGE9
MTImbm9uY2U9IiArIG5vbmNlOwogICAgICAgICAgICAgICAgIGltYWdlRWxlbWVudC5pZCA9ICJw
aXhlbCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1
dGlvbi9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCmluZGV4IDNmMzBjOGNhNmZmYzQyZDUxZmI4NTZm
MzM1MDUyNzc4Y2E5ODY3ZjAuLjJiNjI1NDUzZDBjMDNhMTZkYWI2ZjI4NGYzYmQyNTQwMGM4ZDc5
NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9u
L3Jlc291cmNlcy91dGlsLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCkBAIC0xMiw3ICsxMiw2IEBAIGZ1bmN0aW9uIHRl
YXJEb3duQW5kRmluaXNoKCkgewogICAgICAgICB0ZXN0UnVubmVyLnNldEFsbG93c0FueVNTTENl
cnRpZmljYXRlKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRBZENsaWNrQXR0cmlidXRp
b25PdmVycmlkZVRpbWVyRm9yVGVzdGluZyhmYWxzZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0
QWRDbGlja0F0dHJpYnV0aW9uQ29udmVyc2lvblVSTEZvclRlc3RpbmcoIiIpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwogICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vc3RvcmUtZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJh
bC1zZXNzaW9uLmh0bWwKaW5kZXggMjhmZWE3YmU3OWFkMTljNjViYzI1MWQwM2RiODk3NzNmNGYz
NjdlMC4uYjdjMDA3NzRlN2Q2NjcxOTAzYmFhOGY5NTdlNmM0MWM2ZWNiNjgwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vc3RvcmUtZGlzYWJs
ZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2FkQ2xpY2tBdHRyaWJ1dGlvbi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5o
dG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgdXNlRXBoZW1l
cmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8aHRtbCBsYW5nPSJlbiI+CiA8aGVhZD4KICAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CkBAIC0xMyw5ICsxMyw2IEBACiA8c2NyaXB0PgogICAgIHByZXBh
cmVUZXN0KCk7CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SUQpIHsKICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChlbGVtZW50SUQpOwogICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQu
b2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXBlcnNpc3RlbmN5Lmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVu
Y3kuaHR0cHMuaHRtbAppbmRleCBkYzllOTZiNjVlOGMyNDFmNzA3OTZlNjU5NjVlMjU3ZDljMzUy
Y2RkLi43NzE0Mjk0ZTE3MDEyOWQ3MmMyYzEzM2FkYTA3N2RiMzk4MzkzOGNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVuY3ku
aHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbApAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOwogCi0gICAgICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdGVzdC5zdGVwX2Z1bmMoKGV2
ZW50KSA9PiB7CkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuZGF0
YSA9PT0gZmFsc2UsICJObyBjYWNoZSBvYmplY3Qgc2hvdWxkIGJlIGZvdW5kIik7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVD
QVRFRChmYWxzZSk7CiAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSkp
OwogICAgICAgICAgICAgY2hlY2suaW5uZXJIVE1MID0gIjxpZnJhbWUgc3JjPSdyZXNvdXJjZXMv
Y2FjaGUtcGVyc2lzdGVuY3ktaWZyYW1lLmh0bWwnPjwvaWZyYW1lPiI7CkBAIC00MSw3ICs0MSw3
IEBACiAKICAgICBwcm9taXNlX3Rlc3QodGVzdCA9PiB7CiAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWRfREVQUkVDQVRFRChmYWxzZSk7CiAKICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVwcmVzZW50
YXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCmluZGV4IDYxYzBmOGQyNjI3OWY4Yzg5OTll
MTlhMzUxYmZiZDRmYmYzOWIzNzMuLjNkMjZhZWM0OTJjMGE3ZjI4YzFhYjkzZDA4NmM0NTUwYzVl
NmZmMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogPGJvZHk+CiAgICAgPGRpdiBpZD0iY2hlY2siPjwvZGl2PgogICAgIDxzY3JpcHQ+Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICBmdW5jdGlvbiBjaGVja0NhY2hlcyhoYXNQZXJzaXN0
ZW50LCBoYXNSZW1vdmVkLCBuYW1lLCB2YWx1ZSkgewogICAgICAgICB0ZXN0KCgpID0+IHsKICAg
ICAgICAgICAgIHZhciByZXN1bHRzID0gSlNPTi5wYXJzZSh2YWx1ZSkub3JpZ2luczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvZGlzay1jYWNoZS12YXJ5LWNvb2tpZS5odG1sCmluZGV4IDRkYTlmZTQzZjEwY2YyNzliMzg0
MTllZjUyNzc3NTU0N2EyODE0YWUuLjI4OWFjOGY0ODZhOWUxMDM0ODZkNmZjMzA4MDM4NDdlZmZm
NDUzY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9kaXNrLWNhY2hlLXZhcnktY29va2llLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtdmFyeS1jb29raWUuaHRtbApAQCAtNDAsNyAr
NDAsNyBAQCB0ZXN0Q29va2llcyh0cnVlLCBmdW5jdGlvbiAoKSB7CiAgICAgZGVidWcoIlRlc3Rp
bmcgbWVtb3J5IGNhY2hlIik7CiAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgZGVidWcoIlRlc3RpbmcgbWVtb3J5IGNhY2hlIGluIHByaXZhdGUgYnJvd3Npbmci
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0
cnVlKTsKICAgICAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcHJpdmF0ZS1jb29raWUtc3RvcmFnZS5odG1sCmluZGV4
IDcyYjkwZGZlYzVjYWY1NWRhNDI5YWFjMTdiMjYxZTc3ZjEyZWQwNDYuLjZmYjliMzZhNmMwYjEy
ZTZiZmZjYjhjODBmYTY2MmNhNDRhNmY0OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUtY29va2llLXN0b3JhZ2UuaHRtbApAQCAtOCw3
ICs4LDcgQEAgZG9jdW1lbnQuY29va2llID0gImtleTE9dmFsdWUxIjsKIGRlYnVnKCJDb29raWVz
IGJlZm9yZSBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEp
OiIgKyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CiAKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQodHJ1ZSk7IH0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsgfQogCiBkZWJ1ZygiQ29va2llcyBh
ZnRlciBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUgZW1wdHkpOiIgKyBkb2N1
bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoIiIpOyAvLyBXZSdyZSB1c2luZyBhIGRpZmZlcmVu
dCBjb29raWUgc3RvcmFnZSBub3cuICBrZXkxPXZhbHVlMSBpcyBzdGlsbCBpbiB0aGUgZGVmYXVs
dCBjb29raWUgc3RvcmFnZS4KQEAgLTE3LDcgKzE3LDcgQEAgZGVidWcoIkNvb2tpZXMgYWZ0ZXIg
c2V0dGluZyBpbiBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5Mj12YWx1ZTIpOiIgKyBk
b2MKIHRlc3RDb29raWVzKCJrZXkyPXZhbHVlMiIpOwogY2xlYXJDb29raWVzKCk7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOyB9CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOyB9CiAKIGRlYnVnKCJDb29raWVzIGFm
dGVyIGRpc2FibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEpOiIg
KyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5nLWluZm8tcHJpdmF0
ZS1icm93c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9ub3ctcGxheWlu
Zy1pbmZvLXByaXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBjMGEzOTkxNzE5OWE3MTU3YTEzNjIz
OWNlMThjZTI3ZmJlNDg2ZTM0Li44NmJhYjUzNWM3MDRiZTRhNTRhNTQ1MTQ2ZWRhMTExMjYzMWIy
NTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5n
LWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbm93LXBsYXlpbmctaW5mby1wcml2YXRlLWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KICAgICA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogICAgICAgICAgICAgbGV0IG5vd1BsYXlpbmdTdGF0ZTsKICAgICAgICAgICAgIGxldCBwcmV2
aW91c05vd1BsYXlpbmdTdGF0ZTsgCiAKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7Ci0KICAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JBdHRyaWJ1dGVUb0No
YW5nZShhdHRyaWJ1dGUsIGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0ID0g
bmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgICAgICAgICAgICAgZG8gewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1pbi1wcml2YXRlLWJyb3dz
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXBy
aXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBlZGI5YWM2OTVkM2M1ZjQ0NGMzOTRjOGUxYWM0NzU0
NGU2MjA0ZjBlLi4wYjY4M2UyYWFmNzFjMTI5Y2Q5ZTUxYTU2OTIyOTg3YjJjZTUwZjcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXByaXZh
dGUtYnJvd3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fw
cGNhY2hlLWluLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtOCwxNSArOCwxMyBAQCBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gZmluaXNoVGVzdChmcmFtZSkgewotCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoZmFsc2UpOworCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAkJdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0JfQogfQogCiBmdW5jdGlvbiBlbnRlclByaXZhdGVCcm93c2luZyhmcmFtZSkg
ewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRf
REVQUkVDQVRFRCh0cnVlKTsKIAlmcmFtZS5vbmxvYWQgPSBmaW5pc2hUZXN0OwogCWZyYW1lLmNv
bnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGluZy1wcml2YXRlLWJyb3dzaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGlu
Zy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKaW5kZXggYzdhM2E0NWRhMGNkYmE0MDA0M2FmNGExNmUy
MzY1ZTQyNmMwNTMwOC4uZWYyZjQ0ZDY3YTdiOWU4NzdhMGJhNWI1Y2Q3M2EyYThmZjQ5MGJiMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1zd2l0
Y2hpbmctcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtMTAs
MTEgKzEwLDExIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBlbnRlclBy
aXZhdGVCcm93c2luZyhmcmFtZSkgewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworCQl0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIAlmcmFtZS5jb250ZW50V2lu
ZG93LmFwcENhY2hlQ2FsbGJhY2sgPSBmdW5jdGlvbihyZXN1bHQpIHsKIAkJZnJhbWUuY29udGVu
dFdpbmRvdy51cGRhdGVBcHBDYWNoZShmdW5jdGlvbihyZXN1bHQpIHsKLQkJCWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLQkJCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFs
c2UpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCQkJ
CXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsK
IAkJCWNvbnNvbGUubG9nKHJlc3VsdCA/ICdGQUlMJyA6ICdQQVNTJyk7CiAJCQlpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAJCQkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1i
cm93c2luZy1lbmFibGVkLWV4cGVjdGVkLnR4dAppbmRleCA5YzRlOWYzMTI1ZGM2MmE2ZDRlNTY4
MDI4ZWYyOGI5YzY0MjI1MjVjLi44MWQ5NGVmMTM5Mjc4MWMwOTY0MTE5YWE5ODhjOGFlMjAzMDRi
ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRl
LWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8t
Y29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCBh
cHBlYXIgaW4gdGhlIGltZy1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeS4KIENTUCByZXBvcnQgcmVjZWl2ZWQ6CiBDT05URU5UX1RZUEU6IGFwcGxpY2F0aW9uL2Nz
cC1yZXBvcnQKIEhUVFBfSE9TVDogbG9jYWxob3N0OjgwODAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9z
cy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQu
cGhwCmluZGV4IGQwOTFlNGE3MjRiMzE5ZjdiNTExMjM2MDI1MTI4ZDNkODkxMjUxOTIuLmViNzgy
MWViNTkwODA0Yjk5OGIzZjNlYmVlOTQxYmRkZDI0YmJjNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9z
cy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLnBocApAQCAtMSwxMyArMSwxMSBAQAogPD9waHAKICAgICBoZWFkZXIoIkNvbnRlbnQtU2Vj
dXJpdHktUG9saWN5OiBpbWctc3JjICdub25lJzsgcmVwb3J0LXVyaSBodHRwOi8vbG9jYWxob3N0
OjgwODAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYXZlLXJlcG9y
dC5waHAiKTsKID8+Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Np
b249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKICAgICB4aHIub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jb29raWVz
L3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIGZhbHNlKTsKICAgICB4aHIuc2V0UmVxdWVzdEhl
YWRlcigiU0VULUNPT0tJRSIsICJoZWxsbz13b3JsZDtwYXRoPS8iKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5w
aHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQucGhwCmluZGV4IDU1NWU5MDczMjA3YjA3MGRjMTE2ZTRhM2QzNGVhOGI3Yzk0NWU0ODku
LjVjNTYxNTVhMGEwODg5NDM2OGViZDBmNWE3OWUyYzFmMDU4YjMzOTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5w
aHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy10b2dnbGVkLnBocApAQCAtMTIsNyArMTIsNyBAQAogICAgIHhoci5zZW5kKG51bGwpOwogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogPC9zY3JpcHQ+CiAKIDwhLS0gVGhpcyBpbWFn
ZSB3aWxsIGdlbmVyYXRlIGEgQ1NQIHZpb2xhdGlvbiByZXBvcnQuIC0tPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVw
b3J0LXNhbWUtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVwb3J0LXNhbWUtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQucGhwCmluZGV4IGViNzMzMjBjYTM3YTQ1NzhlNzRlNWVhNWZlYmI2MzlmNjExMjU4NzYu
LjAzOGFmMjM5NTE4N2Y0Y2E1ZGE2ZDUxMTEwOGJlMTM2MTBkMmVkMTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1zYW1lLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLnBo
cAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Npbmct
dG9nZ2xlZC5waHAKQEAgLTEyLDcgKzEyLDcgQEAKICAgICB4aHIuc2VuZChudWxsKTsKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIDwvc2NyaXB0PgogCiA8IS0tIFRoaXMgaW1hZ2Ug
d2lsbCBnZW5lcmF0ZSBhIENTUCB2aW9sYXRpb24gcmVwb3J0LiAtLT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1zYW1lLW9yaWdpbi13aXRoLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUt
YnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKaW5kZXggMDhkMmJlNjU1NjBkMTUyYWFlNzI0
MzdmNzQ0ODBmNjZkNTRjMTY5Mi4uMWQ3ZjI4MTE4ZmExYTNjNjk1MjMxNjVhZThhYmRhM2NlNTA0
ZGU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZh
dGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdp
dGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcgYmVjYXVzZSBpdCBkb2VzIG5v
dCBhcHBlYXIgaW4gdGhlIGltZy1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KIENTUCByZXBvcnQgcmVjZWl2ZWQ6CiBDT05URU5UX1RZUEU6IGFwcGxpY2F0aW9u
L2NzcC1yZXBvcnQKIEhUVFBfQ09PS0lFOiBoZWxsbz13b3JsZApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNh
bWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLnBocAppbmRleCA3N2ViN2UwMWIzMTRjYjhkZmY2YTUwMjQ1ZjkyYTk1NWYyMWQ5MmI1Li4y
Njg1YTczMjUzY2M4ZjQ1ZmM0ODgxZDIxMGFhODA5NzM5YTQ2MWRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQt
c2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFibGVkLnBo
cAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy1lbmFibGVkLnBocApAQCAtMSwxMyArMSwxMSBAQAogPD9waHAKICAgICBoZWFkZXIoIkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5OiBpbWctc3JjICdub25lJzsgcmVwb3J0LXVyaSAvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYXZlLXJlcG9ydC5waHAiKTsKID8+Cis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCh0cnVlKTsKLQogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIu
b3BlbigiR0VUIiwgIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIGZhbHNlKTsK
ICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiU0VULUNPT0tJRSIsICJoZWxsbz13b3JsZDtwYXRo
PS8iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2ll
cy9yZXNvdXJjZXMvZmlyc3QtcGFydHktY29va2llLWFsbG93LnhzbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNvdXJjZXMvZmlyc3QtcGFydHktY29va2llLWFs
bG93LnhzbAppbmRleCBjMmViNTEzNjcxMmI5MTViODY3MDUwOGMwMDYyNTI2OTk2NGE3OWI1Li41
NmJhZTVkNGU4ZTEzMGM4MDhmYzE0OGU3NDI2MmI3NGJmMjFiZTVmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL2ZpcnN0LXBhcnR5
LWNvb2tpZS1hbGxvdy54c2wKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3Jlc291cmNlcy9maXJzdC1wYXJ0eS1jb29raWUtYWxsb3cueHNsCkBAIC04LDEyICs4
LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1w
Q2hpbGRGcmFtZXNBc1RleHQoKTsKLQotICAgIC8vIFN0YXJ0IHdpdGggYSBjbGVhbiBzdGF0ZSwg
YXMgb3RoZXJ3aXNlIGFuIGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFpbiBjb3VsZCBhZmZl
Y3QgYmVoYXZpb3Igd2l0aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJlbW92ZWQgb25jZSBy
ZGFyOi8vcHJvYmxlbS8xMDA4MDEzMCBpcyBmaXhlZC4KLSAgICBpZiAodGVzdFJ1bm5lci5zZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tp
ZXMoZmFsc2UpOwogfQogICAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1i
bG9ja2luZy54c2wgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVz
b3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy54c2wKaW5kZXggYjk5ZTk4MThmMjI5
OTU0OTMyZjE5OGU0MTk2MjU3ZDA4YjhmNGE0Yy4uZDdiNDRiNzQ0NWM1NTYzNzIzMWQwYTdlZDA2
ZTVhOTJhZmE2ZjNkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb29raWVzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcueHNsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNvdXJjZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLnhzbApAQCAtOCwxMiArOCw2IEBAIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
Ci0KLSAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc3RhdGUsIGFzIG90aGVyd2lzZSBhbiBleHBp
cmVkIGNvb2tpZSBmb3IgdGhpcyBkb21haW4gY291bGQgYWZmZWN0IGJlaGF2aW9yIHdpdGggQ0ZO
ZXR3b3JrLgotICAgIC8vIENhbiBiZSByZW1vdmVkIG9uY2UgcmRhcjovL3Byb2JsZW0vMTAwODAx
MzAgaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
CiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KICAgICAg
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJs
b2NraW5nLW1haW4tZnJhbWUuaHRtbAppbmRleCA2NDNiNGNhMzBkOTU4Mzk4ZjUzMDc4MTYwMzI0
NDdiMmE5OTU2ZTJlLi40ZjAyNDA2NjBlYmUyY2E0ZjQ2MzdiZWFhNmRjNzA1NWU1OGI2MTgyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLW1haW4tZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW1h
aW4tZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PHRpdGxlPkNoZWNrcyB0aGF0IGEgUE9TVCByZXN1bHRpbmcgaW4gYSBtYWluIGZyYW1lIG5hdmln
YXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXJkLXBhcnR5IGNvb2tpZSBydWxlczwvdGl0bGU+
CkBAIC02LDEyICs3LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVz
dFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLQotICAgIC8vIFN0YXJ0IHdpdGggYSBj
bGVhbiBzdGF0ZSwgYXMgb3RoZXJ3aXNlIGFuIGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFp
biBjb3VsZCBhZmZlY3QgYmVoYXZpb3Igd2l0aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJl
bW92ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0vMTAwODAxMzA+IGlzIGZpeGVkLgotICAgIGlmICh0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi0gICAgICAgIHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIHRlc3RSdW5uZXIuc2V0QWx3
YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctcmVk
aXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbAppbmRleCA3OTM5NDFiNzQzZDA0
NjdmNmMxNTExZTljMDAyZGZmNGNjMTY4ZTkwLi5lMDgzNjUxMjI2ODJlMjJjOTk3ZjcxNzZkODY4
YWNmMjUzOGI2YzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPHNjcmlwdD4KIGZ1bmN0aW9uIHRlc3QoKSB7CkBAIC05LDEwICsxMCw2IEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Ci0KLSAgICBpZiAodGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKQot
ICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAg
ICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogfQogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLXVzZXItYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXVz
ZXItYWN0aW9uLmh0bWwKaW5kZXggNDcyMTI0NGJiNjFmZjBmZDRiNTM5MGMxZTY2YWIxNTU1Y2Vj
MzY3ZC4uNDcwODVkMjFmZTE1OTBlMDlhNDkyZDdhNWNjMDc3NGFkYjkxNjc1ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNv
b2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctdXNlci1hY3Rp
b24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBo
ZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPHRpdGxl
PkNoZWNrcyB0aGF0IGEgdXNlciBnZW5lcmF0ZWQgUE9TVCByZXF1ZXN0IGRvZXMgbm90IGNpcmN1
bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90aXRsZT4KQEAgLTgsMTIgKzksNiBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZy
YW1lc0FzVGV4dCgpOwotCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhl
cndpc2UgYW4gZXhwaXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhh
dmlvciB3aXRoIENGTmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8v
cHJvYmxlbS8xMDA4MDEzMD4gaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKHRydWUpOwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZh
bHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1s
CmluZGV4IGYxNjljZDQyMmRmNjNkNGIyNjJlMzMyZDQxMDYxMWU0NzkzZTVlZWQuLjZmMWYxOTBl
YTI0YWM2ZTFkNDliNTAwNzA2ZGJmNGFmNDMwZWZkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDx0aXRsZT5DaGVja3MgdGhhdCBhIHNjcmlwdCBnZW5lcmF0ZWQgUE9TVCBy
ZXF1ZXN0IGRvZXMgbm90IGNpcmN1bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90aXRs
ZT4KQEAgLTcsMTEgKzgsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgp
OwogCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhlcndpc2UgYW4gZXhw
aXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhhdmlvciB3aXRoIENG
TmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8xMDA4
MDEzMD4gaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUp
OwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1h
Y2Nlc3MtcHJpdmF0ZS1icm93c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHJpdmF0ZS1icm93c2luZy5odG1sCmluZGV4IDI0ZjM0
ZGI0NDg3ZDJlYzFmZWY2YTFhMmI3ZWVjNjhlMDY4NzhkZmMuLjlhMTkwODAwZmE0ZTY3NmNkZmY5
NzM4MmJkYjBhODY1ZmY2NjM4NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXByaXZhdGUtYnJvd3NpbmcuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRl
LWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KICAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2Nyb3NzLWZyYW1lLWFjY2Vzcy5qcyI+PC9zY3JpcHQ+CkBAIC0y
NSw3ICsyNiw2IEBACiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgICAg
IHZhciBzdWJGcmFtZSA9IHdpbmRvdy5mcmFtZXNbMF07Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgICAgIHRyeSB7CiAg
ICAgICAgICAgICAgICAgbG9nKCJBdHRlbXB0aW5nIHRvIHZpb2xhdGUgdGhlIHNhbWUtb3JpZ2lu
IHBvbGljeSB3aXRoIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZC4gIElmIHRoaXMgc3VjY2VlZHMg
dGhlIGNvbnNvbGUgc2hvdWxkIG5vdCBsb2cgdGhlIHZpb2xhdGlvbi4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2
YXRlLWJyb3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1h
bGxvd2VkLmh0bWwKaW5kZXggZjdmYTA3OTY5N2RiNWU4ODg5NTJlNDAwYzA2NjE1NTRhOTE3OTVi
Mi4uMTc0NjIyMDEwZDEwZTU5NWYzODQ4NGRjZDc5MzRiZDNlZDg2MDg0ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZh
dGUtYnJvd3NpbmctdG9nZ2xlZC1hbGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xl
ZC1hbGxvd2VkLmh0bWwKQEAgLTUsNyArNSw3IEBAIHZhciBmcmFtZXMgPSAyOwogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQodHJ1ZSk7CisJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJF
Q0FURUQodHJ1ZSk7CiAJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKQEAgLTEzLDcg
KzEzLDcgQEAgZnVuY3Rpb24gZGVjcmVtZW50KCkgewogCS0tZnJhbWVzOwogCWlmICghZnJhbWVz
KSB7CiAJCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChmYWxzZSk7CisJCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAJCWZvciAodmFyIGkgPSAwOyBpIDwgMjsgKytpKSB7
CiAJCQl2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylb
aV0uY29udGVudFdpbmRvdzsKIAkJCWZyYW1lLnBvc3RNZXNzYWdlKCdsb2FkZWQnLCAnKicpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xl
ZC5odG1sCmluZGV4IDE0NzEyNTFkZjY2NmMzNGQwNjU2NDgzZTg3NTNjNDcxMzJhOWYzZTAuLjNm
MTk1OTNhOGFmMjAxNGNhYmUwY2I2ODVhNDFhOTcyNDBmMWM0MGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJy
b3dzaW5nLXRvZ2dsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLmh0bWwKQEAgLTUs
NyArNSw3IEBAIHZhciBmcmFtZXMgPSAyOwogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAJdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKLQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisJdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAJdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAJaW50ZXJuYWxzLnNldHRpbmdzLnNldFN0b3JhZ2VCbG9j
a2luZ1BvbGljeSgnQmxvY2tUaGlyZFBhcnR5Jyk7CiB9CkBAIC0xNCw3ICsxNCw3IEBAIGZ1bmN0
aW9uIGRlY3JlbWVudCgpIHsKIAktLWZyYW1lczsKIAlpZiAoIWZyYW1lcykgewogCQlpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0JCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOworCQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FU
RUQoZmFsc2UpOwogCQlmb3IgKHZhciBpID0gMDsgaSA8IDI7ICsraSkgewogCQkJdmFyIGZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2ldLmNvbnRlbnRXaW5k
b3c7CiAJCQlmcmFtZS5wb3N0TWVzc2FnZSgnbG9hZGVkJywgJyonKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1odHRwLWF1dGgu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1o
dHRwLWF1dGguaHRtbAppbmRleCAwNjQ0NjJlOGNjNDIzNmMxOTZjZGQyMWMxYmVlNDc5NmRiYTM5
YTgxLi5iNzJlMmM2YjUyZjNiYzNmNzliZDgxMWJjZjM0MjAzZTI5YzNmOTcyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3ByaXZhdGUtYnJvd3NpbmctaHR0cC1h
dXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9wcml2YXRlLWJy
b3dzaW5nLWh0dHAtYXV0aC5odG1sCkBAIC02LDE0ICs2LDE0IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyh0cnVlKTsKICAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoIndlYmtp
dCIpOwogICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25QYXNzd29yZCgicm9ja3MiKTsK
LSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKIGZ1bmN0aW9uIGZpcnN0RnJhbWVMb2Fk
ZWQoKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIu
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyhmYWxzZSk7Ci0gICAgCXRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7CisgICAgCXRlc3RSdW5uZXIuc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsKICAgICB9CiAKICAgICAv
LyBJZiB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHdlcmUgaW4gdGhlIFdlYkNvcmUgQ3JlZGVu
dGlhbFN0b3JhZ2UsIFdlYktpdCB3b3VsZCBhdXRvbWF0aWNhbGx5IHNlbmQgdGhlbSBvdXQgZm9y
IHRoaXMgcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29z
ZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCmluZGV4IDhmYTNjNzgxMjU0YWM5YmVh
ZjU0NzcxZTZiMzRjYzg0ODcyNDI5YWIuLjc4Njg4ZjJhNTk5MzM2MmQwM2M2YWZlM2QwMTgxOTc1
YTI3NDhlNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3Rv
cmFnZS1ibG9ja2luZy1sb29zZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5l
ZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBkZWNyZW1lbnQoKSB7CiAJaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0JCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKKwkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1
ZSk7CiAJCWludGVybmFscy5zZXR0aW5ncy5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koJ0FsbG93
QWxsJyk7CiAJfQogCWZvciAodmFyIGkgPSAwOyBpIDwgd2luZG93LmZyYW1lcy5sZW5ndGg7ICsr
aSkKQEAgLTE4LDEwICsxOCw4IEBAIGZ1bmN0aW9uIGRlY3JlbWVudCgpIHsKIH0KIAogd2luZG93
Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKCkgewotCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKIAkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0JCXRlc3RS
dW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7Ci0JfQogfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0
b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctc3RyZW5n
dGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwKaW5kZXggZTg5Yzk4MjJjY2MxMGFm
ZDE1NzE1ZDNiOWYzZTU5NzFiOGQ4NmU4Mi4uZGUxNTcwYmI5YzVmYmY1OTlkNjk5NWUzZWExNGU5
MWM3NDk2OTZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
dG9yYWdlLWJsb2NraW5nLXN0cmVuZ3RoZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1z
dHJlbmd0aGVuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRtbApAQCAtNSwxMyArNSwxMyBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAl0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0Fz
VGV4dCgpOwotCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKwl0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIH0K
IAogZnVuY3Rpb24gZGVjcmVtZW50KCkgewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCQlp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KCdCbG9ja0FsbCcpOwot
CQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworCQl0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAJfQogCWZv
ciAodmFyIGkgPSAwOyBpIDwgd2luZG93LmZyYW1lcy5sZW5ndGg7ICsraSkKIAkJd2luZG93LmZy
YW1lc1tpXS5wb3N0TWVzc2FnZSgnYmxvY2tlZCcsICcqJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhp
cmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUtbW9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5
LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbAppbmRleCBiMjZiOGFkNTY1N2E5MGZkOWQw
NTU5NTZiZjlhN2Y4MDcyZDcyZjViLi5mODE1MDU0ZTBhZGYzMWE0ZTc0ODg0Y2E2YjMwOTMyNWVh
OTVhMTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlw
LXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUt
bW9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RyaXAtcmVm
ZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZWRpcmVjdHMtaW4tcHJpdmF0ZS1tb2Rl
Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVt
ZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpA
QCAtOCw3ICs5LDYgQEAKICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBvbmx5IHRoZSBvcmln
aW4gaXMgc2VudCBhcyByZWZlcnJlciBmb3IgdGhpcmQtcGFydHkgcmVkaXJlY3RzIGluIHByaXZh
dGUgYnJvd3NpbmcgbW9kZS4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgIHRl
c3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKICAgICB0ZXN0UnVubmVy
LmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwogCiAgICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmws
IG9uTG9hZEhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1p
bi1wcml2YXRlLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3Ry
aXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1pbi1wcml2YXRl
LW1vZGUuaHRtbAppbmRleCAyODNlMGM3N2I4ZTU5ZDY4M2YwZjMzNWRhOTUyMjBlNzZjN2UzNDQ2
Li45ZmFmYTI3MjA3MmM0NmEzNWY5ODQ0ZmRkYWQ3MDU2NDM2NTlmOTRlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1m
b3ItdGhpcmQtcGFydHktcmVxdWVzdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlcXVlc3RzLWluLXByaXZhdGUtbW9kZS5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4K
IDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsNyArOSw2IEBACiAgICAgZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgb25seSB0aGUgb3JpZ2luIGlzIHNlbnQgYXMgcmVmZXJyZXIg
Zm9yIHRoaXJkLXBhcnR5IHJlc291cmNlcyBpbiBwcml2YXRlIGJyb3dzaW5nIG1vZGUuIik7CiAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKIAogICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2Ut
YWNjZXNzLXRydWUtaWYtZmVhdHVyZS1vZmYuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0dXJlLW9mZi5odG1s
CmluZGV4IGFjYWYwNTI4YjYxZDk5NGFjZTYzMzI1YWUzNTBhNWVmZjRmMDEyZGEuLmE2NjBiZWE4
Y2I4MTAwMDMxZTYwZjIwYzM4M2FhZmY1YzMxODMwMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0
dXJlLW9mZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0dXJlLW9mZi5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsOSArOSw2IEBACiAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSBy
ZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGVyZSBpcyBubyB3YXkgdG8g
cmVxdWVzdCBhY2Nlc3MgKGZlYXR1cmUgb2ZmKS4iKTsKICAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CiAKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAog
ICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewpAQCAtMzgsNCArMzYsNCBA
QAogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNp
Yy1yZWdpc3Rlci5qcwppbmRleCBhODI1NzkwODEwYmNhNmEzYWZlODkyNjEzNGQzZGQxZDljODFi
YjJlLi4yYjc5MmQ3NzUwMDI4ZDFmM2U5MTk3MTViMzRiNmZlM2RiMjMyOGE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMt
cmVnaXN0ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCkBAIC0xMCwxNCArMTAsMTQgQEAgYXN5bmMgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgZWxzZQogICAgICAgICBsb2coIkZBSUw6IEEgc2VydmljZSB3b3Jr
ZXIgaXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIik7CiAKLSAgICB0ZXN0
UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICBpZiAoIWF3
YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHNlbGYub3JpZ2luKSkK
ICAgICAgICAgbG9nKCJQQVNTOiBObyBzZXJ2aWNlIHdvcmtlciBpcyBpbml0aWFsbHkgcmVnaXN0
ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNzaW9uIik7CiAgICAgZWxzZQogICAg
ICAgICBsb2coIkZBSUw6IEEgc2VydmljZSB3b3JrZXIgaXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQg
Zm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUgc2Vzc2lvbiIpOwogCi0gICAgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAgICAgdHJ5IHsKICAgICAgICAg
ciA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMvZW1w
dHktd29ya2VyLmpzIiwgeyBzY29wZTogIi93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL3Rlc3Qi
LCB1cGRhdGVWaWFDYWNoZTogIm5vbmUiIH0pCiAgICAgICAgIGxvZygiUmVnaXN0ZXJlZCEiKTsK
QEAgLTM3LDE0ICszNywxNCBAQCBhc3luYyBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBzZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZv
ciB0aGlzIG9yaWdpbiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICAgICAgaWYgKCFhd2FpdCBpbnRlcm5hbHMuaGFz
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigiL3Rlc3QiKSkKICAgICAgICAgICAgIGxvZygiUEFT
UzogTm8gc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJp
dmF0ZSBzZXNzaW9uIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJTDogQSBz
ZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRlIHNl
c3Npb24iKTsKIAotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQ
UkVDQVRFRChmYWxzZSk7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICBsb2coIkV4Y2VwdGlv
biByZWdpc3RlcmluZzogIiArIGUpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXItcHJpdmF0ZS1icm93c2luZy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2Vydmlj
ZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWwKaW5kZXggNDhiMzhkZDBiOGMxZjdk
OTNiMDk5NDM2MDBmODcyN2U3YWEwNmUwZS4uNjJkM2Y2MjQ5YzM0ZGE3YTVmM2M1OGE0NDRkNDU4
ZjBmODkxMGU3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRl
LWJyb3dzaW5nLmh0dHBzLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5j
ICh0ZXN0KSA9PiB7CiAKICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdCgidGVzdCByZXF1aXJlcyBpbnRlcm5hbHMgQVBJIik7Ci0gICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAgdmFyIHJl
Z2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlv
bihzY29wZSk7CiAgICAgaWYgKHJlZ2lzdHJhdGlvbiAmJiByZWdpc3RyYXRpb24uc2NvcGUgPT09
IHNjb3BlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZG50LWhlYWRl
ci1hZnRlci1yZWRpcmVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZG50
LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1sCmluZGV4IGIxNjliNWU4YzQ4OGVhOGQzNDVl
NTdhZThkNjVlMmU1N2E4ZjMyMzMuLjNjMzRlZjVjZjUzMDg1YmQ2MjhmOTkxZTkzOTE5YWQyNzdh
NWM3MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1oZWFkZXIt
YWZ0ZXItcmVkaXJlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9k
bnQtaGVhZGVyLWFmdGVyLXJlZGlyZWN0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtMjgsOSArMjksNyBAQCBhc3luYyBmdW5jdGlv
biBjaGVja0ROVEhlYWRlcih0ZXN0LCB0b2tlbikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQodHJ1ZSk7Ci1lbHNlCitpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgIGFsZXJ0KCJN
YWtlIHN1cmUgdG8gcnVuIHRoaXMgdGVzdCBpbiBQcml2YXRlIEJyb3dzaW5nIE1vZGUiKTsKIAog
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcvc3VwcG9ydC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBwb3J0Lmpz
CmluZGV4IDdlNjExNDdiNTFlYjEwMGMxYzFkMmM4YWY3NDEzZGFhYzA4NTY3NjUuLjBmOGRlZTlm
NzQzODQwNTQ0OWI5YjEyMWY3M2E2MDFlOTNiOGI2MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBwb3J0LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBw
b3J0LmpzCkBAIC0xLDcgKzEsOCBAQAogLy8gV2ViS2l0IGNoYW5nZXM6IHRoaXMgZmlsZSBpcyB0
aGUgc2FtZSBhcyAiSW5kZXhlZERCL3N1cHBvcnQuanMiIGZvdW5kIGluIFczQyB3ZWItcGxhdGZv
cm0tdGVzdHMgcmVwbywKIC8vIGV4Y2VwdCBmb3IgdGhlIGZvbGxvd2luZyBsaW5lcyB0aGF0IGFj
dGl2YXRlIHByaXZhdGUgYnJvd3NpbmcKKy8vIEZJWE1FOiBVcGRhdGUgV0tUUiAvIERSVCB0byBl
bmFibGUgcHJpdmF0ZSBicm93c2luZyBmb3IgdGhpcyBmb2xkZXIgaW5zdGVhZC4KIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FU
RUQodHJ1ZSk7CiAvL0VuZCBvZiBXZWJLaXQgY2hhbmdlcwogCiB2YXIgZGF0YWJhc2VOYW1lID0g
ImRhdGFiYXNlIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMTA4NTQwZjk4MTA4YjhiYjZiMTNjYWZjYTFhNTE0YWI0NmVjNmNkOS4uYmE2YzNiZGY0ZTQ1
MWQ0ZGQ3NmQ4MTk4ODZkZWE4ZDFmZmE2Y2FiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY3OCwxMyArNjc4LDExIEBAIGZhc3QvZXZlbnRzL2RyYWct
ZGlzcGxheS1ub25lLWVsZW1lbnQuaHRtbAogIyBTa2lwIHRlc3RzIGluIGZhc3QvdGV4dC9zaGFw
aW5nCiBmYXN0L3RleHQvc2hhcGluZwogCi0jIFdlYktpdFRlc3RSdW5uZXIgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIGRvZXNuJ3Qgd29yayB3aXRoIE5ldHdvcmtQcm9jZXNz
LgorIyBXZWJLaXRUZXN0UnVubmVyIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZF9ERVBSRUNBVEVEKCkgZG9lc24ndCB3b3JrIHdpdGggTmV0d29ya1Byb2Nlc3MuCiAjIFdlIGV4
cGxpY2l0bHkgU2tpcCB0aGUgZm9sbG93aW5nIHRlc3RzIGluc3RlYWQgb2YgbWFya2luZyB0aGVt
IGFzIEZhaWx1cmUgYmVjYXVzZSBzb21lIG9mIHRoZXNlIHRlc3RzIHdpbGwgbmF0dXJhbGx5IHBh
c3MKLSMgYXMgYSBjb25zZXF1ZW5jZSBvZiB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoKSBlZmZlY3RpdmVseSBiZWluZyBhIG5vLW9wIGFzIG9mIHRoZSB0aW1lIG9mIHdyaXRp
bmcgKDA3LzA4LzIwMTUpLgotd2Via2l0Lm9yZy9iLzExNTI3NCBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hl
bi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQucGhwIFsgU2tpcCBdCisjIGFzIGEgY29uc2VxdWVu
Y2Ugb2YgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoKSBl
ZmZlY3RpdmVseSBiZWluZyBhIG5vLW9wIGFzIG9mIHRoZSB0aW1lIG9mIHdyaXRpbmcgKDA3LzA4
LzIwMTUpLgogd2Via2l0Lm9yZy9iLzExNTI3NCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRl
LWJyb3dzaW5nLXRvZ2dsZWQucGhwIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTE1Mjc0IGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1zYW1lLW9yaWdpbi1u
by1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLnBocCBbIFNraXAgXQotd2Vi
a2l0Lm9yZy9iLzExNTI3NCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1l
bmFibGVkLnBocCBbIFNraXAgXQogCiAjIyMgRU5EIE9GICg0KSBGZWF0dXJlcyB0aGF0IGFyZSBu
b3Qgc3VwcG9ydGVkIGluIFdlYktpdDIgYW5kIGxpa2VseSBuZXZlciB3aWxsIGJlCiAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS0yLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVn
aW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS0yLmh0bWwKaW5kZXggMWQ4YjgwNjNmMDUwMTEyN2Vk
Y2I3NjU4NWZkOTZkYzAyMWI5YjJiYS4uMjk3MDg3N2ExMmUyYzdiYjc1OGU4ZjYxMTVmOTg2ZTBm
ZWRhNWU0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5n
LW1vZGUtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1t
b2RlLTIuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBzaG91
bGRCZSgicGx1Z2luMS5wcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgImZhbHNlIik7CiAKICAgICAv
LyBOb3cgZW5hYmxlIHByaXZhdGUgYnJvd3NpbmcKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICBzaG91bGRCZSgicGx1Z2luMS5wcml2YXRl
QnJvd3NpbmdFbmFibGVkIiwgInRydWUiKTsKICAgICAKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rp
b24gcnVuVGVzdCgpCiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwbHVnaW4yKTsKICAg
ICAKICAgICBzaG91bGRCZSgicGx1Z2luMi5wcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgInRydWUi
KTsKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsK
ICAgICBzaG91bGRCZSgicGx1Z2luMS5wcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgImZhbHNlIik7
CiAgICAgc2hvdWxkQmUoInBsdWdpbjIucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJmYWxzZSIp
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1v
ZGUuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLmh0bWwK
aW5kZXggZjg2MDYwOGVmY2Q1NGY4YmMxNjE5ZjM4ZDgxMDE2ODQ3NzAwZDhlOS4uZjZlYjk2NDIy
ZTJhMjkwN2RiNmMzYWJiOGE3YTc2ZWY0YWM3ZDMzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVn
aW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9u
IHJ1blRlc3QoKQogICAgIHNob3VsZEJlKCJwbHVnaW4xLmNhY2hlZFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQiLCAiZmFsc2UiKTsKIAogICAgIC8vIE5vdyBlbmFibGUgcHJpdmF0ZSBicm93c2luZwot
ICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICB0ZXN0
UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIAogICAg
IHNob3VsZEJlKCJwbHVnaW4xLnByaXZhdGVCcm93c2luZ0VuYWJsZWQiLCAidHJ1ZSIpOwogICAg
IHNob3VsZEJlKCJwbHVnaW4xLmNhY2hlZFByaXZhdGVCcm93c2luZ0VuYWJsZWQiLCAidHJ1ZSIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMgYi9MYXlvdXRU
ZXN0cy9yZXNvdXJjZXMvanMtdGVzdC5qcwppbmRleCA1OGJiMTMxZmJlMjJkYzNiYTNlOWNmMWM4
NmJiMmM2MmQ4NDgwZWE0Li41NzI5M2Q2ZWE4YjQ3ZmZmOWU5ZDI1MGM2ZWRkM2QyNGMyYTlmY2Nh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvanMtdGVzdC5qcworKysgYi9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvanMtdGVzdC5qcwpAQCAtNiw4ICs2LDkgQEAgaWYgKHNlbGYudGVz
dFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIC8vIElm
IHRoZSB0ZXN0IGZpbGUgVVJMIGVuZHMgaW4gIi1wcml2YXRlLmh0bWwiLCBlbmFibGUgcHJpdmF0
ZSBicm93c2luZy4KKyAgICAvLyBGSVhNRTogVXBkYXRlIFdLVFIgLyBEUlQgdG8gZG8gdGhpcyBh
dXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZSB0ZXN0IG5hbWUuCiAgICAgaWYgKHdpbmRvdy5sb2Nh
dGlvbi5ocmVmLmVuZHNXaXRoKCItcHJpdmF0ZS5odG1sIikgfHwgc2VsZi5lbmFibGVQcml2YXRl
QnJvd3NpbmcpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJF
Q0FURUQodHJ1ZSk7CiB9CiAKIHZhciBkZXNjcmlwdGlvbiwgZGVidWcsIGRpZEZhaWxTb21lVGVz
dHMsIHN1Y2Nlc3NmdWxseVBhcnNlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2Uu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0
ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbAppbmRleCBlZDU4YTYwYzgwYmYzZGVkNjUy
YWY5ZjJiZDYxMDFlNDA4YzJkNzc5Li45OGEzMmQ2NWMwNjVmMWY5OTk3YjgxMjdkMDRhOWYxZDAw
YmI3YmE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxz
dG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFm
ZmVjdHMtc3RvcmFnZS5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQog
ICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0ZXN0SXRlbSIsICJQZXJzaXN0ZW50IGl0ZW0hIik7
CiAgICAgbG9nKCJQZXJzaXN0ZW50IGxvY2FsU3RvcmFnZSB0ZXN0SXRlbSBpczogIiArIGxvY2Fs
U3RvcmFnZS5nZXRJdGVtKCJ0ZXN0SXRlbSIpKTsKICAgICAKLSAgICB0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVu
V2luZG93cygpOwogICAgIAogICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9w
cml2YXRlLWJyb3dzaW5nLTEuaHRtbCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMv
cHJpdmF0ZS1icm93c2luZy0xLmh0bWwKaW5kZXggZTQxMDFlMzkxYzA1Y2Q2YjZhOTczMDhkMTYy
OTE3YTJkMWFjODljNC4uNWExOTYyYTQ3MjQzMTFmOTM5MWUzM2E4Mjc0MzAyOWExOTI5ZjQxOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9y
ZXNvdXJjZXMvcHJpdmF0ZS1icm93c2luZy0xLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvcHJpdmF0ZS1icm93c2luZy0xLmh0
bWwKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgICAgIGxvZygiQmFj
ayBpbiBwYXJlbnQgd2luZG93LCBsb2NhbFN0b3JhZ2UncyBsZW5ndGggaXM6ICIgKyBsb2NhbFN0
b3JhZ2UubGVuZ3RoKTsKICAgICAgICAgbG9nKCJCYWNrIGluIHBhcmVudCB3aW5kb3csIHRlc3RJ
dGVtIGlzOiAiICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oInRlc3RJdGVtIikpOwogICAgICAgICAK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFs
c2UpOwogCiAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInByaXZhdGUtYnJvd3Npbmct
My5odG1sIjsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3Jh
Z2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTIuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUt
YnJvd3NpbmctMi5odG1sCmluZGV4IDBiNmI3ZjIyMjdjMDU0OTRhNGMwN2JjYzc3MDcwZWFjOGE3
YjkwOTkuLmQ5NmFiN2UyZmIwYTFiZjIwYjUzMGRiMjk4NjI4YmY0ZjA3YzVjNGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2Vz
L3ByaXZhdGUtYnJvd3NpbmctMi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3Rv
cmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3NpbmctMi5odG1sCkBAIC0x
NCw3ICsxNCw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRl
c3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAg
IAogICAgIGxvZygibG9jYWxTdG9yYWdlJ3MgbGVuZ3RoIGlzOiAiICsgbG9jYWxTdG9yYWdlLmxl
bmd0aCk7CiAgICAgbG9nKCJUaGUgaXRlbSBpbiBuZXcgd2luZG93IHN0YXJ0cyBvdXQgYXM6ICIg
KyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidGVzdEl0ZW0iKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUtYnJvd3NpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5odG1s
CmluZGV4IDI0NWQ5ZTNiZGEwZmIwNGU1MjRjOWEwMWYzYTVlMmZlYzM3YmVlNzcuLjVmYmQ5OWY0
YzU1NTY3Nzc1YjAxNmE5YmZjOWM4MThmMDE2NDgxYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxT
ZXNzaW9uPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5qcyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWRiLXByaXZhdGUtYnJv
d3NpbmcuanMKaW5kZXggYzJjYmFkOTdhYTIzMTdhMzc2ZWVkOGQyMzE3YTUyMTk2YjQyMGJiYy4u
YWI0M2QwY2ZiMDkxOGVjOTY5MjdkMjJmZjYxYWYyMmMxYjgyZjc5NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZGItcHJpdmF0ZS1icm93
c2luZy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Bl
bi1kYi1wcml2YXRlLWJyb3dzaW5nLmpzCkBAIC01LDcgKzUsNiBAQCBpZiAodGhpcy5pbXBvcnRT
Y3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJTaW1wbGUgdGVzdCB0byBvcGVuIEluZGV4ZWREQiBk
YXRhYmFzZSBpbiBwcml2YXRlIGJyb3dzaW5nIG1vZGUuIik7CiAKLXRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiBzaG91
bGRCZU51bGwoImluZGV4ZWREQi5vcGVuKCdkYicpIik7CiBmaW5pc2hKU1Rlc3QoKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFk
LW5vd3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Np
bmctbm9yZWFkLW5vd3JpdGUuaHRtbAppbmRleCA2NzNhNjEzYzE2ZjI0YTVhMmIwOWMwM2UzN2Mz
M2I4NTk5MjFiMDA0Li41Zjg0YWMyZWI5MjkxNmJiZDkyODkxNTk3NWUyNjFiOTczYWY2N2UwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0
ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCkBAIC02OCw3ICs2OCw3IEBAIGZ1bmN0aW9u
IHJ1blByaXZhdGVCcm93c2luZ1Rlc3RzKCkKICAgICBjb21wbGV0ZWQgPSAwOwogCiAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAgIAogICAgIGZvciAoaSBpbiBwcml2YXRlQnJvd3Np
bmdTdGF0ZW1lbnRzKQogICAgICAgICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHByaXZhdGVC
cm93c2luZ1N0YXRlbWVudHNbaV0sIFtdLCBwcml2YXRlQnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24s
IHByaXZhdGVCcm93c2luZ0Vycm9yRnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1vcGVuLWRpc2FibGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJsZWQuaHRt
bAppbmRleCA3MGE3NzgzODg1YzRmOTU2NmRkYjQ5ZTlkMjY0MWQyMzMzMDExMjI5Li5mMWY5OTUw
MDBjNWMzZDQwYjEwNzZkNmU4YWEzZDkyMDRkZjA5ZTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJsZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJs
ZWQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBo
ZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8Ym9keT4KIDxkaXYgaWQ9ImxvZ2dlciI+PC9kaXY+
CiA8c2NyaXB0PgpAQCAtNSw3ICs2LDYgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKIH0KIAog
dmFyIGxvZ2dlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dnZXIiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378097</attachid>
            <date>2019-09-05 10:56:37 -0700</date>
            <delta_ts>2019-09-05 14:12:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201475-20190905105636.patch</filename>
            <type>text/plain</type>
            <size>65566</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTliOTlhZjhmZjEwMWMxMjM1MDg3NGZiM2MzMzUwNDg2
YzllZjlmZC4uMGVlNzJmMGJhMzk5MjViYmZmNTQ0OTFjNjZlNmFiNThmN2IxYTZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE5LTA5LTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLMl0gQWRkIHByb3BlciBsYXlvdXQgdGVzdCBzdXBwb3J0IGZvciBlcGhlbWVyYWwgc2Vz
c2lvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MTQ3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBwcm9wZXIgbGF5b3V0IHRlc3Qgc3VwcG9ydCBmb3IgZXBoZW1lcmFsIHNlc3Npb25zIHZpYToK
KyAgICAgICAgPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KKworICAgICAgICBUaGlzIGFjdHVhbGx5IGNyZWF0ZXMgYSBuZXcgV2ViVmlldyB1
c2luZyBhbiBlcGhlbWVyYWwgZGF0YSBzdG9yZSB0byBsb2FkIHRoZSB0ZXN0IHdoaWNoCisgICAg
ICAgIGlzICp0cnVlKiBwcml2YXRlIGJyb3dzaW5nLgorCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpIG1lcmVseSBvdmVycmlkZXMgdGhlIFBhZ2UncyBzZXNz
aW9uSUQgaW4gdGhlIFdlYkNvbnRlbnQKKyAgICAgICAgcHJvY2Vzcywgd2hpY2ggaXMgYSBoYWNr
IGFuZCBkb2VzIG5vdCB0cnVseSBlbmFibGUgcHJpdmF0ZSBicm93c2luZyBiZWNhdXNlIHRoZSBV
SVByb2Nlc3MgYW5kCisgICAgICAgIHRoZSBOZXR3b3JrUHJvY2VzcyBhcmUgbm90IHByb3Blcmx5
IHVwZGF0ZWQgb24gV0syLiBUaGlzIHBhdGNoIHJlbmFtZXMgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKCkKKyAgICAgICAgdG8gdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkX0RFUFJFQ0FURUQoKSB0byBkaXNjb3VyYWdlIGl0cyB1c2Ugc2luY2UgSSBhbSB0
cnkgdG8KKyAgICAgICAgZ2V0IHJpZCBvZiBpdC4KKworICAgICAgICBOb3RlIHRoYXQgV0syIGRv
ZXMgbm90IHN1cHBvcnQgdXNpbmcgYSBXZWJDb250ZW50IHByb2Nlc3MgZm9yIGRpZmZlcmVudCBz
ZXNzaW9ucyAvIGRhdGEgc3RvcmVzLgorICAgICAgICBFYWNoIFdlYkNvbnRlbnQgcHJvY2VzcyBo
YXMgYSBzaW5nbGUgYXNzb2NpYXRlZCBkYXRhIHN0b3JlIGFuZCB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoKQorICAgICAgICBpcyBjdXJyZW50bHkgdGhlIG9ubHkgZXhjZXB0
aW9uIHRvIHRoYXQuIFRoaXMgbGVhZHMgdG8gYWRkaXRpb25hbCBjb21wbGV4aXR5IGluIG91ciBj
b2RlIGJhc2UgKGUuZy4gaW4gSVRQKSwKKyAgICAgICAgc2ltcGx5IHRvIHN1cHBvcnQgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpzdGF0aWNG
dW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9E
RVBSRUNBVEVEKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRp
b24pOgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CisgICAgICAgIChXVFI6OlRl
c3RPcHRpb25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgorCiAyMDE5LTA5
LTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSB1
bnVzZWQgU1BJIHRoYXQgYWNjZXNzZXMgTWVtb3J5Q2FjaGUgZGlyZWN0bHkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmNwcAppbmRleCA0YWQ2ODk3NWVjMThlNGYyMmYwZTRiMzNhNjhkMzRm
YTQ0NmIzMzIxLi43MGFkZTVlMzI2ZDRkY2UyNDAxMDE4NDZlZWQ5MzdmNmMwN2EwNjM3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC03OSw2ICs3OSw4IEBAIFRlc3RPcHRp
b25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6
OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICB1c2VBY2NlbGVyYXRlZERyYXdpbmcgPSBwYXJz
ZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0g
ImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIGVuYWJsZUludGVyc2Vj
dGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikKKyAgICAgICAgICAgIHVz
ZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwog
ICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAg
ICAgICBlbmFibGVNZW51SXRlbUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUo
dmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggM2NiOTE2YWU1YTBlYTMzZGYyMGJkOGE4
OTZkNTA1MzAzZTkzYTQxZi4uZTY3MzUxYTQzZWY5NjgzYjkwYTJlMTA5Y2JkMTVkNWNjNDUzOWIy
MyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC0zMiw2ICszMiw3IEBAIHN0cnVj
dCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRp
b24geyB0cnVlIH07CiAgICAgYm9vbCB1c2VBY2NlbGVyYXRlZERyYXdpbmcgeyBmYWxzZSB9Owog
ICAgIGJvb2wgZW5hYmxlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgeyBmYWxzZSB9OworICAgIGJvb2wg
dXNlRXBoZW1lcmFsU2Vzc2lvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVNZW51SXRlbUVs
ZW1lbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlS2V5Z2VuRWxlbWVudCB7IGZhbHNlIH07
CiAgICAgYm9vbCBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmNwcAppbmRleCA3YzFjNTgxM2I0MDdkMTRkMDZjODY5MWJhOTA0ZDEz
MWIxZTMxZTY1Li42MWJmMDgzNDVkOGFlZWI2NDNkNTIxYmZkZjM0MWFkMTE3MDlhMjg3IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcApAQCAtMjIxOSw3ICsyMjE5LDcgQEAgSlNTdGF0
aWNGdW5jdGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQiLCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgInNldFBsdWdpbnNFbmFibGVkIiwgc2V0UGx1Z2luc0VuYWJsZWRD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRQcmludGluZyIsIHNldFByaW50aW5nQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsIHNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJzZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQiLCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U2VyaWFsaXplSFRUUExvYWRzIiwg
c2V0U2VyaWFsaXplSFRUUExvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkIiwgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNl
dFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGU1OTc4Mjc5M2ExOWNlMzU2NWQ1
MmFlODRmYjYyM2MyZjg1MmJjZDUuLmI0YjY1MzA1NjY1ZTZjNzlhOWE5ODY5YzFmMTQ0YWIyYjc3
NzM4MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAg
LTEwMjgsNiArMTAyOCw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcHJlZmVyZW5jZXMucmVzaXpl
T2JzZXJ2ZXJFbmFibGVkID0gb3B0aW9ucy5lbmFibGVSZXNpemVPYnNlcnZlcjsKICAgICBwcmVm
ZXJlbmNlcy5jb3JlTWF0aE1MRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQ29yZU1hdGhNTDsKICAg
ICBwcmVmZXJlbmNlcy5sYXp5SW1hZ2VMb2FkaW5nRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlTGF6
eUltYWdlTG9hZGluZzsKKyAgICBwcmVmZXJlbmNlcy5wcml2YXRlQnJvd3NpbmdFbmFibGVkID0g
b3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1w
UmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggMDc1MDk2
Mjg5NjdmZmZjZjIzMzJiZGVlYzMzNGYyZGY1OTFkNDdhMi4uYjk0OWRjNzYxMWZiN2MzMTI4NWIy
MDQ1ZWY5MjQxMmM5YWVmNWJmMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC04NSw3
ICs4NSw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHNldE5lZWRzU3RvcmFn
ZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0UGx1
Z2luc0VuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkKGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBvcHVwQmxvY2tpbmdFbmFibGVk
KGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQo
Ym9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZShib29sZWFu
IGVuYWJsZWQsIGJvb2xlYW4gcGVybWlzc2l2ZSk7CkBAIC0xMDUsNiArMTA0LDkgQEAgaW50ZXJm
YWNlIFRlc3RSdW5uZXIgewogICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChi
b29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKGJv
b2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0U2hvdWxkRG93bmxvYWRVbmRpc3BsYXlhYmxlTUlN
RVR5cGVzKGJvb2xlYW4gdmFsdWUpOworICAgIAorICAgIC8vIERFUFJFQ0FURUQ6IFVzZSA8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPiBpbnN0
ZWFkLgorICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGJvb2xl
YW4gdmFsdWUpOwogCiAgICAgLy8gU3BlY2lhbCBET00gZnVuY3Rpb25zLgogICAgIHZvaWQgY2xl
YXJCYWNrRm9yd2FyZExpc3QoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGY2NmMyYWMzMmFlMjg1NDhmNGZjNGEz
NjliNDVhODIxOWIwZTZmNmIuLjJiMzEwYTQ1YTVhM2Q4MjMyMjFhNDU1NTYyZjg5YmMxMjI2NGQw
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcApAQCAtNTMxLDcgKzUzMSw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sIGVuYWJsZWQpCiAgICAgV0tCdW5kbGVTZXRK
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmpl
Y3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIFRlc3RSdW5uZXI6
OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChib29sIGVuYWJsZWQpCiB7CiAg
ICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7CiAg
ICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGluamVjdGVkQnVuZGxlLmJ1bmRs
ZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDE0NmU5
MWY0Nzg1YmZkMDdiNjYxMDM3M2JhMDdiNzg5MmQ3ZGFmNmIuLjFkMzIzMDczZjg1MGQ0ZGEzYjM0
Yjc5NDc0MjRjYTRiZTk4MTNlZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbCk7CiAg
ICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRD
YW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVE
KGJvb2wpOwogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEN1c3Rv
bVBvbGljeURlbGVnYXRlKGJvb2wgZW5hYmxlZCwgYm9vbCBwZXJtaXNzaXZlID0gZmFsc2UpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBmYjRiZDQ3ODNj
MGIyOWM1NTQ1ZTA5YTU4MTVjZTdmN2Y3OWIxZWI3Li41ZGQyMTBkMWExZTRhZTU2YjVlMDJkOTUx
YzdhZjdlMmJjZTMwYzE1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNTg0LDYgKzU4NCwxMSBAQCBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9u
UmVmPiBUZXN0Q29udHJvbGxlcjo6Z2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjbwogICAgIGF1
dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUo
KSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRpb24u
Z2V0KCksIG1fY29udGV4dC5nZXQoKSk7CiAgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFBhZ2VH
cm91cChwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpOworICAgIAor
ICAgIGlmIChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24pIHsKKyAgICAgICAgYXV0byBlcGhl
bWVyYWxEYXRhU3RvcmUgPSBhZG9wdFdLKFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZU5vblBlcnNp
c3RlbnREYXRhU3RvcmUoKSk7CisgICAgICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRXZWJzaXRl
RGF0YVN0b3JlKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCBlcGhlbWVyYWxEYXRhU3RvcmUuZ2V0
KCkpOworICAgIH0KIAogICAgIG1fdXNlckNvbnRlbnRDb250cm9sbGVyID0gYWRvcHRXSyhXS1Vz
ZXJDb250ZW50Q29udHJvbGxlckNyZWF0ZSgpKTsKICAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0
VXNlckNvbnRlbnRDb250cm9sbGVyKHBhZ2VDb25maWd1cmF0aW9uLmdldCgpLCB1c2VyQ29udGVu
dENvbnRyb2xsZXIoKSk7CkBAIC0xMzM4LDYgKzEzNDMsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qg
c3RkOgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgPSBw
YXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkg
PT0gImVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25z
LmVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKKyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJ1c2VFcGhlbWVyYWxTZXNzaW9uIikK
KyAgICAgICAgICAgIHRlc3RPcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24gPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJs
ZU1lbnVJdGVtRWxlbWVudCIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVNZW51SXRl
bUVsZW1lbnQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZUtleWdlbkVsZW1lbnQiKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0T3B0aW9ucy5oCmluZGV4IDM1MmE2MjY0ZWU3ZTRjNzM3MzhlZjU2NWU2MzBjNGY4MmQyNWI4
NjkuLmNiNmE1ZDU2ZGY0NWNjZTJkNDU1Y2EyZDk4YzY0YTIzNDUwNjc2MzYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTY5LDYgKzY5LDcgQEAgc3RydWN0IFRlc3RPcHRp
b25zIHsKICAgICBib29sIHVzZUNoYXJhY3RlclNlbGVjdGlvbkdyYW51bGFyaXR5IHsgZmFsc2Ug
fTsKICAgICBib29sIGVuYWJsZUF0dGFjaG1lbnRFbGVtZW50IHsgZmFsc2UgfTsKICAgICBib29s
IGVuYWJsZUludGVyc2VjdGlvbk9ic2VydmVyIHsgZmFsc2UgfTsKKyAgICBib29sIHVzZUVwaGVt
ZXJhbFNlc3Npb24geyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlTWVudUl0ZW1FbGVtZW50IHsg
ZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUtleWdlbkVsZW1lbnQgeyBmYWxzZSB9OwogICAgIGJv
b2wgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scyB7IHRydWUgfTsKQEAgLTEyNCw2ICsxMjUsNyBA
QCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgICAgICAgICAgfHwgdXNlQ2hhcmFjdGVyU2VsZWN0
aW9uR3JhbnVsYXJpdHkgIT0gb3B0aW9ucy51c2VDaGFyYWN0ZXJTZWxlY3Rpb25HcmFudWxhcml0
eQogICAgICAgICAgICAgfHwgZW5hYmxlQXR0YWNobWVudEVsZW1lbnQgIT0gb3B0aW9ucy5lbmFi
bGVBdHRhY2htZW50RWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIgIT0gb3B0aW9ucy5lbmFibGVJbnRlcnNlY3Rpb25PYnNlcnZlcgorICAgICAgICAgICAg
fHwgdXNlRXBoZW1lcmFsU2Vzc2lvbiAhPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24KICAg
ICAgICAgICAgIHx8IGVuYWJsZU1lbnVJdGVtRWxlbWVudCAhPSBvcHRpb25zLmVuYWJsZU1lbnVJ
dGVtRWxlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlS2V5Z2VuRWxlbWVudCAhPSBvcHRpb25z
LmVuYWJsZUtleWdlbkVsZW1lbnQKICAgICAgICAgICAgIHx8IGVuYWJsZU1vZGVybk1lZGlhQ29u
dHJvbHMgIT0gb3B0aW9ucy5lbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggOWE1
NTgyNDE5YTZhNjU1OGIyNmI3MTdhNDg5ODkyZWUyYzkzMDNmNi4uNmU0ZjVjOGMzMThjYzk4NDhh
MTlmZDY4ODA0MDA1NWM4MWY3ZWZjZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTYwLDYgKzE2MCw5IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9u
UmVmLCBjb25zdCBUZXN0T3B0CiAKICAgICBpZiAob3B0aW9ucy5lbmFibGVVbmRvTWFuYWdlckFQ
SSkKICAgICAgICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxl
ZDpZRVNdOworICAgICAgICAKKyAgICBpZiAob3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKQor
ICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBzZXRXZWJzaXRlRGF0YVN0b3JlOltXS1dlYnNp
dGVEYXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9yZV1dOwogCiAgICAgY29uZmlndXJlQ29u
dGVudE1vZGUoY29waWVkQ29uZmlndXJhdGlvbi5nZXQoKSwgb3B0aW9ucyk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
ZTA5NTA4NjM0MjcyOGY2ZDZiNjQ3NGRjODkyMjBiMmQ4MzVlYjM1Li45ZGNjOTA3MGUwMDlmMTA5
MDMwMzc0MGU5MWRjODg0MjM2ODI2NjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTktMDkt
MDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQg
cHJvcGVyIGxheW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5n
IGxheW91dCB0ZXN0cyB0byBlaXRoZXIgc3dpdGNoIHRvIHRoZSBuZXcgbWVjaGFuaXNtIHdoZW4g
dHJpdmlhbCBvciB0byByZW5hbWUKKyAgICAgICAgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgp
IHRvIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCgpIHdoZW4gaXQgaXMgbm90
LgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRhYmxl
LXByaXZhdGUuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItcHJp
dmF0ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZl
cnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlvbi9yZXNvdXJjZXMvdXRpbC5qczoKKyAgICAgICAgKHRl
YXJEb3duQW5kRmluaXNoKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1wZXJzaXN0ZW5jeS5odHRwcy5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRw
cy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUt
Y29va2llLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5
aW5nLWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvYXBwY2FjaGUtaW4tcHJpdmF0ZS1icm93c2luZy5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJv
d3NpbmctZW5hYmxlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0
ZS1icm93c2luZy10b2dnbGVkLnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXBy
aXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5waHA6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13
aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2lu
LXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHA6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3Jlc291cmNlcy9maXJzdC1wYXJ0eS1jb29r
aWUtYWxsb3cueHNsOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNv
dXJjZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLnhzbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW1haW4tZnJh
bWUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFy
dHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1j
b29raWUtYmxvY2tpbmcuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1h
bGxvd2VkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1odHRwLWF1dGguaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93
c2luZy1wbHVnaW4uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2Ut
YmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHkt
cmVxdWVzdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLWZlYXR1cmUtb2ZmLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lz
dGVyLmpzOgorICAgICAgICAoYXN5bmMudGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWw6Cisg
ICAgICAgICogaHR0cC93cHQvZmV0Y2gvZG50LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
dWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLTIuaHRtbDoKKyAgICAgICAgKiBwbHVnaW5zL3By
aXZhdGUtYnJvd3NpbmctbW9kZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy9qcy10ZXN0Lmpz
OgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcHJpdmF0ZS1icm93
c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2RvbXN0b3JhZ2Uv
bG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTEuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dz
aW5nLTIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUt
YnJvd3NpbmcuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb3Bl
bi1kYi1wcml2YXRlLWJyb3dzaW5nLmpzOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3ByaXZh
dGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9wcml2YXRlLWJyb3dzaW5nLW9wZW4tZGlzYWJsZWQuaHRtbDoKKwogMjAxOS0wOS0wNCAgRnVq
aWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbQXBwbGVX
aW5dIGZhc3QvYmxvY2svZmxvYXQvZmxvYXQtd2l0aC1hbm9ueW1vdXMtcHJldmlvdXMtc2libGlu
Zy5odG1sIGlzIGZhaWxpbmcgYXMgZmxha3kgSW1hZ2VPbmx5RmFpbHVyZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggOTYxZTc0ZWEwZGU2ZmEzOTExYTk2ZjhkNTQ1ZmE5ZDFkMTNi
MThlMi4uNzc1NWU4NjgxOGRiODhhZThjNjg5YWYxYTZkYmFlYzkzOWMzYjM1MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDktMDUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBBZGQgcHJvcGVyIGxh
eW91dCB0ZXN0IHN1cHBvcnQgZm9yIGVwaGVtZXJhbCBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDc1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBJbmRleGVkREItcHJpdmF0ZS1icm93
c2luZy9zdXBwb3J0LmpzOgorCiAyMDE5LTA5LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uIHRv
IG1ha2UgU1dDbGllbnRDb25uZWN0aW9uIG1vbm8tdGhyZWFkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFibGUtcHJpdmF0ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRh
YmxlLXByaXZhdGUuaHRtbAppbmRleCA5ZmExYmE4ZDdiMjJlNGEzNjRiMzJlMzViYmVhZDg5OWFm
ZmM1MWE4Li4yZWJiOTE5YzM2NDRhN2Q5MTYyMDg5NmQxMjQ5OGZlOGMxNzFhNjcxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9ydGFi
bGUtcHJpdmF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4
ZWRkYi1ub24tZXhwb3J0YWJsZS1wcml2YXRlLmh0bWwKQEAgLTEsMTAgKzEsNyBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRk
Yi1wcml2YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGIt
cHJpdmF0ZS5odG1sCmluZGV4IDcyZGZkNzg2ZjljMDM3NzU2ZmQ1ZWQ5ZDIyNDE2NTgxZDk3M2Zl
OTUuLjY4OGZjY2VkMDk1ZTQ2NTExM2U4N2ZkYzZkMDRhYWYzNGM5ZDdiZDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi1wcml2YXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLXByaXZhdGUuaHRtbApA
QCAtMSwxMCArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNl
c3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci08L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVy
YWwtc2Vzc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IGQ2
Yzk3ZGNlNzVlZDRkMjYzYTk3ZjhlNzY0NTM2NmIyMDBjZDQyZDcuLjY2OWMxYmQyM2ZiYmMxMjEy
YmQ3NjEyYzA2NTQxNzg2MDNmZTFjM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvYWRDbGlja0F0dHJpYnV0aW9uL2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNl
c3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1dGlv
bi9jb252ZXJzaW9uLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWwKQEAgLTU1LDcg
KzU1LDcgQEAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAi
P3N0ZXBUd28iKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogICAgICAgICAgICAgICAgIGxldCBpbWFn
ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAgICAgICAgICAg
ICBpbWFnZUVsZW1lbnQuc3JjID0gImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvYWRDbGlja0F0dHJp
YnV0aW9uL3Jlc291cmNlcy9yZWRpcmVjdFRvQ29udmVyc2lvbi5waHA/Y29udmVyc2lvbkRhdGE9
MTImbm9uY2U9IiArIG5vbmNlOwogICAgICAgICAgICAgICAgIGltYWdlRWxlbWVudC5pZCA9ICJw
aXhlbCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FkQ2xpY2tBdHRyaWJ1
dGlvbi9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCmluZGV4IDNmMzBjOGNhNmZmYzQyZDUxZmI4NTZm
MzM1MDUyNzc4Y2E5ODY3ZjAuLjJiNjI1NDUzZDBjMDNhMTZkYWI2ZjI4NGYzYmQyNTQwMGM4ZDc5
NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9u
L3Jlc291cmNlcy91dGlsLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYWRDbGlja0F0
dHJpYnV0aW9uL3Jlc291cmNlcy91dGlsLmpzCkBAIC0xMiw3ICsxMiw2IEBAIGZ1bmN0aW9uIHRl
YXJEb3duQW5kRmluaXNoKCkgewogICAgICAgICB0ZXN0UnVubmVyLnNldEFsbG93c0FueVNTTENl
cnRpZmljYXRlKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRBZENsaWNrQXR0cmlidXRp
b25PdmVycmlkZVRpbWVyRm9yVGVzdGluZyhmYWxzZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0
QWRDbGlja0F0dHJpYnV0aW9uQ29udmVyc2lvblVSTEZvclRlc3RpbmcoIiIpOwotICAgICAgICB0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwogICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICB9Ci19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRp
b24vc3RvcmUtZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvYWRDbGlja0F0dHJpYnV0aW9uL3N0b3JlLWRpc2FibGVkLWluLWVwaGVtZXJh
bC1zZXNzaW9uLmh0bWwKaW5kZXggMjhmZWE3YmU3OWFkMTljNjViYzI1MWQwM2RiODk3NzNmNGYz
NjdlMC4uYjdjMDA3NzRlN2Q2NjcxOTAzYmFhOGY5NTdlNmM0MWM2ZWNiNjgwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hZENsaWNrQXR0cmlidXRpb24vc3RvcmUtZGlzYWJs
ZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2FkQ2xpY2tBdHRyaWJ1dGlvbi9zdG9yZS1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5o
dG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgdXNlRXBoZW1l
cmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8aHRtbCBsYW5nPSJlbiI+CiA8aGVhZD4KICAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CkBAIC0xMyw5ICsxMyw2IEBACiA8c2NyaXB0PgogICAgIHByZXBh
cmVUZXN0KCk7CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIGZ1bmN0aW9uIGFjdGl2
YXRlRWxlbWVudChlbGVtZW50SUQpIHsKICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChlbGVtZW50SUQpOwogICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQu
b2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXBlcnNpc3RlbmN5Lmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVu
Y3kuaHR0cHMuaHRtbAppbmRleCBkYzllOTZiNjVlOGMyNDFmNzA3OTZlNjU5NjVlMjU3ZDljMzUy
Y2RkLi43NzE0Mjk0ZTE3MDEyOWQ3MmMyYzEzM2FkYTA3N2RiMzk4MzkzOGNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcGVyc2lzdGVuY3ku
aHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbApAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMgfHwgIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOwogCi0gICAgICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAg
ICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdGVzdC5zdGVwX2Z1bmMoKGV2
ZW50KSA9PiB7CkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuZGF0
YSA9PT0gZmFsc2UsICJObyBjYWNoZSBvYmplY3Qgc2hvdWxkIGJlIGZvdW5kIik7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVD
QVRFRChmYWxzZSk7CiAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSkp
OwogICAgICAgICAgICAgY2hlY2suaW5uZXJIVE1MID0gIjxpZnJhbWUgc3JjPSdyZXNvdXJjZXMv
Y2FjaGUtcGVyc2lzdGVuY3ktaWZyYW1lLmh0bWwnPjwvaWZyYW1lPiI7CkBAIC00MSw3ICs0MSw3
IEBACiAKICAgICBwcm9taXNlX3Rlc3QodGVzdCA9PiB7CiAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWRfREVQUkVDQVRFRChmYWxzZSk7CiAKICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVwcmVzZW50
YXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCmluZGV4IDYxYzBmOGQyNjI3OWY4Yzg5OTll
MTlhMzUxYmZiZDRmYmYzOWIzNzMuLjNkMjZhZWM0OTJjMGE3ZjI4YzFhYjkzZDA4NmM0NTUwYzVl
NmZmMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZXByZXNlbnRhdGlvbi5odHRwcy5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogPGJvZHk+CiAgICAgPGRpdiBpZD0iY2hlY2siPjwvZGl2PgogICAgIDxzY3JpcHQ+Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICBmdW5jdGlvbiBjaGVja0NhY2hlcyhoYXNQZXJzaXN0
ZW50LCBoYXNSZW1vdmVkLCBuYW1lLCB2YWx1ZSkgewogICAgICAgICB0ZXN0KCgpID0+IHsKICAg
ICAgICAgICAgIHZhciByZXN1bHRzID0gSlNPTi5wYXJzZSh2YWx1ZSkub3JpZ2luczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhcnktY29va2llLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvZGlzay1jYWNoZS12YXJ5LWNvb2tpZS5odG1sCmluZGV4IDRkYTlmZTQzZjEwY2YyNzliMzg0
MTllZjUyNzc3NTU0N2EyODE0YWUuLjI4OWFjOGY0ODZhOWUxMDM0ODZkNmZjMzA4MDM4NDdlZmZm
NDUzY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNo
ZS9kaXNrLWNhY2hlLXZhcnktY29va2llLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtdmFyeS1jb29raWUuaHRtbApAQCAtNDAsNyAr
NDAsNyBAQCB0ZXN0Q29va2llcyh0cnVlLCBmdW5jdGlvbiAoKSB7CiAgICAgZGVidWcoIlRlc3Rp
bmcgbWVtb3J5IGNhY2hlIik7CiAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsK
ICAgICAgICAgZGVidWcoIlRlc3RpbmcgbWVtb3J5IGNhY2hlIGluIHByaXZhdGUgYnJvd3Npbmci
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0
cnVlKTsKICAgICAgICAgdGVzdENvb2tpZXMoZmFsc2UsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcHJpdmF0ZS1jb29raWUtc3RvcmFnZS5odG1sCmluZGV4
IDcyYjkwZGZlYzVjYWY1NWRhNDI5YWFjMTdiMjYxZTc3ZjEyZWQwNDYuLjZmYjliMzZhNmMwYjEy
ZTZiZmZjYjhjODBmYTY2MmNhNDRhNmY0OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9wcml2YXRlLWNvb2tpZS1zdG9yYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3ByaXZhdGUtY29va2llLXN0b3JhZ2UuaHRtbApAQCAtOCw3
ICs4LDcgQEAgZG9jdW1lbnQuY29va2llID0gImtleTE9dmFsdWUxIjsKIGRlYnVnKCJDb29raWVz
IGJlZm9yZSBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEp
OiIgKyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CiAKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQodHJ1ZSk7IH0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsgfQogCiBkZWJ1ZygiQ29va2llcyBh
ZnRlciBlbmFibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUgZW1wdHkpOiIgKyBkb2N1
bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoIiIpOyAvLyBXZSdyZSB1c2luZyBhIGRpZmZlcmVu
dCBjb29raWUgc3RvcmFnZSBub3cuICBrZXkxPXZhbHVlMSBpcyBzdGlsbCBpbiB0aGUgZGVmYXVs
dCBjb29raWUgc3RvcmFnZS4KQEAgLTE3LDcgKzE3LDcgQEAgZGVidWcoIkNvb2tpZXMgYWZ0ZXIg
c2V0dGluZyBpbiBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5Mj12YWx1ZTIpOiIgKyBk
b2MKIHRlc3RDb29raWVzKCJrZXkyPXZhbHVlMiIpOwogY2xlYXJDb29raWVzKCk7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeyB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOyB9CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsgdGVzdFJ1bm5lci5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQoZmFsc2UpOyB9CiAKIGRlYnVnKCJDb29raWVzIGFm
dGVyIGRpc2FibGluZyBwcml2YXRlIGJyb3dzaW5nIChzaG91bGQgYmUga2V5MT12YWx1ZTEpOiIg
KyBkb2N1bWVudC5jb29raWUpOwogdGVzdENvb2tpZXMoImtleTE9dmFsdWUxIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5nLWluZm8tcHJpdmF0
ZS1icm93c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9ub3ctcGxheWlu
Zy1pbmZvLXByaXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBjMGEzOTkxNzE5OWE3MTU3YTEzNjIz
OWNlMThjZTI3ZmJlNDg2ZTM0Li44NmJhYjUzNWM3MDRiZTRhNTRhNTQ1MTQ2ZWRhMTExMjYzMWIy
NTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL25vdy1wbGF5aW5n
LWluZm8tcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbm93LXBsYXlpbmctaW5mby1wcml2YXRlLWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KICAgICA8aGVhZD4KQEAgLTksOSArMTAsNiBA
QAogICAgICAgICAgICAgbGV0IG5vd1BsYXlpbmdTdGF0ZTsKICAgICAgICAgICAgIGxldCBwcmV2
aW91c05vd1BsYXlpbmdTdGF0ZTsgCiAKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7Ci0KICAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JBdHRyaWJ1dGVUb0No
YW5nZShhdHRyaWJ1dGUsIGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0ID0g
bmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgICAgICAgICAgICAgZG8gewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1pbi1wcml2YXRlLWJyb3dz
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXBy
aXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCBlZGI5YWM2OTVkM2M1ZjQ0NGMzOTRjOGUxYWM0NzU0
NGU2MjA0ZjBlLi4wYjY4M2UyYWFmNzFjMTI5Y2Q5ZTUxYTU2OTIyOTg3YjJjZTUwZjcyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLWluLXByaXZh
dGUtYnJvd3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fw
cGNhY2hlLWluLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtOCwxNSArOCwxMyBAQCBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKIH0KIAogZnVuY3Rpb24gZmluaXNoVGVzdChmcmFtZSkgewotCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoZmFsc2UpOworCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKIAkJdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7Ci0JfQogfQogCiBmdW5jdGlvbiBlbnRlclByaXZhdGVCcm93c2luZyhmcmFtZSkg
ewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKHRydWUpOworCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRf
REVQUkVDQVRFRCh0cnVlKTsKIAlmcmFtZS5vbmxvYWQgPSBmaW5pc2hUZXN0OwogCWZyYW1lLmNv
bnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGluZy1wcml2YXRlLWJyb3dzaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FwcGNhY2hlLXN3aXRjaGlu
Zy1wcml2YXRlLWJyb3dzaW5nLmh0bWwKaW5kZXggYzdhM2E0NWRhMGNkYmE0MDA0M2FmNGExNmUy
MzY1ZTQyNmMwNTMwOC4uZWYyZjQ0ZDY3YTdiOWU4NzdhMGJhNWI1Y2Q3M2EyYThmZjQ5MGJiMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1zd2l0
Y2hpbmctcHJpdmF0ZS1icm93c2luZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtMTAs
MTEgKzEwLDExIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBlbnRlclBy
aXZhdGVCcm93c2luZyhmcmFtZSkgewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworCQl0ZXN0UnVubmVyLnNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIAlmcmFtZS5jb250ZW50V2lu
ZG93LmFwcENhY2hlQ2FsbGJhY2sgPSBmdW5jdGlvbihyZXN1bHQpIHsKIAkJZnJhbWUuY29udGVu
dFdpbmRvdy51cGRhdGVBcHBDYWNoZShmdW5jdGlvbihyZXN1bHQpIHsKLQkJCWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLQkJCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFs
c2UpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCQkJ
CXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsK
IAkJCWNvbnNvbGUubG9nKHJlc3VsdCA/ICdGQUlMJyA6ICdQQVNTJyk7CiAJCQlpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAJCQkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1i
cm93c2luZy1lbmFibGVkLWV4cGVjdGVkLnR4dAppbmRleCA5YzRlOWYzMTI1ZGM2MmE2ZDRlNTY4
MDI4ZWYyOGI5YzY0MjI1MjVjLi44MWQ5NGVmMTM5Mjc4MWMwOTY0MTE5YWE5ODhjOGFlMjAzMDRi
ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRl
LWJyb3dzaW5nLWVuYWJsZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8t
Y29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCBh
cHBlYXIgaW4gdGhlIGltZy1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeS4KIENTUCByZXBvcnQgcmVjZWl2ZWQ6CiBDT05URU5UX1RZUEU6IGFwcGxpY2F0aW9uL2Nz
cC1yZXBvcnQKIEhUVFBfSE9TVDogbG9jYWxob3N0OjgwODAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9z
cy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBv
cnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQu
cGhwCmluZGV4IGQwOTFlNGE3MjRiMzE5ZjdiNTExMjM2MDI1MTI4ZDNkODkxMjUxOTIuLmViNzgy
MWViNTkwODA0Yjk5OGIzZjNlYmVlOTQxYmRkZDI0YmJjNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9z
cy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLnBocApAQCAtMSwxMyArMSwxMSBAQAogPD9waHAKICAgICBoZWFkZXIoIkNvbnRlbnQtU2Vj
dXJpdHktUG9saWN5OiBpbWctc3JjICdub25lJzsgcmVwb3J0LXVyaSBodHRwOi8vbG9jYWxob3N0
OjgwODAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYXZlLXJlcG9y
dC5waHAiKTsKID8+Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Np
b249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdD4K
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKICAgICB4aHIub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9jb29raWVz
L3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIGZhbHNlKTsKICAgICB4aHIuc2V0UmVxdWVzdEhl
YWRlcigiU0VULUNPT0tJRSIsICJoZWxsbz13b3JsZDtwYXRoPS8iKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5w
aHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXBvcnQtY3Jvc3Mtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQucGhwCmluZGV4IDU1NWU5MDczMjA3YjA3MGRjMTE2ZTRhM2QzNGVhOGI3Yzk0NWU0ODku
LjVjNTYxNTVhMGEwODg5NDM2OGViZDBmNWE3OWUyYzFmMDU4YjMzOTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5w
aHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy10b2dnbGVkLnBocApAQCAtMTIsNyArMTIsNyBAQAogICAgIHhoci5zZW5kKG51bGwpOwogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogPC9zY3JpcHQ+CiAKIDwhLS0gVGhpcyBpbWFn
ZSB3aWxsIGdlbmVyYXRlIGEgQ1NQIHZpb2xhdGlvbiByZXBvcnQuIC0tPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVw
b3J0LXNhbWUtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRvZ2dsZWQu
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVwb3J0LXNhbWUtb3JpZ2luLW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLXRv
Z2dsZWQucGhwCmluZGV4IGViNzMzMjBjYTM3YTQ1NzhlNzRlNWVhNWZlYmI2MzlmNjExMjU4NzYu
LjAzOGFmMjM5NTE4N2Y0Y2E1ZGE2ZDUxMTEwOGJlMTM2MTBkMmVkMTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1zYW1lLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLnBo
cAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Npbmct
dG9nZ2xlZC5waHAKQEAgLTEyLDcgKzEyLDcgQEAKICAgICB4aHIuc2VuZChudWxsKTsKIAogICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIDwvc2NyaXB0PgogCiA8IS0tIFRoaXMgaW1hZ2Ug
d2lsbCBnZW5lcmF0ZSBhIENTUCB2aW9sYXRpb24gcmVwb3J0LiAtLT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9y
dC1zYW1lLW9yaWdpbi13aXRoLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUt
YnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKaW5kZXggMDhkMmJlNjU1NjBkMTUyYWFlNzI0
MzdmNzQ0ODBmNjZkNTRjMTY5Mi4uMWQ3ZjI4MTE4ZmExYTNjNjk1MjMxNjVhZThhYmRhM2NlNTA0
ZGU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZh
dGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdp
dGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcgYmVjYXVzZSBpdCBkb2VzIG5v
dCBhcHBlYXIgaW4gdGhlIGltZy1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeS4KIENTUCByZXBvcnQgcmVjZWl2ZWQ6CiBDT05URU5UX1RZUEU6IGFwcGxpY2F0aW9u
L2NzcC1yZXBvcnQKIEhUVFBfQ09PS0lFOiBoZWxsbz13b3JsZApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNh
bWUtb3JpZ2luLXdpdGgtY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFi
bGVkLnBocAppbmRleCA3N2ViN2UwMWIzMTRjYjhkZmY2YTUwMjQ1ZjkyYTk1NWYyMWQ5MmI1Li4y
Njg1YTczMjUzY2M4ZjQ1ZmM0ODgxZDIxMGFhODA5NzM5YTQ2MWRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQt
c2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFibGVkLnBo
cAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtc2FtZS1vcmlnaW4td2l0aC1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2lu
Zy1lbmFibGVkLnBocApAQCAtMSwxMyArMSwxMSBAQAogPD9waHAKICAgICBoZWFkZXIoIkNvbnRl
bnQtU2VjdXJpdHktUG9saWN5OiBpbWctc3JjICdub25lJzsgcmVwb3J0LXVyaSAvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYXZlLXJlcG9ydC5waHAiKTsKID8+Cis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCh0cnVlKTsKLQogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgICB4aHIu
b3BlbigiR0VUIiwgIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIGZhbHNlKTsK
ICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiU0VULUNPT0tJRSIsICJoZWxsbz13b3JsZDtwYXRo
PS8iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2ll
cy9yZXNvdXJjZXMvZmlyc3QtcGFydHktY29va2llLWFsbG93LnhzbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNvdXJjZXMvZmlyc3QtcGFydHktY29va2llLWFs
bG93LnhzbAppbmRleCBjMmViNTEzNjcxMmI5MTViODY3MDUwOGMwMDYyNTI2OTk2NGE3OWI1Li41
NmJhZTVkNGU4ZTEzMGM4MDhmYzE0OGU3NDI2MmI3NGJmMjFiZTVmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL2ZpcnN0LXBhcnR5
LWNvb2tpZS1hbGxvdy54c2wKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3Jlc291cmNlcy9maXJzdC1wYXJ0eS1jb29raWUtYWxsb3cueHNsCkBAIC04LDEyICs4
LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci5kdW1w
Q2hpbGRGcmFtZXNBc1RleHQoKTsKLQotICAgIC8vIFN0YXJ0IHdpdGggYSBjbGVhbiBzdGF0ZSwg
YXMgb3RoZXJ3aXNlIGFuIGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFpbiBjb3VsZCBhZmZl
Y3QgYmVoYXZpb3Igd2l0aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJlbW92ZWQgb25jZSBy
ZGFyOi8vcHJvYmxlbS8xMDA4MDEzMCBpcyBmaXhlZC4KLSAgICBpZiAodGVzdFJ1bm5lci5zZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKQotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAgICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tp
ZXMoZmFsc2UpOwogfQogICAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1i
bG9ja2luZy54c2wgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvcmVz
b3VyY2VzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy54c2wKaW5kZXggYjk5ZTk4MThmMjI5
OTU0OTMyZjE5OGU0MTk2MjU3ZDA4YjhmNGE0Yy4uZDdiNDRiNzQ0NWM1NTYzNzIzMWQwYTdlZDA2
ZTVhOTJhZmE2ZjNkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb29raWVzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcueHNsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy9yZXNvdXJjZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLnhzbApAQCAtOCwxMiArOCw2IEBAIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7
Ci0KLSAgICAvLyBTdGFydCB3aXRoIGEgY2xlYW4gc3RhdGUsIGFzIG90aGVyd2lzZSBhbiBleHBp
cmVkIGNvb2tpZSBmb3IgdGhpcyBkb21haW4gY291bGQgYWZmZWN0IGJlaGF2aW9yIHdpdGggQ0ZO
ZXR3b3JrLgotICAgIC8vIENhbiBiZSByZW1vdmVkIG9uY2UgcmRhcjovL3Byb2JsZW0vMTAwODAx
MzAgaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
CiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KICAgICAg
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJs
b2NraW5nLW1haW4tZnJhbWUuaHRtbAppbmRleCA2NDNiNGNhMzBkOTU4Mzk4ZjUzMDc4MTYwMzI0
NDdiMmE5OTU2ZTJlLi40ZjAyNDA2NjBlYmUyY2E0ZjQ2MzdiZWFhNmRjNzA1NWU1OGI2MTgyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLW1haW4tZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLW1h
aW4tZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PHRpdGxlPkNoZWNrcyB0aGF0IGEgUE9TVCByZXN1bHRpbmcgaW4gYSBtYWluIGZyYW1lIG5hdmln
YXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXJkLXBhcnR5IGNvb2tpZSBydWxlczwvdGl0bGU+
CkBAIC02LDEyICs3LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVz
dFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLQotICAgIC8vIFN0YXJ0IHdpdGggYSBj
bGVhbiBzdGF0ZSwgYXMgb3RoZXJ3aXNlIGFuIGV4cGlyZWQgY29va2llIGZvciB0aGlzIGRvbWFp
biBjb3VsZCBhZmZlY3QgYmVoYXZpb3Igd2l0aCBDRk5ldHdvcmsuCi0gICAgLy8gQ2FuIGJlIHJl
bW92ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0vMTAwODAxMzA+IGlzIGZpeGVkLgotICAgIGlmICh0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi0gICAgICAgIHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKLQogICAgIHRlc3RSdW5uZXIuc2V0QWx3
YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctcmVk
aXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGly
ZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctcmVkaXJlY3QuaHRtbAppbmRleCA3OTM5NDFiNzQzZDA0
NjdmNmMxNTExZTljMDAyZGZmNGNjMTY4ZTkwLi5lMDgzNjUxMjI2ODJlMjJjOTk3ZjcxNzZkODY4
YWNmMjUzOGI2YzE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXJlZGlyZWN0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tp
ZS1ibG9ja2luZy1yZWRpcmVjdC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPHNjcmlwdD4KIGZ1bmN0aW9uIHRlc3QoKSB7CkBAIC05LDEwICsxMCw2IEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Ci0KLSAgICBpZiAodGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKQot
ICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0KICAg
ICB0ZXN0UnVubmVyLnNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogfQogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhp
cmQtcGFydHktY29va2llLWJsb2NraW5nLXVzZXItYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLWJsb2NraW5nLXVz
ZXItYWN0aW9uLmh0bWwKaW5kZXggNDcyMTI0NGJiNjFmZjBmZDRiNTM5MGMxZTY2YWIxNTU1Y2Vj
MzY3ZC4uNDcwODVkMjFmZTE1OTBlMDlhNDkyZDdhNWNjMDc3NGFkYjkxNjc1ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNv
b2tpZS1ibG9ja2luZy11c2VyLWFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctdXNlci1hY3Rp
b24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRXBo
ZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPHRpdGxl
PkNoZWNrcyB0aGF0IGEgdXNlciBnZW5lcmF0ZWQgUE9TVCByZXF1ZXN0IGRvZXMgbm90IGNpcmN1
bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90aXRsZT4KQEAgLTgsMTIgKzksNiBAQCBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZy
YW1lc0FzVGV4dCgpOwotCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhl
cndpc2UgYW4gZXhwaXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhh
dmlvciB3aXRoIENGTmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8v
cHJvYmxlbS8xMDA4MDEzMD4gaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKHRydWUpOwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZh
bHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1s
CmluZGV4IGYxNjljZDQyMmRmNjNkNGIyNjJlMzMyZDQxMDYxMWU0NzkzZTVlZWQuLjZmMWYxOTBl
YTI0YWM2ZTFkNDliNTAwNzA2ZGJmNGFmNDMwZWZkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nvb2tpZXMvdGhpcmQt
cGFydHktY29va2llLWJsb2NraW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDx0aXRsZT5DaGVja3MgdGhhdCBhIHNjcmlwdCBnZW5lcmF0ZWQgUE9TVCBy
ZXF1ZXN0IGRvZXMgbm90IGNpcmN1bXZlbnQgdGhpcmQtcGFydHkgY29va2llIHJ1bGVzPC90aXRs
ZT4KQEAgLTcsMTEgKzgsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgp
OwogCi0gICAgLy8gU3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlLCBhcyBvdGhlcndpc2UgYW4gZXhw
aXJlZCBjb29raWUgZm9yIHRoaXMgZG9tYWluIGNvdWxkIGFmZmVjdCBiZWhhdmlvciB3aXRoIENG
TmV0d29yay4KLSAgICAvLyBDYW4gYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8xMDA4
MDEzMD4gaXMgZml4ZWQuCi0gICAgaWYgKHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCkKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUp
OwotCiAgICAgdGVzdFJ1bm5lci5zZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1h
Y2Nlc3MtcHJpdmF0ZS1icm93c2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHJpdmF0ZS1icm93c2luZy5odG1sCmluZGV4IDI0ZjM0
ZGI0NDg3ZDJlYzFmZWY2YTFhMmI3ZWVjNjhlMDY4NzhkZmMuLjlhMTkwODAwZmE0ZTY3NmNkZmY5
NzM4MmJkYjBhODY1ZmY2NjM4NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXByaXZhdGUtYnJvd3NpbmcuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRl
LWJyb3dzaW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KICAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2Nyb3NzLWZyYW1lLWFjY2Vzcy5qcyI+PC9zY3JpcHQ+CkBAIC0y
NSw3ICsyNiw2IEBACiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgICAg
IHZhciBzdWJGcmFtZSA9IHdpbmRvdy5mcmFtZXNbMF07Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgICAgIHRyeSB7CiAg
ICAgICAgICAgICAgICAgbG9nKCJBdHRlbXB0aW5nIHRvIHZpb2xhdGUgdGhlIHNhbWUtb3JpZ2lu
IHBvbGljeSB3aXRoIHByaXZhdGUgYnJvd3NpbmcgZW5hYmxlZC4gIElmIHRoaXMgc3VjY2VlZHMg
dGhlIGNvbnNvbGUgc2hvdWxkIG5vdCBsb2cgdGhlIHZpb2xhdGlvbi4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2
YXRlLWJyb3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC1h
bGxvd2VkLmh0bWwKaW5kZXggZjdmYTA3OTY5N2RiNWU4ODg5NTJlNDAwYzA2NjE1NTRhOTE3OTVi
Mi4uMTc0NjIyMDEwZDEwZTU5NWYzODQ4NGRjZDc5MzRiZDNlZDg2MDg0ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZh
dGUtYnJvd3NpbmctdG9nZ2xlZC1hbGxvd2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xl
ZC1hbGxvd2VkLmh0bWwKQEAgLTUsNyArNSw3IEBAIHZhciBmcmFtZXMgPSAyOwogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJdGVzdFJ1bm5lci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQodHJ1ZSk7CisJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJF
Q0FURUQodHJ1ZSk7CiAJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKQEAgLTEzLDcg
KzEzLDcgQEAgZnVuY3Rpb24gZGVjcmVtZW50KCkgewogCS0tZnJhbWVzOwogCWlmICghZnJhbWVz
KSB7CiAJCWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLQkJCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChmYWxzZSk7CisJCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAJCWZvciAodmFyIGkgPSAwOyBpIDwgMjsgKytpKSB7
CiAJCQl2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylb
aV0uY29udGVudFdpbmRvdzsKIAkJCWZyYW1lLnBvc3RNZXNzYWdlKCdsb2FkZWQnLCAnKicpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4t
cGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4tcGx1Z2luLXByaXZhdGUtYnJvd3NpbmctdG9nZ2xl
ZC5odG1sCmluZGV4IDE0NzEyNTFkZjY2NmMzNGQwNjU2NDgzZTg3NTNjNDcxMzJhOWYzZTAuLjNm
MTk1OTNhOGFmMjAxNGNhYmUwY2I2ODVhNDFhOTcyNDBmMWM0MGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2YXRlLWJy
b3dzaW5nLXRvZ2dsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLmh0bWwKQEAgLTUs
NyArNSw3IEBAIHZhciBmcmFtZXMgPSAyOwogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAJdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKLQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisJdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAJdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAJaW50ZXJuYWxzLnNldHRpbmdzLnNldFN0b3JhZ2VCbG9j
a2luZ1BvbGljeSgnQmxvY2tUaGlyZFBhcnR5Jyk7CiB9CkBAIC0xNCw3ICsxNCw3IEBAIGZ1bmN0
aW9uIGRlY3JlbWVudCgpIHsKIAktLWZyYW1lczsKIAlpZiAoIWZyYW1lcykgewogCQlpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0JCQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOworCQkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FU
RUQoZmFsc2UpOwogCQlmb3IgKHZhciBpID0gMDsgaSA8IDI7ICsraSkgewogCQkJdmFyIGZyYW1l
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpW2ldLmNvbnRlbnRXaW5k
b3c7CiAJCQlmcmFtZS5wb3N0TWVzc2FnZSgnbG9hZGVkJywgJyonKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1odHRwLWF1dGgu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcHJpdmF0ZS1icm93c2luZy1o
dHRwLWF1dGguaHRtbAppbmRleCAwNjQ0NjJlOGNjNDIzNmMxOTZjZGQyMWMxYmVlNDc5NmRiYTM5
YTgxLi5iNzJlMmM2YjUyZjNiYzNmNzliZDgxMWJjZjM0MjAzZTI5YzNmOTcyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3ByaXZhdGUtYnJvd3NpbmctaHR0cC1h
dXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9wcml2YXRlLWJy
b3dzaW5nLWh0dHAtYXV0aC5odG1sCkBAIC02LDE0ICs2LDE0IEBAIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
cyh0cnVlKTsKICAgICB0ZXN0UnVubmVyLnNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoIndlYmtp
dCIpOwogICAgIHRlc3RSdW5uZXIuc2V0QXV0aGVudGljYXRpb25QYXNzd29yZCgicm9ja3MiKTsK
LSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKIGZ1bmN0aW9uIGZpcnN0RnJhbWVMb2Fk
ZWQoKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIu
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyhmYWxzZSk7Ci0gICAgCXRlc3RSdW5u
ZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7CisgICAgCXRlc3RSdW5uZXIuc2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsKICAgICB9CiAKICAgICAv
LyBJZiB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHdlcmUgaW4gdGhlIFdlYkNvcmUgQ3JlZGVu
dGlhbFN0b3JhZ2UsIFdlYktpdCB3b3VsZCBhdXRvbWF0aWNhbGx5IHNlbmQgdGhlbSBvdXQgZm9y
IHRoaXMgcmVzb3VyY2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3N0b3JhZ2UtYmxvY2tpbmctbG9vc2VuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29z
ZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCmluZGV4IDhmYTNjNzgxMjU0YWM5YmVh
ZjU0NzcxZTZiMzRjYzg0ODcyNDI5YWIuLjc4Njg4ZjJhNTk5MzM2MmQwM2M2YWZlM2QwMTgxOTc1
YTI3NDhlNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3Rv
cmFnZS1ibG9ja2luZy1sb29zZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5l
ZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sCkBAIC0xMCw3ICsxMCw3IEBAIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogCiBmdW5jdGlvbiBkZWNyZW1lbnQoKSB7CiAJaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0JCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKKwkJdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1
ZSk7CiAJCWludGVybmFscy5zZXR0aW5ncy5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koJ0FsbG93
QWxsJyk7CiAJfQogCWZvciAodmFyIGkgPSAwOyBpIDwgd2luZG93LmZyYW1lcy5sZW5ndGg7ICsr
aSkKQEAgLTE4LDEwICsxOCw4IEBAIGZ1bmN0aW9uIGRlY3JlbWVudCgpIHsKIH0KIAogd2luZG93
Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKCkgewotCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworCWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKIAkJdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0JCXRlc3RS
dW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmYWxzZSk7Ci0JfQogfQogPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0
b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctc3RyZW5n
dGhlbmVkLXByaXZhdGUtYnJvd3NpbmctcGx1Z2luLmh0bWwKaW5kZXggZTg5Yzk4MjJjY2MxMGFm
ZDE1NzE1ZDNiOWYzZTU5NzFiOGQ4NmU4Mi4uZGUxNTcwYmI5YzVmYmY1OTlkNjk5NWUzZWExNGU5
MWM3NDk2OTZlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
dG9yYWdlLWJsb2NraW5nLXN0cmVuZ3RoZW5lZC1wcml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1z
dHJlbmd0aGVuZWQtcHJpdmF0ZS1icm93c2luZy1wbHVnaW4uaHRtbApAQCAtNSwxMyArNSwxMyBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKIAl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IAl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAl0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0Fz
VGV4dCgpOwotCXRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKKwl0
ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKIH0K
IAogZnVuY3Rpb24gZGVjcmVtZW50KCkgewogCWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCQlp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KCdCbG9ja0FsbCcpOwot
CQl0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpOworCQl0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAJfQogCWZv
ciAodmFyIGkgPSAwOyBpIDwgd2luZG93LmZyYW1lcy5sZW5ndGg7ICsraSkKIAkJd2luZG93LmZy
YW1lc1tpXS5wb3N0TWVzc2FnZSgnYmxvY2tlZCcsICcqJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhp
cmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUtbW9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRoaXJkLXBhcnR5
LXJlZGlyZWN0cy1pbi1wcml2YXRlLW1vZGUuaHRtbAppbmRleCBiMjZiOGFkNTY1N2E5MGZkOWQw
NTU5NTZiZjlhN2Y4MDcyZDcyZjViLi5mODE1MDU0ZTBhZGYzMWE0ZTc0ODg0Y2E2YjMwOTMyNWVh
OTVhMTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlw
LXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItdGhpcmQtcGFydHktcmVkaXJlY3RzLWluLXByaXZhdGUt
bW9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3RyaXAtcmVm
ZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZWRpcmVjdHMtaW4tcHJpdmF0ZS1tb2Rl
Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVt
ZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpA
QCAtOCw3ICs5LDYgQEAKICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBvbmx5IHRoZSBvcmln
aW4gaXMgc2VudCBhcyByZWZlcnJlciBmb3IgdGhpcmQtcGFydHkgcmVkaXJlY3RzIGluIHByaXZh
dGUgYnJvd3NpbmcgbW9kZS4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgIHRl
c3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVlKTsKICAgICB0ZXN0UnVubmVy
LmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwogCiAgICAgZnVuY3Rpb24gb3BlbklmcmFtZSh1cmws
IG9uTG9hZEhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1p
bi1wcml2YXRlLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3Ry
aXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci10aGlyZC1wYXJ0eS1yZXF1ZXN0cy1pbi1wcml2YXRl
LW1vZGUuaHRtbAppbmRleCAyODNlMGM3N2I4ZTU5ZDY4M2YwZjMzNWRhOTUyMjBlNzZjN2UzNDQ2
Li45ZmFmYTI3MjA3MmM0NmEzNWY5ODQ0ZmRkYWQ3MDU2NDM2NTlmOTRlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1m
b3ItdGhpcmQtcGFydHktcmVxdWVzdHMtaW4tcHJpdmF0ZS1tb2RlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXRo
aXJkLXBhcnR5LXJlcXVlc3RzLWluLXByaXZhdGUtbW9kZS5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAtLT4K
IDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsNyArOSw2IEBACiAgICAgZGVz
Y3JpcHRpb24oIlRlc3RzIHRoYXQgb25seSB0aGUgb3JpZ2luIGlzIHNlbnQgYXMgcmVmZXJyZXIg
Zm9yIHRoaXJkLXBhcnR5IHJlc291cmNlcyBpbiBwcml2YXRlIGJyb3dzaW5nIG1vZGUuIik7CiAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKIAogICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2Ut
YWNjZXNzLXRydWUtaWYtZmVhdHVyZS1vZmYuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0dXJlLW9mZi5odG1s
CmluZGV4IGFjYWYwNTI4YjYxZDk5NGFjZTYzMzI1YWUzNTBhNWVmZjRmMDEyZGEuLmE2NjBiZWE4
Y2I4MTAwMDMxZTYwZjIwYzM4M2FhZmY1YzMxODMwMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0
dXJlLW9mZi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9o
YXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi1mZWF0dXJlLW9mZi5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VFcGhlbWVyYWxTZXNzaW9uPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsOSArOSw2IEBACiAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGRvY3VtZW50Lmhhc1N0b3JhZ2VBY2Nlc3MoKSBy
ZXR1cm5zIHRydWUgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBpZiB0aGVyZSBpcyBubyB3YXkgdG8g
cmVxdWVzdCBhY2Nlc3MgKGZlYXR1cmUgb2ZmKS4iKTsKICAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CiAKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotCiAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAog
ICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewpAQCAtMzgsNCArMzYsNCBA
QAogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgogPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy1yZWdpc3Rlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNp
Yy1yZWdpc3Rlci5qcwppbmRleCBhODI1NzkwODEwYmNhNmEzYWZlODkyNjEzNGQzZGQxZDljODFi
YjJlLi4yYjc5MmQ3NzUwMDI4ZDFmM2U5MTk3MTViMzRiNmZlM2RiMjMyOGE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMt
cmVnaXN0ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCkBAIC0xMCwxNCArMTAsMTQgQEAgYXN5bmMgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgZWxzZQogICAgICAgICBsb2coIkZBSUw6IEEgc2VydmljZSB3b3Jr
ZXIgaXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIik7CiAKLSAgICB0ZXN0
UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICBpZiAoIWF3
YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHNlbGYub3JpZ2luKSkK
ICAgICAgICAgbG9nKCJQQVNTOiBObyBzZXJ2aWNlIHdvcmtlciBpcyBpbml0aWFsbHkgcmVnaXN0
ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNzaW9uIik7CiAgICAgZWxzZQogICAg
ICAgICBsb2coIkZBSUw6IEEgc2VydmljZSB3b3JrZXIgaXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQg
Zm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUgc2Vzc2lvbiIpOwogCi0gICAgdGVzdFJ1bm5lci5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAgICAgdHJ5IHsKICAgICAgICAg
ciA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJjZXMvZW1w
dHktd29ya2VyLmpzIiwgeyBzY29wZTogIi93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL3Rlc3Qi
LCB1cGRhdGVWaWFDYWNoZTogIm5vbmUiIH0pCiAgICAgICAgIGxvZygiUmVnaXN0ZXJlZCEiKTsK
QEAgLTM3LDE0ICszNywxNCBAQCBhc3luYyBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgbG9nKCJGQUlMOiBObyBzZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZv
ciB0aGlzIG9yaWdpbiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkX0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICAgICAgaWYgKCFhd2FpdCBpbnRlcm5hbHMuaGFz
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigiL3Rlc3QiKSkKICAgICAgICAgICAgIGxvZygiUEFT
UzogTm8gc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJp
dmF0ZSBzZXNzaW9uIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJTDogQSBz
ZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRlIHNl
c3Npb24iKTsKIAotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
ZmFsc2UpOworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQ
UkVDQVRFRChmYWxzZSk7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICBsb2coIkV4Y2VwdGlv
biByZWdpc3RlcmluZzogIiArIGUpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2V3b3JrZXItcHJpdmF0ZS1icm93c2luZy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2Vydmlj
ZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWwKaW5kZXggNDhiMzhkZDBiOGMxZjdk
OTNiMDk5NDM2MDBmODcyN2U3YWEwNmUwZS4uNjJkM2Y2MjQ5YzM0ZGE3YTVmM2M1OGE0NDRkNDU4
ZjBmODkxMGU3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRlLWJyb3dzaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci1wcml2YXRl
LWJyb3dzaW5nLmh0dHBzLmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5j
ICh0ZXN0KSA9PiB7CiAKICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdCgidGVzdCByZXF1aXJlcyBpbnRlcm5hbHMgQVBJIik7Ci0gICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAgdmFyIHJl
Z2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlv
bihzY29wZSk7CiAgICAgaWYgKHJlZ2lzdHJhdGlvbiAmJiByZWdpc3RyYXRpb24uc2NvcGUgPT09
IHNjb3BlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZG50LWhlYWRl
ci1hZnRlci1yZWRpcmVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvZG50
LWhlYWRlci1hZnRlci1yZWRpcmVjdGlvbi5odG1sCmluZGV4IGIxNjliNWU4YzQ4OGVhOGQzNDVl
NTdhZThkNjVlMmU1N2E4ZjMyMzMuLjNjMzRlZjVjZjUzMDg1YmQ2MjhmOTkxZTkzOTE5YWQyNzdh
NWM3MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL2RudC1oZWFkZXIt
YWZ0ZXItcmVkaXJlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9k
bnQtaGVhZGVyLWFmdGVyLXJlZGlyZWN0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtMjgsOSArMjksNyBAQCBhc3luYyBmdW5jdGlv
biBjaGVja0ROVEhlYWRlcih0ZXN0LCB0b2tlbikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQodHJ1ZSk7Ci1lbHNlCitpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQogICAgIGFsZXJ0KCJN
YWtlIHN1cmUgdG8gcnVuIHRoaXMgdGVzdCBpbiBQcml2YXRlIEJyb3dzaW5nIE1vZGUiKTsKIAog
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcvc3VwcG9ydC5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBwb3J0Lmpz
CmluZGV4IDdlNjExNDdiNTFlYjEwMGMxYzFkMmM4YWY3NDEzZGFhYzA4NTY3NjUuLjBmOGRlZTlm
NzQzODQwNTQ0OWI5YjEyMWY3M2E2MDFlOTNiOGI2MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBwb3J0LmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9zdXBw
b3J0LmpzCkBAIC0xLDcgKzEsOCBAQAogLy8gV2ViS2l0IGNoYW5nZXM6IHRoaXMgZmlsZSBpcyB0
aGUgc2FtZSBhcyAiSW5kZXhlZERCL3N1cHBvcnQuanMiIGZvdW5kIGluIFczQyB3ZWItcGxhdGZv
cm0tdGVzdHMgcmVwbywKIC8vIGV4Y2VwdCBmb3IgdGhlIGZvbGxvd2luZyBsaW5lcyB0aGF0IGFj
dGl2YXRlIHByaXZhdGUgYnJvd3NpbmcKKy8vIEZJWE1FOiBVcGRhdGUgV0tUUiAvIERSVCB0byBl
bmFibGUgcHJpdmF0ZSBicm93c2luZyBmb3IgdGhpcyBmb2xkZXIgaW5zdGVhZC4KIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkX0RFUFJFQ0FU
RUQodHJ1ZSk7CiAvL0VuZCBvZiBXZWJLaXQgY2hhbmdlcwogCiB2YXIgZGF0YWJhc2VOYW1lID0g
ImRhdGFiYXNlIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA1OGU4MjEwYWIxMTM0ODcxYjliM2ZhNzA1ZmQxODFlYWRlYmNhYzE4Li4xNWFj
YmI2YmY4OWMzNTM5NzNhODE0Mzg2NzAwYzUxYWJjMjExMDQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC00NzcsMTUgKzQ3NywxMSBAQCB3
ZWJraXQub3JnL2IvNzEyOTggYWNjZXNzaWJpbGl0eS9tYWMvaWZyYW1lLXdpdGgtdGl0bGUtY29y
cmVjdC1oaWVyYXJjaHkuaHRtbAogIyMjIFNUQVJUIE9GICg1KSBGZWF0dXJlcyB0aGF0IGFyZSBu
b3Qgc3VwcG9ydGVkIHdoZW4gTmV0d29ya1Byb2Nlc3MgaXMgZW5hYmxlZCAoaS5lLiB0aGV5IG9u
bHkgd29yayBvbiBNb3VudGFpbiBMaW9uLCBhbmQgbm90IG9uIG5ld2VyIE9TIHZlcnNpb25zKS4K
IAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1Mjc0Ci0jIFBQ
VDogdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIGRvZXNuJ3Qgd29yayB3aXRo
IE5ldHdvcmtQcm9jZXNzCisjIFBQVDogdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkX0RFUFJFQ0FURUQoKSBkb2Vzbid0IHdvcmsgd2l0aCBOZXR3b3JrUHJvY2VzcwogaHR0cC90
ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1pbi1wcml2YXRlLWJyb3dzaW5nLmh0bWwgWyBTa2lwIF0K
IGh0dHAvdGVzdHMvc2VjdXJpdHkvYXBwY2FjaGUtc3dpdGNoaW5nLXByaXZhdGUtYnJvd3Npbmcu
aHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL2ZpcnN0LXBhcnR5LWNv
b2tpZS1hbGxvdy14c2x0LnhtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVz
L3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy1tYWluLWZyYW1lLmh0bWwgWyBTa2lwIF0KLWh0
dHAvdGVzdHMvc2VjdXJpdHkvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtYmxvY2tpbmctdXNl
ci1hY3Rpb24uaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9zZWN1cml0eS9jb29raWVzL3RoaXJk
LXBhcnR5LWNvb2tpZS1ibG9ja2luZy14c2x0LnhtbCBbIFNraXAgXQotaHR0cC90ZXN0cy9zZWN1
cml0eS9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1ibG9ja2luZy5odG1sIFsgU2tpcCBdCi1o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wcml2YXRlLWJyb3dzaW5nLmh0
bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXBsdWdpbi1wcml2
YXRlLWJyb3dzaW5nLXRvZ2dsZWQtYWxsb3dlZC5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2Nyb3NzLW9yaWdpbi1wbHVnaW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLmh0bWwg
WyBTa2lwIF0KIGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5lZC1w
cml2YXRlLWJyb3dzaW5nLXBsdWdpbi5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEwODU0MGY5ODEwOGI4YmI2YjEzY2FmY2ExYTUx
NGFiNDZlYzZjZDkuLmJhNmMzYmRmNGU0NTFkNGRkNzZkODE5ODg2ZGVhOGQxZmZhNmNhYjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC02NzgsMTMgKzY3
OCwxMSBAQCBmYXN0L2V2ZW50cy9kcmFnLWRpc3BsYXktbm9uZS1lbGVtZW50Lmh0bWwKICMgU2tp
cCB0ZXN0cyBpbiBmYXN0L3RleHQvc2hhcGluZwogZmFzdC90ZXh0L3NoYXBpbmcKIAotIyBXZWJL
aXRUZXN0UnVubmVyIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCBkb2Vzbid0
IHdvcmsgd2l0aCBOZXR3b3JrUHJvY2Vzcy4KKyMgV2ViS2l0VGVzdFJ1bm5lciB0ZXN0UnVubmVy
LnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCgpIGRvZXNuJ3Qgd29yayB3aXRo
IE5ldHdvcmtQcm9jZXNzLgogIyBXZSBleHBsaWNpdGx5IFNraXAgdGhlIGZvbGxvd2luZyB0ZXN0
cyBpbnN0ZWFkIG9mIG1hcmtpbmcgdGhlbSBhcyBGYWlsdXJlIGJlY2F1c2Ugc29tZSBvZiB0aGVz
ZSB0ZXN0cyB3aWxsIG5hdHVyYWxseSBwYXNzCi0jIGFzIGEgY29uc2VxdWVuY2Ugb2YgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgZWZmZWN0aXZlbHkgYmVpbmcgYSBuby1v
cCBhcyBvZiB0aGUgdGltZSBvZiB3cml0aW5nICgwNy8wOC8yMDE1KS4KLXdlYmtpdC5vcmcvYi8x
MTUyNzQgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNy
b3NzLW9yaWdpbi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy1lbmFibGVkLnBocCBb
IFNraXAgXQorIyBhcyBhIGNvbnNlcXVlbmNlIG9mIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF9ERVBSRUNBVEVEKCkgZWZmZWN0aXZlbHkgYmVpbmcgYSBuby1vcCBhcyBvZiB0
aGUgdGltZSBvZiB3cml0aW5nICgwNy8wOC8yMDE1KS4KIHdlYmtpdC5vcmcvYi8xMTUyNzQgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdp
bi1uby1jb29raWVzLXdoZW4tcHJpdmF0ZS1icm93c2luZy10b2dnbGVkLnBocCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzExNTI3NCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXBvcnQtc2FtZS1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3Npbmct
dG9nZ2xlZC5waHAgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMTUyNzQgaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LXNhbWUtb3JpZ2luLXdpdGgtY29va2ll
cy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5waHAgWyBTa2lwIF0KIAogIyMjIEVORCBP
RiAoNCkgRmVhdHVyZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBpbiBXZWJLaXQyIGFuZCBsaWtl
bHkgbmV2ZXIgd2lsbCBiZQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUt
Mi5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1s
CmluZGV4IDFkOGI4MDYzZjA1MDExMjdlZGNiNzY1ODVmZDk2ZGMwMjFiOWIyYmEuLjI5NzA4Nzdh
MTJlMmM3YmI3NThlOGY2MTE1Zjk4NmUwZmVkYTVlNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS0yLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVu
Y3Rpb24gcnVuVGVzdCgpCiAgICAgc2hvdWxkQmUoInBsdWdpbjEucHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCIsICJmYWxzZSIpOwogCiAgICAgLy8gTm93IGVuYWJsZSBwcml2YXRlIGJyb3dzaW5nCi0g
ICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RS
dW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogCiAgICAg
c2hvdWxkQmUoInBsdWdpbjEucHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIsICJ0cnVlIik7CiAgICAg
CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQocGx1Z2luMik7CiAgICAgCiAgICAgc2hvdWxkQmUoInBsdWdpbjIucHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCIsICJ0cnVlIik7Ci0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWRfREVQUkVDQVRFRChmYWxzZSk7CiAgICAgc2hvdWxkQmUoInBsdWdpbjEucHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCIsICJmYWxzZSIpOwogICAgIHNob3VsZEJlKCJwbHVnaW4yLnByaXZhdGVC
cm93c2luZ0VuYWJsZWQiLCAiZmFsc2UiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
dWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3By
aXZhdGUtYnJvd3NpbmctbW9kZS5odG1sCmluZGV4IGY4NjA2MDhlZmNkNTRmOGJjMTYxOWYzOGQ4
MTAxNjg0NzcwMGQ4ZTkuLmY2ZWI5NjQyMmUyYTI5MDdkYjZjM2FiYjhhN2E3NmVmNGFjN2QzMzMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUuaHRtbApA
QCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBzaG91bGRCZSgicGx1Z2lu
MS5jYWNoZWRQcml2YXRlQnJvd3NpbmdFbmFibGVkIiwgImZhbHNlIik7CiAKICAgICAvLyBOb3cg
ZW5hYmxlIHByaXZhdGUgYnJvd3NpbmcKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
X0RFUFJFQ0FURUQodHJ1ZSk7CiAKICAgICBzaG91bGRCZSgicGx1Z2luMS5wcml2YXRlQnJvd3Np
bmdFbmFibGVkIiwgInRydWUiKTsKICAgICBzaG91bGRCZSgicGx1Z2luMS5jYWNoZWRQcml2YXRl
QnJvd3NpbmdFbmFibGVkIiwgInRydWUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291
cmNlcy9qcy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKaW5kZXgg
NThiYjEzMWZiZTIyZGMzYmEzZTljZjFjODZiYjJjNjJkODQ4MGVhNC4uNTcyOTNkNmVhOGI0N2Zm
ZjllOWQyNTBjNmVkZDNkMjRjMmE5ZmNjYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3Vy
Y2VzL2pzLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2pzLXRlc3QuanMKQEAg
LTYsOCArNiw5IEBAIGlmIChzZWxmLnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAKICAgICAvLyBJZiB0aGUgdGVzdCBmaWxlIFVSTCBlbmRzIGluICItcHJp
dmF0ZS5odG1sIiwgZW5hYmxlIHByaXZhdGUgYnJvd3NpbmcuCisgICAgLy8gRklYTUU6IFVwZGF0
ZSBXS1RSIC8gRFJUIHRvIGRvIHRoaXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGUgdGVzdCBu
YW1lLgogICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5lbmRzV2l0aCgiLXByaXZhdGUuaHRt
bCIpIHx8IHNlbGYuZW5hYmxlUHJpdmF0ZUJyb3dzaW5nKQotICAgICAgICB0ZXN0UnVubmVyLnNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwogfQogCiB2YXIgZGVzY3JpcHRp
b24sIGRlYnVnLCBkaWRGYWlsU29tZVRlc3RzLCBzdWNjZXNzZnVsbHlQYXJzZWQ7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3ByaXZhdGUt
YnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0
b3JhZ2UvbG9jYWxzdG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwK
aW5kZXggZWQ1OGE2MGM4MGJmM2RlZDY1MmFmOWYyYmQ2MTAxZTQwOGMyZDc3OS4uOThhMzJkNjVj
MDY1ZjFmOTk5N2I4MTI3ZDA0YTlmMWQwMGJiN2JhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMt
c3RvcmFnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbApAQCAtMjIsNyArMjIs
NyBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidGVzdEl0
ZW0iLCAiUGVyc2lzdGVudCBpdGVtISIpOwogICAgIGxvZygiUGVyc2lzdGVudCBsb2NhbFN0b3Jh
Z2UgdGVzdEl0ZW0gaXM6ICIgKyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidGVzdEl0ZW0iKSk7CiAg
ICAgCi0gICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAg
IHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKHRydWUpOwog
ICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICAKICAgICB3aW5kb3cubG9j
YXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvcHJpdmF0ZS1icm93c2luZy0xLmh0bWwiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNl
cy9wcml2YXRlLWJyb3dzaW5nLTEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFn
ZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1sCmluZGV4IGU0
MTAxZTM5MWMwNWNkNmI2YTk3MzA4ZDE2MjkxN2EyZDFhYzg5YzQuLjVhMTk2MmE0NzI0MzExZjkz
OTFlMzNhODI3NDMwMjlhMTkyOWY0MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3VyY2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0b3JhZ2UvcmVzb3Vy
Y2VzL3ByaXZhdGUtYnJvd3NpbmctMS5odG1sCkBAIC0xOSw3ICsxOSw3IEBAIGZ1bmN0aW9uIHJ1
blRlc3QoKQogICAgICAgICBsb2coIkJhY2sgaW4gcGFyZW50IHdpbmRvdywgbG9jYWxTdG9yYWdl
J3MgbGVuZ3RoIGlzOiAiICsgbG9jYWxTdG9yYWdlLmxlbmd0aCk7CiAgICAgICAgIGxvZygiQmFj
ayBpbiBwYXJlbnQgd2luZG93LCB0ZXN0SXRlbSBpczogIiArIGxvY2FsU3RvcmFnZS5nZXRJdGVt
KCJ0ZXN0SXRlbSIpKTsKICAgICAgICAgCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZF9ERVBSRUNBVEVEKGZhbHNlKTsKIAogICAgICAgICB3aW5kb3cubG9jYXRpb24u
aHJlZiA9ICJwcml2YXRlLWJyb3dzaW5nLTMuaHRtbCI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9yZXNvdXJjZXMvcHJpdmF0
ZS1icm93c2luZy0yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxz
dG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTIuaHRtbAppbmRleCAwYjZiN2YyMjI3
YzA1NDk0YTRjMDdiY2M3NzA3MGVhYzhhN2I5MDk5Li5kOTZhYjdlMmZiMGExYmYyMGI1MzBkYjI5
ODYyOGJmNGYwN2M1YzRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3Jh
Z2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2YXRlLWJyb3dzaW5nLTIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3Jlc291cmNlcy9wcml2
YXRlLWJyb3dzaW5nLTIuaHRtbApAQCAtMTQsNyArMTQsNyBAQCBmdW5jdGlvbiBydW5UZXN0KCkK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWRfREVQUkVDQVRFRCh0cnVlKTsKICAgICAKICAgICBsb2coImxvY2FsU3RvcmFnZSdzIGxlbmd0
aCBpczogIiArIGxvY2FsU3RvcmFnZS5sZW5ndGgpOwogICAgIGxvZygiVGhlIGl0ZW0gaW4gbmV3
IHdpbmRvdyBzdGFydHMgb3V0IGFzOiAiICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oInRlc3RJdGVt
IikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kYi1w
cml2YXRlLWJyb3dzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWRiLXByaXZhdGUtYnJvd3NpbmcuaHRtbAppbmRleCAyNDVkOWUzYmRhMGZiMDRlNTI0YzlhMDFm
M2E1ZTJmZWMzN2JlZTc3Li41ZmJkOTlmNGM1NTU2Nzc3NWIwMTZhOWJmYzljODE4ZjAxNjQ4MWEw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZh
dGUtYnJvd3NpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWRiLXByaXZhdGUtYnJvd3NpbmcuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRXBoZW1lcmFsU2Vzc2lvbj10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFk
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vcGVuLWRi
LXByaXZhdGUtYnJvd3NpbmcuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvb3Blbi1kYi1wcml2YXRlLWJyb3dzaW5nLmpzCmluZGV4IGMyY2JhZDk3YWEyMzE3YTM3
NmVlZDhkMjMxN2E1MjE5NmI0MjBiYmMuLmFiNDNkMGNmYjA5MThlYzk2OTI3ZDIyZmY2MWFmMjJj
MWI4MmY3OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9vcGVuLWRiLXByaXZhdGUtYnJvd3NpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL29wZW4tZGItcHJpdmF0ZS1icm93c2luZy5qcwpAQCAtNSw3
ICs1LDYgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiU2ltcGxl
IHRlc3QgdG8gb3BlbiBJbmRleGVkREIgZGF0YWJhc2UgaW4gcHJpdmF0ZSBicm93c2luZyBtb2Rl
LiIpOwogCi10ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwogc2hvdWxkQmVOdWxsKCJpbmRleGVkREIub3BlbignZGInKSIp
OwogZmluaXNoSlNUZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwKaW5kZXggNjcz
YTYxM2MxNmYyNGE1YTJiMDljMDNlMzdjMzNiODU5OTIxYjAwNC4uNWY4NGFjMmViOTI5MTZiYmQ5
Mjg5MTU5NzVlMjYxYjk3M2FmNjdlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbApA
QCAtNjgsNyArNjgsNyBAQCBmdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCiAgICAg
Y29tcGxldGVkID0gMDsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOworICAgICAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRfREVQUkVDQVRFRCh0cnVlKTsKICAgICAKICAg
ICBmb3IgKGkgaW4gcHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50cykKICAgICAgICAgdGhlVHJhbnNh
Y3Rpb24uZXhlY3V0ZVNxbChwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzW2ldLCBbXSwgcHJpdmF0
ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0aW9uLCBwcml2YXRlQnJvd3NpbmdFcnJvckZ1bmN0aW9uKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmct
b3Blbi1kaXNhYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1i
cm93c2luZy1vcGVuLWRpc2FibGVkLmh0bWwKaW5kZXggNzBhNzc4Mzg4NWM0Zjk1NjZkZGI0OWU5
ZDI2NDFkMjMzMzAxMTIyOS4uZjFmOTk1MDAwYzVjM2Q0MGIxMDc2ZDZlOGFhM2Q5MjA0ZGYwOWUw
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2lu
Zy1vcGVuLWRpc2FibGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJp
dmF0ZS1icm93c2luZy1vcGVuLWRpc2FibGVkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUVwaGVtZXJhbFNlc3Npb249dHJ1ZSBdIC0tPgogPGJvZHk+
CiA8ZGl2IGlkPSJsb2dnZXIiPjwvZGl2PgogPHNjcmlwdD4KQEAgLTUsNyArNiw2IEBACiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQodHJ1ZSk7CiB9CiAKIHZhciBsb2dnZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibG9nZ2VyIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>