<?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>203020</bug_id>
          
          <creation_ts>2019-10-15 18:29:53 -0700</creation_ts>
          <short_desc>WKWebsiteDataStoreStatisticsResetToConsistentState() should call store.setUseITPDatabase(false)</short_desc>
          <delta_ts>2019-10-16 15:17:18 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580418</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 18:29:53 -0700</bug_when>
    <thetext>WKWebsiteDataStoreStatisticsResetToConsistentState() should call store.setUseITPDatabase(false) between tests to keep consistent state</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580419</commentid>
    <comment_count>1</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 18:30:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/56314484&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580614</commentid>
    <comment_count>2</comment_count>
      <attachid>381093</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-16 11:57:16 -0700</bug_when>
    <thetext>Created attachment 381093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580616</commentid>
    <comment_count>3</comment_count>
      <attachid>381093</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-16 12:02:27 -0700</bug_when>
    <thetext>Comment on attachment 381093
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:1793
&gt; +void TestRunner::setUseITPDatabase(bool value, JSValueRef completionHandler)

This does not need a completion handler. It can be synchronous from TestRunner&apos;s point of view. Layout test should not have to deal with this being async.

&gt; Tools/WebKitTestRunner/TestController.cpp:3388
&gt; +    m_currentInvocation-&gt;didSetUseITPDatabase();

No need. This is called on a sync IPC from the WebContent process so once the WKBundlePostSynchronousMessage() returns, the caller can assume the operation has finished, given the runUntil() call above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580631</commentid>
    <comment_count>4</comment_count>
      <attachid>381098</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-16 12:31:36 -0700</bug_when>
    <thetext>Created attachment 381098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580673</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-16 14:23:00 -0700</bug_when>
    <thetext>Thanks Chris! waiting to make sure all tests pass on the bots before asking for cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580720</commentid>
    <comment_count>6</comment_count>
      <attachid>381098</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-16 15:16:37 -0700</bug_when>
    <thetext>Comment on attachment 381098
Patch

Clearing flags on attachment: 381098

Committed r251212: &lt;https://trac.webkit.org/changeset/251212&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580721</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-16 15:16:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580722</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-16 15:17:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/56348972&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381093</attachid>
            <date>2019-10-16 11:57:16 -0700</date>
            <delta_ts>2019-10-16 12:31:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203020-20191016115715.patch</filename>
            <type>text/plain</type>
            <size>202335</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhZmI4ZWVmODQ0ZTE1NDg1
NGZmZWIzY2EwZGRmZTVkMTJhMTZjMTIuLjEzY2M5ZTc2NjkxYjNkOTcxOGMyN2QyMjQ4YjU2MTBm
ZWRkNTEzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMTAtMTYgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJzaXRlRGF0
YVN0b3JlU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKSBzaG91bGQgY2FsbCBzdG9y
ZS5zZXRVc2VJVFBEYXRhYmFzZShmYWxzZSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMzAyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzMTQ0
ODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBzaG91bGQgYmUgcmVzZXQgYmV0d2VlbiB0ZXN0
cyB0byB1c2UKKyAgICAgICAgYSBtZW1vcnkgc3RvcmUsIGFuZCBhbnkgdGVzdCB0aGF0IG5lZWRz
IHRvIHVzZSB0aGUgZGF0YWJhc2Ugc3RvcmUKKyAgICAgICAgY2FuIHVzZSB0aGUgc2V0VXNlSVRQ
RGF0YWJhc2UgZnVuY3Rpb24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzOjpzZXRVc2VJVFBEYXRhYmFzZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlKToK
KyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg6
CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnNldFVzZUlUUERhdGFiYXNlKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6c2NoZWR1bGVDbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudCk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c2V0VXNlSVRQ
RGF0YWJhc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmg6CisKIDIwMTktMTAtMTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIHVzZXIgbWVzc2FnZXMgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDE0
MjU5YjEyODNiMWEzYWQxYzM1ODY0ODc0ZDBkNzliMmUzNjc4NWIuLjgxMGU3NDhkYmQ0Y2MzZmQ4
YmEyOWIwMTNjY2VhNGRiM2Y1MzZlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02NjYsMTUgKzY2NiwxOCBAQCB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpzZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29u
c3QgUmVnaXN0cmFibAogICAgIH0KIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0VXNlSVRQ
RGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKQordm9pZCBOZXR3
b3JrUHJvY2Vzczo6c2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBi
b29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gdGhpcy0+bmV0d29ya1Nlc3Npb24o
c2Vzc2lvbklEKSkgewogICAgICAgICBpZiAobV9pc0lUUERhdGFiYXNlRW5hYmxlZCAhPSB2YWx1
ZSkgewogICAgICAgICAgICAgbV9pc0lUUERhdGFiYXNlRW5hYmxlZCA9IHZhbHVlOwogICAgICAg
ICAgICAgbmV0d29ya1Nlc3Npb24tPnJlY3JlYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljU3RvcmUo
KTsKICAgICAgICAgfQotICAgIH0gZWxzZQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwor
ICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcigpOworICAgIH0KIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0UHJl
dmFsZW50UmVzb3VyY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJs
ZURvbWFpbiYgZG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
aW5kZXggYzEzMGNhYzZhZTIyNDAxZThmMTQ3YTNlZDMxZDcxMTlhMDNiMzc1Mi4uYzg5ZGY4NGVh
MjliYWYxMDBkN2U5ZjhhNzMwMDUwYTQzNzI5OTRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjIxLDcgKzIyMSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGlzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcihQQUw6OlNlc3Npb25JRCwgY29u
c3QgU3ViRnJhbWVEb21haW4mLCBjb25zdCBUb3BGcmFtZURvbWFpbiYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQgaXNSZWdpc3RlcmVkQXNTdWJyZXNvdXJjZVVu
ZGVyKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJSZXNvdXJjZURvbWFpbiYsIGNvbnN0IFRvcEZy
YW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBz
ZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYs
IGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAg
IHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUpOworICAg
IHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRNYXhTdGF0aXN0aWNzRW50cmll
cyhQQUw6OlNlc3Npb25JRCwgdWludDY0X3QgbWF4aW11bUVudHJ5Q291bnQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZShQQUw6OlNl
c3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGNlNWI2YmE0MzY0ZDI4NmQ3ZGFjNTQ3ZDY4YWU2
NDRjZmUzYmRlZmEuLmMzNWQxMTNlYzYyMDZhZTkxYzE0M2RkOWM3NWJjN2RhYzgxODMzYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMTEyLDcgKzExMiw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdWJtaXRUZWxlbWV0cnkoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50
UmVzb3VyY2VzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU2Vjb25kcyBzZWNvbmRzKSAtPiAo
KSBBc3luYwogICAgIFNldEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZXNvdXJjZURvbWFpbiwgYm9vbCBpc0dyYW5kZmF0
aGVyZWQpIC0+ICgpIEFzeW5jCi0gICAgU2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBib29sIHZhbHVlKQorICAgIFNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKICAgICBTZXRHcmFuZGZhdGhl
cmluZ1RpbWUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTZWNvbmRzIHNlY29uZHMpIC0+ICgp
IEFzeW5jCiAgICAgU2V0TWF4U3RhdGlzdGljc0VudHJpZXMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklELCB1aW50NjRfdCBtYXhpbXVtRW50cnlDb3VudCkgLT4gKCkgQXN5bmMKICAgICBTZXRNaW5p
bXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBTZWNvbmRzIHNlY29uZHMpIC0+ICgpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA3NDRmY2Jh
OWVlMmExOTYxNzVhMTNhNTEyNzk0NmRmMTQzZTA0ZTc3Li5kMzM1MDYwY2Q3YjJlMmNhMmE1MTI2
N2UxMDgxYjY2NjAxNDhiNTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTI4OSwxMCArMjg5LDE0IEBA
IHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1dlYnNp
dGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlCiAjZW5kaWYKIH0KIAotdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVTZXRVc2VJVFBEYXRhYmFzZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVm
LCBib29sIHZhbHVlKQordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZShX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIHZhbHVlLCB2b2lkKiBjb250
ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZUZ1bmN0aW9uIGNvbXBsZXRp
b25IYW5kbGVyKQogewogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAg
V2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+c2V0VXNlSVRQRGF0YWJhc2UodmFsdWUpOwor
ICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPnNldFVzZUlUUERhdGFiYXNlKHZhbHVl
LCBbY29udGV4dCwgY29tcGxldGlvbkhhbmRsZXJdIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoY29udGV4dCk7CisgICAgfSk7CisjZWxzZQorICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRl
eHQpOwogI2VuZGlmCiB9CiAKQEAgLTU0OCw2ICs1NTIsNyBAQCB2b2lkIFdLV2Vic2l0ZURhdGFT
dG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJl
ZiBkYQogICAgIHN0b3JlLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NTaG91bGREb3duZ3JhZGVS
ZWZlcnJlckZvclRlc3RpbmcodHJ1ZSwgW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdn
cmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgc3RvcmUucmVzZXRQYXJhbWV0ZXJzVG9EZWZh
dWx0VmFsdWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFja0FnZ3JlZ2F0b3IuY29weVJl
ZigpXSB7IH0pOwogICAgIHN0b3JlLnNjaGVkdWxlQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnQo
V2ViS2l0OjpTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6Ok5vLCBbY2FsbGJhY2tBZ2dyZWdh
dG9yID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0geyB9KTsKKyAgICBzdG9yZS5zZXRV
c2VJVFBEYXRhYmFzZShmYWxzZSwgW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVn
YXRvci5jb3B5UmVmKCldIHsgfSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkYXRhU3RvcmVS
ZWYpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCBlZjQz
Mzk4NjA0NGFhMTE0NTE1N2Y5YzdiZGJmYWRiNGJkYWZkZjNmLi5hZDVjMmNlMzQ2ZDA2OThlYzVh
YjMxMTQ0ODJiNDg3MzAwMGQ4ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtNzUsNyArNzUsOCBAQCBXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9u
Y2UoV0tXZWJzaXRlRGF0YVN0bwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0
U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZiwgV0tTdHJpbmdSZWYgaG9zdCwgYm9vbCB2YWx1ZSk7CiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNp
dGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkRnVuY3Rpb24pKGJvb2wgaXNHcmFu
ZGZhdGhlcmVkLCB2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJz
aXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1dlYnNpdGVEYXRhU3RvcmVS
ZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCB2b2lkKiBjb250ZXh0LCBXS1dlYnNp
dGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkRnVuY3Rpb24gY2FsbGJhY2spOwot
V0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQRGF0YWJhc2UoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSk7Cit0eXBlZGVmIHZvaWQg
KCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZUZ1bmN0aW9uKSh2b2lkKiBmdW5j
dGlvbkNvbnRleHQpOworV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQ
RGF0YWJhc2UoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSwg
dm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQRGF0YWJhc2VGdW5jdGlv
biBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdCk7CiBX
S19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdL
U3RyaW5nUmVmIGhvc3QsIFdLU3RyaW5nUmVmIHRvcEZyYW1lSG9zdCk7CiBXS19FWFBPUlQgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVj
dFRvKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3Qs
IFdLU3RyaW5nUmVmIGhvc3RSZWRpcmVjdGVkVG8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggY2ExZjVh
YjI2MThhZGQ0NjM1NTA0NGFlMGZmZmZkYjZhMzc2M2U0ZC4uNDU4NWNmZmZlZTU4ZWMwNjg4NWZl
MTdkYjk1ZGI4NjI2NzYzZDE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC03ODYsMTIgKzc4Niw5IEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIGNvbnN0IFJlZ2lzCiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6U2V0R3JhbmRmYXRoZXJlZChzZXNzaW9uSUQsIHJlc291cmNlRG9t
YWluLCBpc0dyYW5kZmF0aGVyZWQpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAK
LXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBib29sIHZhbHVlKQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRV
c2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBpZiAoIWNh
blNlbmRNZXNzYWdlKCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6U2V0VXNlSVRQRGF0YWJhc2Uoc2Vzc2lvbklELCB2YWx1ZSksIDAp
OworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldFVz
ZUlUUERhdGFiYXNlKHNlc3Npb25JRCwgdmFsdWUpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmVxdWVzdFN0b3JhZ2VBY2Nlc3ND
b25maXJtKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlELCBGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHN1YkZyYW1lRG9tYWluLCBjb25zdCBSZWdp
c3RyYWJsZURvbWFpbiYgdG9wRnJhbWVEb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IGZiZjJjZTU5ZjhkMDVhZDdk
Yjg5OTNlMmZiY2QxNGI0NDRkNTE3MmIuLjZhYjIwMzk2ZTJhNmY0Yzk5YzA4MzAyZjE5NTg3OTFi
ZDUxYjZkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0QWdlQ2FwRm9yQ2xpZW50U2lkZUNvb2tpZXMoUEFMOjpTZXNzaW9uSUQsIE9wdGlvbmFs
PFNlY29uZHM+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Q2Fj
aGVNYXhBZ2VDYXAoUEFMOjpTZXNzaW9uSUQsIFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBzZXRHcmFuZGZhdGhlcmVkKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBSZWdpc3RyYWJsZURvbWFpbiYsIGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9u
SUQsIGJvb2wgdmFsdWUpOworICAgIHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9u
SUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBz
ZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vzc2lvbklELCBi
b29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0SXNSdW5uaW5n
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0
cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggODM3NTFlOTM0NWNmYTdiZmYzYTVhNzQ1ZWE4
OGYyMDBmOWZiOTg3Ni4uMzkwOGQ3Yjc3MDIxZjMyMjk2MzNiOWJhZDQ5Mjg2NmNhYTcxOTI5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE3MDEsMTIgKzE3MDEsMTYgQEAgdm9pZCBXZWJzaXRlRGF0
YVN0b3JlOjpzZXRHcmFuZGZhdGhlcmVkKGNvbnN0IFVSTCYgdXJsLCBib29sIGlzR3JhbmRmYXRo
ZXJlZCwgQ28KICAgICB9CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0VXNlSVRQRGF0
YWJhc2UoYm9vbCB2YWx1ZSkKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0VXNlSVRQRGF0YWJh
c2UoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBmb3IgKGF1dG8m
IHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpCi0gICAgICAgIHByb2Nlc3NQb29sLT5lbnN1
cmVOZXR3b3JrUHJvY2VzcygpLnNldFVzZUlUUERhdGFiYXNlKG1fc2Vzc2lvbklELCB2YWx1ZSk7
CisgICAgCisgICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBDYWxsYmFja0FnZ3JlZ2F0b3I6
OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgCisgICAgZm9yIChhdXRv
JiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKSB7CisgICAgICAgIGlmIChhdXRvKiBwcm9j
ZXNzID0gcHJvY2Vzc1Bvb2wtPm5ldHdvcmtQcm9jZXNzKCkpCisgICAgICAgICAgICBwcm9jZXNz
LT5zZXRVc2VJVFBEYXRhYmFzZShtX3Nlc3Npb25JRCwgdmFsdWUsIFtjYWxsYmFja0FnZ3JlZ2F0
b3IgPSBjYWxsYmFja0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0pOworICAgIH0KIH0KIAogdm9p
ZCBXZWJzaXRlRGF0YVN0b3JlOjpzZXRDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uRm9y
VGVzdGluZyhjb25zdCBVUkwmIGZyb21VUkwsIGNvbnN0IFVSTCYgdG9VUkwsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCA5NGRl
OWVlY2YzYzU4OTNmOWZhOTJkMmNmYzUzMzE5MDM0ZjI3YmQwLi45MzBlMzA1MDViMzVhYTdjNWVk
NmJkOTA4NDRhYjFmYTE3YjVlM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xNjIsNyArMTYyLDcgQEAg
cHVibGljOgogICAgIHZvaWQgc3VibWl0VGVsZW1ldHJ5KCk7CiAgICAgdm9pZCBzZXRHcmFuZGZh
dGhlcmVkKGNvbnN0IFVSTCYsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCBpc0dyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShib29sKTsKKyAgICB2b2lk
IHNldFVzZUlUUERhdGFiYXNlKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCBzZXRHcmFuZGZhdGhlcmluZ1RpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldExhc3RTZWVuKGNvbnN0IFVSTCYsIFNlY29uZHMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBtZXJnZVN0YXRpc3RpY0ZvclRl
c3RpbmcoY29uc3QgVVJMJiwgY29uc3QgVVJMJiB0b3BGcmFtZVVybDEsIGNvbnN0IFVSTCYgdG9w
RnJhbWVVcmwyLCBTZWNvbmRzIGxhc3RTZWVuLCBib29sIGhhZFVzZXJJbnRlcmFjdGlvbiwgU2Vj
b25kcyBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uLCBib29sIGlzR3JhbmRmYXRoZXJlZCwgYm9v
bCBpc1ByZXZhbGVudCwgYm9vbCBpc1ZlcnlQcmV2YWxlbnQsIHVuc2lnbmVkIGRhdGFSZWNvcmRz
UmVtb3ZlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNzJmODE3NjYzMWVjZWYxNjIyNDhk
M2E4Y2NiNzI2MjEzZWQ0YzViLi4wMmJmMTZhODhmMmU2OGM0ZDYxMDdkOWI2NTQyMDRjNjRhZGU0
NGY0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTktMTAtMTYgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKSBzaG91bGQgY2FsbCBzdG9yZS5zZXRVc2VJVFBEYXRhYmFzZShm
YWxzZSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MzAyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzMTQ0ODQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBjb21wbGV0aW9uIGhhbmRs
ZXIgdG8gc2V0VXNlSVRQRGF0YWJhc2UoKSB0byBhdm9pZCByYWNlCisgICAgICAgIGNvbmRpdGlv
bnMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZGlk
UmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFVz
ZUlUUERhdGFiYXNlKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NhbGxT
ZXRVc2VJVFBEYXRhYmFzZUNhbGxiYWNrKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFVzZUlU
UERhdGFiYXNlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFNldFVzZUlUUERhdGFiYXNlKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmg6CisKIDIwMTktMTAt
MTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gQWRkIHVzZXIgbWVzc2FnZXMgQVBJCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bAppbmRleCBlMjZiNGZhOGFlMjRmZWVjZjJlY2M5MTEwMGViOWYxNmIxOGEwNDE0Li42NGQ2YTJk
NjZlMjEwMzk2YzBmM2Q0ZWVhNzgwNzc2ZDFhNDgwMTBhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGwKQEAgLTMxMSw3ICszMTEsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgYm9v
bGVhbiBpc1N0YXRpc3RpY3NPbmx5SW5EYXRhYmFzZU9uY2UoRE9NU3RyaW5nIHN1Ykhvc3QsIERP
TVN0cmluZyB0b3BIb3N0KTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKERP
TVN0cmluZyBob3N0TmFtZSwgYm9vbGVhbiB2YWx1ZSk7CiAgICAgYm9vbGVhbiBpc1N0YXRpc3Rp
Y3NHcmFuZGZhdGhlcmVkKERPTVN0cmluZyBob3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRVc2VJVFBE
YXRhYmFzZShib29sZWFuIHZhbHVlKTsKKyAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKGJvb2xl
YW4gdmFsdWUsIG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgdm9pZCBzZXRTdGF0aXN0
aWNzU3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKERPTVN0cmluZyBob3N0TmFtZSwgRE9NU3Ry
aW5nIHRvcEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNl
VW5kZXJUb3BGcmFtZU9yaWdpbihET01TdHJpbmcgaG9zdE5hbWUsIERPTVN0cmluZyB0b3BGcmFt
ZUhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0VG8oRE9NU3RyaW5nIGhvc3ROYW1lLCBET01TdHJpbmcgaG9zdE5hbWVSZWRpcmVjdGVkVG8p
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAppbmRleCBlN2FkMDE1ZjM3ZWJhY2FmOWI0ZjJjOTNlNWJjZDRlZTJj
YmU2YzIzLi45MDk5YmM0MTQ1ZTc0OGI1ZGY4NDBlYTAxYzc0MzdhNGY5ZjU2N2IwIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcApAQCAtMzQ2LDYgKzM0NiwxMCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRS
ZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbQog
ICAgICAgICBtX3Rlc3RSdW5uZXItPnN0YXRpc3RpY3NDYWxsRGlkU2V0RGVidWdNb2RlQ2FsbGJh
Y2soKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9V
VEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkNhbGxEaWRTZXRVc2VJVFBEYXRhYmFzZSIpKSB7Cisg
ICAgICAgIG1fdGVzdFJ1bm5lci0+c3RhdGlzdGljc0NhbGxTZXRVc2VJVFBEYXRhYmFzZUNhbGxi
YWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgCiAgICAgaWYgKFdLU3RyaW5nSXNF
cXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJDYWxsRGlkU2V0UHJldmFsZW50UmVzb3Vy
Y2VGb3JEZWJ1Z01vZGUiKSkgewogICAgICAgICBtX3Rlc3RSdW5uZXItPnN0YXRpc3RpY3NDYWxs
RGlkU2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGVDYWxsYmFjaygpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5k
ZXggYmE1OTkzYzdhMjIyZmIzMGE3YzA3NTRjZGJhNzU5NmEyYjgxMzliYi4uMDczOTE2Mzc3Njkw
ODUxYzA5Mzk0MDc3ZDk1ZDcxYmE2ZmZhMDkyMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC03NTAsNiArNzUwLDcg
QEAgZW51bSB7CiAgICAgVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJhY2tJRCwKICAgICBU
ZXh0RmllbGREaWRFbmRFZGl0aW5nQ2FsbGJhY2tJRCwKICAgICBDdXN0b21NZW51QWN0aW9uQ2Fs
bGJhY2tJRCwKKyAgICBTZXRTdGF0aXN0aWNzVXNlSVRQRGF0YWJhc2VDYWxsYmFja0lELAogICAg
IEZpcnN0VUlTY3JpcHRDYWxsYmFja0lEID0gMTAwCiB9OwogCkBAIC0xNzg5LDE0ICsxNzkwLDIx
IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdS
ZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNz
YWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0
KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpz
ZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlKQordm9pZCBUZXN0UnVubmVyOjpzZXRVc2VJVFBE
YXRhYmFzZShib29sIHZhbHVlLCBKU1ZhbHVlUmVmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAg
IGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKFNldFN0YXRpc3RpY3NVc2VJVFBEYXRhYmFzZUNhbGxi
YWNrSUQsIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAKICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJTZXRVc2VJVFBEYXRhYmFzZSIpKTsKICAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IG1l
c3NhZ2VCb2R5ID0gYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUodmFsdWUpKTsKICAgICAKICAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigp
LmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIp
OwogfQogCit2b2lkIFRlc3RSdW5uZXI6OnN0YXRpc3RpY3NDYWxsU2V0VXNlSVRQRGF0YWJhc2VD
YWxsYmFjaygpCit7CisgICAgY2FsbFRlc3RSdW5uZXJDYWxsYmFjayhTZXRTdGF0aXN0aWNzVXNl
SVRQRGF0YWJhc2VDYWxsYmFja0lEKTsKK30KKwogYm9vbCBUZXN0UnVubmVyOjppc1N0YXRpc3Rp
Y3NHcmFuZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lKQogewogICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoIklzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQiKSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IGMxZjEyNGYz
YjEzY2FlOTFhODliN2NiODYyNWJiNDgyMjkyZDBiODMuLjUyZmZjYzdlZDBjZTZlMDJkYzFkNDgy
NmVkYzJiMWExMjQ2ZTk3MWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC00MTMsNyArNDEzLDggQEAgcHVibGljOgogICAg
IGJvb2wgaXNTdGF0aXN0aWNzT25seUluRGF0YWJhc2VPbmNlKEpTU3RyaW5nUmVmIHN1Ykhvc3Qs
IEpTU3RyaW5nUmVmIHRvcEhvc3QpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVy
ZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdmFsdWUpOwogICAgIGJvb2wgaXNTdGF0aXN0
aWNzR3JhbmRmYXRoZXJlZChKU1N0cmluZ1JlZiBob3N0TmFtZSk7Ci0gICAgdm9pZCBzZXRVc2VJ
VFBEYXRhYmFzZShib29sIHZhbHVlKTsKKyAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKGJvb2wg
dmFsdWUsIEpTVmFsdWVSZWYgY29tcGxldGlvbkhhbmRsZXIpOworICAgIHZvaWQgc3RhdGlzdGlj
c0NhbGxTZXRVc2VJVFBEYXRhYmFzZUNhbGxiYWNrKCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
U3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBKU1N0cmlu
Z1JlZiB0b3BGcmFtZUhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVPcmlnaW4oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIEpTU3RyaW5nUmVmIHRv
cEZyYW1lSG9zdE5hbWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc1N1YnJlc291cmNlVW5pcXVl
UmVkaXJlY3RUbyhKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNTdHJpbmdSZWYgaG9zdE5hbWVSZWRp
cmVjdGVkVG8pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBlOWQ0MjhlODM0ZjZkY2NkZTk3M2UyZWVlOGI1MjJmODkzNGZkMDYxLi5lYTlkMDA1M2MwM2U5
MWE0YzU0ZGZhOTc5OGY5ODc1ZTBiYWQ4ZGYwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzM4Miw3ICszMzgyLDEwIEBAIGJvb2wgVGVzdENvbnRyb2xs
ZXI6OmlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoV0tTdHJpbmdSZWYgaG9zdCkKIAogdm9pZCBU
ZXN0Q29udHJvbGxlcjo6c2V0VXNlSVRQRGF0YWJhc2UoYm9vbCB2YWx1ZSkKIHsKLSAgICBXS1dl
YnNpdGVEYXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZShUZXN0Q29udHJvbGxlcjo6d2Vic2l0ZURh
dGFTdG9yZSgpLCB2YWx1ZSk7CisgICAgUmVzb3VyY2VTdGF0aXN0aWNzQ2FsbGJhY2tDb250ZXh0
IGNvbnRleHQoKnRoaXMpOworICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNl
KFRlc3RDb250cm9sbGVyOjp3ZWJzaXRlRGF0YVN0b3JlKCksIHZhbHVlLCAmY29udGV4dCwgcmVz
b3VyY2VTdGF0aXN0aWNzVm9pZFJlc3VsdENhbGxiYWNrKTsKKyAgICBydW5VbnRpbChjb250ZXh0
LmRvbmUsIG5vVGltZW91dCk7CisgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+ZGlkU2V0VXNlSVRQ
RGF0YWJhc2UoKTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZy
YW1lVW5kZXJUb3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiB0b3BG
cmFtZUhvc3QpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4
IDhmZTkyNzljZmVmMTBiNDlhNDYzZWQyNjIyMmQ2YzYwMDI3NDI3M2MuLjI2ZTRkOGY5OGNkMTNk
MGI0Yjg0MjBjMWMyMTNiZjM2MjEzZWIyYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwCkBAIC0xODQzLDYgKzE4NDMsMTIgQEAgdm9pZCBUZXN0SW52b2NhdGlv
bjo6ZGlkU2V0U3RhdGlzdGljc0RlYnVnTW9kZSgpCiAgICAgV0tQYWdlUG9zdE1lc3NhZ2VUb0lu
amVjdGVkQnVuZGxlKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5w
YWdlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCAwKTsKIH0KIAordm9pZCBUZXN0SW52b2NhdGlvbjo6
ZGlkU2V0VXNlSVRQRGF0YWJhc2UoKQoreworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBt
ZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkNhbGxE
aWRTZXRVc2VJVFBEYXRhYmFzZSIpKTsKKyAgICBXS1BhZ2VQb3N0TWVzc2FnZVRvSW5qZWN0ZWRC
dW5kbGUoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSwg
bWVzc2FnZU5hbWUuZ2V0KCksIDApOyAgICAKK30KKwogdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlk
U2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoKQogewogICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIkNhbGxEaWRTZXRQcmV2YWxlbnRSZXNvdXJjZUZvckRlYnVnTW9kZSIpKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAppbmRleCBhMjY1ZWI5YjI2ZTk0ZDFlNGE4
ZmZkY2VmNWRlMjk0Mzk1MWJiNDA1Li5mY2RjOTU0ZmM4NzQ5YWI4YWU2NDhjM2I0NGNlNjQzOGMy
ZDYzMWRjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC03Nyw2
ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlc2V0U3RhdGlzdGljc1RvQ29uc2lzdGVu
dFN0YXRlKCk7CiAgICAgdm9pZCBkaWRTZXRCbG9ja0Nvb2tpZXNGb3JIb3N0KCk7CiAgICAgdm9p
ZCBkaWRTZXRTdGF0aXN0aWNzRGVidWdNb2RlKCk7CisgICAgdm9pZCBkaWRTZXRVc2VJVFBEYXRh
YmFzZSgpOwogICAgIHZvaWQgZGlkU2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoKTsK
ICAgICB2b2lkIGRpZFNldExhc3RTZWVuKCk7CiAgICAgdm9pZCBkaWRNZXJnZVN0YXRpc3RpYygp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDc2MjU3MGU4MmE0OGI3N2U5ODgzM2M5NmFjMGU5YmE2NDIzZTk2NTIuLmY4MzM0
ZTVkMTdkY2MwYzcwOGYyNTBhNDNhZjdlNjU0MTg2NTcxY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTUg
QEAKKzIwMTktMTAtMTYgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+
CisKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUoKSBzaG91bGQgY2FsbCBzdG9yZS5zZXRVc2VJVFBEYXRhYmFzZShmYWxzZSkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzAyMAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTYzMTQ0ODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBjb21wbGV0aW9uIGhhbmRsZXIgdG8gc2V0VXNl
SVRQRGF0YWJhc2UoKSB0byBhdm9pZCByYWNlCisgICAgICAgIGNvbmRpdGlvbnMuIE1vZGlmaWVk
IGNhbGxpbmcgc2l0ZXMgdG8gdXRpbGl6ZSBjb21wbGV0aW9uIGhhbmRsZXIuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGly
ZWN0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXAtY2FjaGUt
bWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29v
a2llLXNldC1pbi1qcy1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0
aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2ll
LXNldC1pbi1qcy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0
YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQt
ZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1j
b29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1k
YXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29y
YXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdp
bnMtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5k
ZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRh
YmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0
LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJl
ZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9w
LWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQt
YmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3Rl
bnQtc3RvcmUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3Vy
LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Nvb2tpZS1kZWxldGlvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9kZWxldGUtc2NyaXB0LWFjY2Vzc2libGUtY29va2llcy1kYXRhYmFzZS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtYmxv
Y2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUtc3RhdGlz
dGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5n
LWluLXJlZGlyZWN0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXBy
ZXZhbGVudC13aXRob3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5h
dmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNl
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJs
ZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5v
dC1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0
YXRpc3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJj
ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1j
b29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRhYmFzZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxo
b3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNl
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgt
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRh
dGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BpbmctdG8tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVk
LWtleWRvd24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNl
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNl
LXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
b3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJl
dmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2lu
LWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRv
LW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3aXRjaC1zZXNz
aW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1l
dHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJh
dGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3Jp
Z2luLXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRo
aW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRl
ci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1kYXRhYmFz
ZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2Ut
YWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRpc21pc3MtZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1w
cmVzZXJ2ZS1nZXN0dXJlLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2Uu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtc3RvcmFnZS1h
Y2Nlc3MtdW5kZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC1wcmVz
ZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRl
ZmF1bHQtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
aGFzLXN0b3JhZ2UtYWNjZXNzLWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vz
cy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vz
cy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWRhdGFiYXNlLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRo
aXJkLXBhcnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJh
c2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQt
Z3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFu
dC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRo
LXVzZXItaW50ZXJhY3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50
LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21h
aW4td2l0aC11c2VyLWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRh
YmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxl
bnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mt
b3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1u
ZXN0ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLWRldGFjaC1zaG91bGQtbm90LWhh
dmUtYWNjZXNzLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hv
dWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1l
LXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2Uu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdl
LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRoLXVuaXF1ZS1vcmlnaW4t
ZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFs
bG93LXRva2VuLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
d2l0aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1pZnJhbWUt
ZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1h
Y2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRh
dGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qt
c3RvcmFnZS1hY2Nlc3MtdG9wLWZyYW1lLWRhdGFiYXNlLmh0bWw6CisKIDIwMTktMTAtMTYgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZHVwbGljYXRlIE1h
dGhNTCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10by1yZWRpcmVjdC1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10
by1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCmluZGV4IDAxZDYzYTUxNjg3OGEwODM4ZDI5OGU3NjNl
MDNkMmViODQ2YTA5OWQuLmQ2ZjQ2NjdiZjBhNGRjNDlkM2ViMTdmYTRlMzUxMTVjNGE0YzI0Y2Qg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGly
ZWN0LWRhdGFiYXNlLmh0bWwKQEAgLTg4LDEzICs4OCwxNCBAQAogICAgIH0KIAogICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRo
ZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVz
QXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsK
LSAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7CisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAgICAgICAgICBydW5UZXN0KCk7CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcnVuVGVzdCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2Jsb2NraW5nLWluLXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Jsb2NraW5nLWlu
LXdlYi13b3JrZXItc2NyaXB0LWltcG9ydC1kYXRhYmFzZS5odG1sCmluZGV4IGNjMjAxMDg1MTA2
NWFjYTg0YTJhMmY4ZTk5NzkwNzgxODU3ZmIxOWIuLjlkM2Q5YzAwY2QxYjFhOGEzNjIxMjgwYzhk
MWM4YTAwMjQ0YWU2NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ibG9ja2luZy1pbi13ZWItd29ya2VyLXNjcmlwdC1pbXBvcnQtZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvYmxvY2tpbmctaW4td2ViLXdvcmtlci1zY3JpcHQtaW1wb3J0LWRhdGFiYXNlLmh0bWwK
QEAgLTcyLDEzICs3MiwxNCBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBwYXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAi
c3RlcDEiOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsK
LSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9z
dCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0
YXJ0cy4iKTsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxk
RnJhbWVzQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCisgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVz
b3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKKyAgICAgICAgICAgICAgICBydW5UZXN0
KCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
cnVuVGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXAtY2FjaGUtbWF4LWFnZS1mb3ItcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwK
aW5kZXggMjY0YTQ1MThhODMzOTQ2MDkwNzMzMzczZjFmNjAyMTYzYWFiOTMyYS4uZjEyNmQ4NDZi
OTlkYTY4NzkwY2VkM2VlYmFjMzNhZmVjZGI4MmYyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcC1jYWNoZS1tYXgtYWdlLWZvci1w
cmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwLWNhY2hlLW1heC1hZ2UtZm9yLXByZXZhbGVu
dC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCkBAIC05OCwxNCArOTgsMTUgQEAKICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgIH0pOwogICAg
IH0KLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIpOworICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKKyAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
IGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0NhY2hlTWF4QWdlQ2FwKDApOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmco
Zmlyc3RGZXRjaCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NDYWNoZU1h
eEFnZUNhcCgwKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IiwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZmlyc3RG
ZXRjaCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRp
bWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtZGF0YWJhc2UuaHRtbAppbmRleCBlMmZmZDA0MWFlMzJk
ZTI4NjAzYjgxOTEwMzBjZThhMzA1ZDI2MjZiLi42YzNmNzcxNzc4YzkyYjkyNTA2MWQ0MGYxYjA4
N2ExMTVmNDQwYjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLWRhdGFi
YXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy1kYXRhYmFzZS5odG1sCkBA
IC04LDcgKzgsNyBAQAogPHNjcmlwdD4KICAgICBkZXNjcmlwdGlvbigiQ2hlY2sgdGhhdCBjb29r
aWVzIGNyZWF0ZWQgYnkgSmF2YVNjcmlwdCB3aXRoIG1heC1hZ2Ugb3IgZXhwaXJ5IGxvbmdlciB0
aGFuIGEgd2VlayBnZXQgY2FwcGVkIHRvIGEgd2Vlay4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLSAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOworICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeyB9KTsKIAogICAgIGlm
IChpbnRlcm5hbHMpCiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RW5hYmxlZCh0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0
aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29r
aWUtc2V0LWluLWpzLXdpdGgtbGluay1kZWNvcmF0aW9uLXNhbWUtc2l0ZS1kYXRhYmFzZS5odG1s
CmluZGV4IGVkMDk5OTFiM2ZhOGFjZDQ4MTk5YTg1MzIzNGQyNWFiMjg5MTVkYzAuLjcxZjNkZDlj
MmNkZGIxZmI3ZDk0MGUwODcxOGY0MDJkMTQ5YWNiMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNv
b2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWRlY29yYXRpb24tc2FtZS1zaXRlLWRhdGFiYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nh
cHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRoLWxpbmstZGVjb3JhdGlvbi1z
YW1lLXNpdGUtZGF0YWJhc2UuaHRtbApAQCAtNjgsMTQgKzY4LDE0IEBACiAgICAgY29uc3QgcHJl
dmFsZW50UmVzb3VyY2VPcmlnaW4gPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKICAgICBmdW5j
dGlvbiBydW5UZXN0KCkgewogICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09
PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAi
I2ZyYWdtZW50IikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHByZXZhbGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHBy
ZXZhbGVudFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmco
bmF2aWdhdGVDcm9zc09yaWdpbik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRy
dWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlT3JpZ2luKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3NzT3Jp
Z2luKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7Ci0KICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGVzdENvb2tpZXMo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdt
ZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29r
aWUtc2V0LWluLWpzLXdpdGgtbGluay1mcmFnbWVudC1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1k
YXRhYmFzZS5odG1sCmluZGV4IDVjODRmYjg5NGY5OWIzMjdjMTc3M2UyMDA3ZGMxMGQ5MWMyYTg3
OTkuLmNjMzg5OGI5YjZkMTQ0NzUxNzQzMjJlZmZmNTUxYjAxZTViNmIzMmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlm
ZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLWZyYWdtZW50LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1q
cy13aXRoLWxpbmstZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRt
bApAQCAtODMsMTQgKzgzLDE1IEBACiAgICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4g
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9y
aWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVu
dFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdh
dGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNv
dXJjZU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVz
b3VyY2VPcmlnaW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5h
dmlnYXRlQ3Jvc3NPcmlnaW4pOworICAgICAgICAgICAgICAgICAgICB9KTsKIAorICAgICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICB0ZXN0Q29va2llcygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13
aXRoLWxpbmstcXVlcnktYW5kLWZyYWdtZW50LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1hbmQt
ZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAppbmRleCAzNTkx
ZWI0ZTk1OGZiMWI1MGRiN2Y4MjJhMjAwZWNjYzY3MzgyNDE2Li43MmU0ZjM1MWIyYWMyOTQ0YjQx
MDExNzRkMjcyZTBlN2ExY2Q4OWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWlu
LWpzLXdpdGgtbGluay1xdWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2Ut
ZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1x
dWVyeS1hbmQtZnJhZ21lbnQtZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbApA
QCAtODMsMTQgKzgzLDE1IEBACiAgICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4gPSAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgICAg
ICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdp
bikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVu
dFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdhdGVD
cm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3Vy
Y2VPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291
cmNlT3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZp
Z2F0ZUNyb3NzT3JpZ2luKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAKKyAgICAgICAgICAg
ICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
dGVzdENvb2tpZXMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0
aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1l
LWZvci1jb29raWUtc2V0LWluLWpzLXdpdGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNv
dXJjZS1kYXRhYmFzZS5odG1sCmluZGV4IDI1ZjA5NzZiMjQ4NjY2Njg5YzE4MWFhNTk1ZjBjMThm
ZjZhZjA1MGIuLjc5YmEyOGZmMzkzZmEzMTIwZjE3Y2QyYjU2OTg5YzAzZjM0MGU1YTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBw
ZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJl
dmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBlZC1saWZldGltZS1mb3ItY29va2llLXNldC1p
bi1qcy13aXRoLWxpbmstcXVlcnktZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRt
bApAQCAtODMsMTQgKzgzLDE1IEBACiAgICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VPcmlnaW4g
PSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIjsKICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewogICAg
ICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNvdXJjZU9y
aWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZh
bGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVu
dFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcobmF2aWdh
dGVDcm9zc09yaWdpbik7Ci0gICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVz
b3VyY2VPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlT3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhu
YXZpZ2F0ZUNyb3NzT3JpZ2luKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAKKyAgICAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgdGVzdENvb2tpZXMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jYXBwZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMt
d2l0aG91dC1saW5rLWRlY29yYXRpb24tZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jYXBw
ZWQtbGlmZXRpbWUtZm9yLWNvb2tpZS1zZXQtaW4tanMtd2l0aG91dC1saW5rLWRlY29yYXRpb24t
ZnJvbS1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbAppbmRleCBhZTQ3YjQ5NDg3ZTg5
NjcyOWQwYTRiNzc3MGI1MWQ3ODNmNGU4Y2YwLi4yMTZlYzljZjVjNThjN2Q0ZWMyMGFiNDAxOWZh
Zjk2N2MxYTgwZjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2FwcGVkLWxpZmV0aW1lLWZvci1jb29raWUtc2V0LWluLWpzLXdpdGhv
dXQtbGluay1kZWNvcmF0aW9uLWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NhcHBl
ZC1saWZldGltZS1mb3ItY29va2llLXNldC1pbi1qcy13aXRob3V0LWxpbmstZGVjb3JhdGlvbi1m
cm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCkBAIC02OCwxNCArNjgsMTUgQEAK
ICAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAiOwogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5vcmlnaW4gPT09IHByZXZhbGVudFJlc291cmNlT3JpZ2luKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxl
RmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4pKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3NzT3JpZ2luKTsKLSAgICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4pKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKG5hdmlnYXRlQ3Jvc3NPcmlnaW4pOwor
ICAgICAgICAgICAgICAgICAgICB9KTsKIAorICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB0ZXN0Q29va2llcygpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFz
ZS5odG1sCmluZGV4IDRlMDNmZDg3MTJlZjllZGM5YjE4NjJmNjM2ZDFlNzRlYTY4OGQ4NDQuLmE3
ZDhiY2ZmMGY4YTBjNGY0ZDlmY2VhYTBjZDVmMjg1MmU0OWQ1MjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24t
cHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMt
bm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKQEAg
LTQyLDEwICs0MiwxMSBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0
ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICB9KTsKICAg
ICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5v
bi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRh
dGFiYXNlLmh0bWwKaW5kZXggYjg1NDA5MDhlZDgwZDEzNGU3MzgwNDk2YTI3NTA1YWQwMDVjOTdi
YS4uNDUwM2JmYjhkY2M3ZGJhMGVlMWYwMjJjZmVlYTQ0MDNkZTQ3YmNhMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKQEAgLTQzLDEwICs0MywxMSBAQAog
ICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0
ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNl
ZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCmlu
ZGV4IDE2MTEyMGE4NTkzMTIxMTQwNzJkNDcyOWIzNmJhMGExNzdmM2RjNDEuLmJjMTRiNGQ0Nzdj
OGE2ZGE1ZDA3NTE3NjM1NmE1ZmI2YTUxZDIzMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50
LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbApAQCAtNDAsMTAgKzQwLDExIEBACiAgICAgfQogCiAg
ICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKHRy
dWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCmluZGV4IDFhNWE1ZDRiZGE0ZTRm
ZGVlZDE4NmEzZjA4ODEyZmI4ZTI4NmQ1OTAuLmY1NzAxNTE3ZDY2YzBhZThlNjZkNGFiZDY4Yjg5
YzA1NTFhOTdiODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291
cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVu
dC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRhdGFiYXNlLmh0bWwK
QEAgLTQxLDExICs0MSwxMSBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5o
b3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIGludGVybmFscy5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5l
clRlc3QoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZShmYWxzZSk7Cisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9z
Y3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlz
dGljcy1kYXRhYmFzZS5odG1sCmluZGV4IDM4OTczMTlhYjBmYjEwMDA1NWE5MzVkNGE5NTJiMmFi
OTk0NDgzMzYuLjc5MzNhNmU2NGFhMmRkYzNlMmViMGJkY2EyODk3MzcyZjRiMTViYWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1s
CkBAIC01MiwxMCArNTIsMTEgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5u
ZXJUZXN0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVu
Y3Rpb24gKCkgeworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgfSk7
CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXBy
ZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMtZGF0YWJh
c2UuaHRtbAppbmRleCA3ZWE3NjIwMGRhMmZmYjFhMDA1NWE4YTE5OGFlMjc4M2UyZWIzZjUzLi45
MmU0ZmEyMzVjMTU0ODdjODQ1MmFjYjZmZTM4ZjhjZmY0MGQxNmI4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJl
dmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFz
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFt
ZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKQEAgLTQ3LDEwICs0NywxMSBAQAogICAgIH0KIAogICAg
IGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50
ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVl
KTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBydW5UZXN0UnVu
bmVyVGVzdCgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVzaW9u
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0
LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sCmluZGV4IGU0YmZiMmYyNTc3Y2JjYmRmM2MxZjRjMTRh
NDZhOWFhZDYxNmY3YWUuLmJmZjM3YmIwYjk2MzlkNDc1YTUzMDU1OWZlNzljNWUyZmY5YmJlYzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29s
bHVzaW9uLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJj
ZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbApAQCAtNTQsMTUgKzU0LDE2IEBACiAg
ICAgfQogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3Qg
JiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpwqB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7Ci0gICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29uY2xpY2suaHRtbCI7
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKcKgeworICAgICAgICAgICAgICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQg
c2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgIGxl
dCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gcnVuVGVzdDsKKyAgICAgICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL29uY2xpY2suaHRtbCI7
CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxl
bWVudCk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRp
cmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3Vi
cmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50LWRhdGFiYXNlLmh0bWwKaW5kZXggNTU4MGE1
OWY2OWFlMGU3MDllNTA0MGViZjM1MDc3MmE2ZGY4YmY0Zi4uNDgxMWFmZmY2ZmExYzU0NTNiMmU3
NTk4YzcyOTkxNjEyY2UwNmRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJy
ZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5o
dG1sCkBAIC0zNSwxNCArMzUsMTUgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUs
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKIAotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMt
ZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9w
LWZyYW1lLW9yaWdpbnMtZGF0YWJhc2UuaHRtbAppbmRleCAyZDAxZWE2YmMyNDkzNzU5MmYwZTg5
Njc2MTVjOTljNWM4ZGMzZmE2Li5kNzFjNmY5NDhmMjBjNDQ3MjdhNTFmYWM5ZmM2ZGQ0ZGMwMGZl
OWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRv
cC1mcmFtZS1vcmlnaW5zLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1z
dWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy1kYXRhYmFzZS5odG1sCkBAIC00Nywx
MCArNDcsMTEgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0g
aG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgfSk7CiAgICAgfQog
PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJl
c291cmNlLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFz
ZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCmluZGV4
IDc4ZjdmMTM5MWM2MjFkZTg2NmUxYmQyM2IwMWJkYTMzMmQwZDlmMzcuLmQ2NjJiZmY4YmE4ZTBi
OTIwMDE4YTk3MmVjZmU1ZDQ4NjEwYTYyYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by1kYXRhYmFz
ZS5odG1sCkBAIC00NywxMCArNDcsMTEgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAg
ICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNpb24tZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5o
dG1sCmluZGV4IDRhOTgzYmMwNmQzNTBlZDU2NTUyNDAyZGZjZmQzMzQ1OWM2MDVjZWQuLjY2MGI5
Zjc5NTRjNTBlZDgwMjdmY2M2ZTgyOWFkYjQ5M2YzOGI4MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxl
bnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRhYmFzZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lvbi1kYXRh
YmFzZS5odG1sCkBAIC01MywxMyArNTMsMTQgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9PT0gIiIgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFs
c2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291
cmNlLiIpOworICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCwgZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBn
ZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdG9wRnJhbWVPcmlnaW41ICsgInJlc291cmNlTG9hZFN0
YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNl
ZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLmh0bWwjY29udGludWUiOworICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdG9wRnJhbWVPcmlnaW41ICsg
InJlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD9yZWRpcmVjdFRv
PWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLmh0bWwjY29u
dGludWUiOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0p
OwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFt
ZS1yZWRpcmVjdC10by1wcmV2YWxlbnQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQt
b24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sCmluZGV4IDI5
MmM3NTE2ODg5NzE1OTUzNTRlNjIwNjRlOTgzODMzMGVmY2FlOTQuLjk5Zjk0ZDVjMTRmZjU2Mjhh
YTE5NjY0ZmQwMmZmMmYwMThiZGVkYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2
YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVudC1kYXRhYmFzZS5o
dG1sCkBAIC0zNSwxNCArMzUsMTUgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUs
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKIAotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2Us
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNl
LiIpOwotICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1h
cy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8tZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMt
dG8tZGF0YWJhc2UuaHRtbAppbmRleCA1YzRjN2VlNWY2YzNmZWE2NTYxM2Y4NTgzNjI3YTRjOTg1
MDMxNWRiLi41NWUzNWExYzRkMGMzMTJkM2EzNjRlMWYyYWVhZGU1ZTgyNTQzOTg3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLWRh
dGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtdW5pcXVlLXJl
ZGlyZWN0cy10by1kYXRhYmFzZS5odG1sCkBAIC00MCwxNCArNDAsMTUgQEAKICAgICB9CiAKICAg
ICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotCi0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKwor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICAgICAgICAgICAgICBy
dW5UZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0
YXRpc3RpY3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1z
dGF0aXN0aWNzLWRhdGFiYXNlLmh0bWwKaW5kZXggYWIwNmZhMjA5ZWRiYjZmMTE4OGFmZjdkMTYw
NjMwNDAyN2FiYjE3ZS4uMjZjZjA1YzBjZWFjNGI5MjZmNDBhZTkwOWY5ZDc5MjE4OWI1NDNjZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MtZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGlj
cy1kYXRhYmFzZS5odG1sCkBAIC01OCw4ICs1OCw5IEBACiAgICAgfQogCiAgICAgaWYgKGRvY3Vt
ZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIg
JiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJU
ZXN0KTsKKyAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4t
bWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJz
aXN0ZW50LXN0b3JlLWRhdGFiYXNlLmh0bWwKaW5kZXggMjE3ZWJhYmFkOTE3YWFkNDk5MDMzODFl
YTM1MjNlMjA2MmJhZWIwYS4uYTZmYWNhZjk3N2I5MjA1MzY2MjgzNjgwYWM3YWExYmYxMjUzM2Ez
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1kYXRhYmFzZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1p
bi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtZGF0YWJhc2UuaHRtbApAQCAtNTcsOSArNTcs
MTAgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRl
c3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICAgICAgfSk7CiAg
ICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lz
dGVudC1zdG9yZS1vbmUtaG91ci1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1z
dG9yZS1vbmUtaG91ci1kYXRhYmFzZS5odG1sCmluZGV4IGE2YmIwNjVlMzdiZGEyNDQ4MDQzMzcy
MzQ1NWZlOGY3ZDg2OTY4YzAuLmUyNDg3Y2VmMTE0NjgwNjY2N2I1MDkwYWRmNDc0ZmRlNTZiNTZj
NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXItZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9uZS1ob3VyLWRhdGFiYXNl
Lmh0bWwKQEAgLTU1LDkgKzU1LDEwIEBACiAgICAgfQogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUp
OwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsK
KyAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWUt
ZGVsZXRpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb29raWUtZGVsZXRpb24tZGF0YWJhc2UuaHRtbAppbmRleCBlODM0ZTg3
MzA4YTAzOGQ0MjQ2MmIxMjExMmU0ZWJjMTQ1NTlkZWU2Li5lNzhlZGExZmVmMzg4ZDI4YmY1MjI5
NThlYTNjOWE0OGE3M2M2NGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLWRhdGFiYXNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxl
dGlvbi1kYXRhYmFzZS5odG1sCkBAIC05NywxNSArOTcsMTYgQEAKICAgICB9CiAKICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRz
UmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NNaW5p
bXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CisgICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVt
b3ZhbChmYWxzZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWlu
aW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwogCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwMSI7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hp
bGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gInN0ZXAxIjsKIAotICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAgICAgIHJ1
blRlc3QoKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9IGVsc2UgewogICAg
ICAgICBydW5UZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sCmluZGV4IDljN2EzOWM3M2U5ZjE1YzY2NTBhMTc2YjNlYzkxOGMxYjVmZjY1YmEuLjNk
YzY4MzQ2ODE4ZjQzZmY2MzEyMTUxZTAwMDU4MzVlYWI4Yzk5MzAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5k
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhv
dXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCkBAIC02NywxNCArNjcsMTUgQEAKICAg
ICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAm
JiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDEiOwotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBi
ZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwotICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENo
aWxkRnJhbWVzQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFz
aCA9ICJzdGVwMSI7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCisgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKKyAgICAgICAgICAgICAgICBydW5UZXN0KCk7
CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcnVu
VGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2RlbGV0ZS1zY3JpcHQtYWNjZXNzaWJsZS1jb29raWVzLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNj
cmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbAppbmRleCA2MGZjNTM3N2Q3ZGVl
NjA0Mjk5MGJlMGMyZGJmYjc0NWFlMDVjZDU5Li40ZGFkYWE0MjJmNzk3MDQ4ZDMxZWUwMjQ2ZDkz
YjZmN2Q4ZThmMWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZGVsZXRlLXNjcmlwdC1hY2Nlc3NpYmxlLWNvb2tpZXMtZGF0YWJhc2UuaHRtbApAQCAtNTMsNyAr
NTMsNyBAQAogICAgICAgICAgICAgdGVzdEZhaWxlZCgiTm8gdGVzdFJ1bm5lciBvciBubyBpbnRl
cm5hbHMuIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7fSk7CiAgICAgICAgIGF3YWl0IGZldGNoKCIv
Y29va2llcy9yZXNvdXJjZXMvc2V0LWh0dHAtb25seS1jb29raWUucGhwP2Nvb2tpZU5hbWU9IiAr
IGh0dHBPbmx5Q29va2llTmFtZSwgeyBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAg
ICAgICAgYXdhaXQgZmV0Y2goIi9jb29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaSIsIHsg
aGVhZGVyczogeyAiU2V0LUNvb2tpZSI6IHNlcnZlclNpZGVDb29raWVOYW1lICsgIj0xOyBwYXRo
PS87IiB9LCBjcmVkZW50aWFsczogInNhbWUtb3JpZ2luIiB9KTsKICAgICAgICAgZG9jdW1lbnQu
Y29va2llID0gY2xpZW50U2lkZUNvb2tpZU5hbWUgKyAiPTEiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3At
bGV2ZWwtbmF2aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1ibG9jay10b3AtbGV2ZWwtbmF2
aWdhdGlvbi1yZWRpcmVjdC1kYXRhYmFzZS5odG1sCmluZGV4IGQyMTllM2Q2ODkzMmJmZjE4YzVh
MDFjNTY4NGM0NGYzNzE2ZmRlODEuLmIxYmRmZDUyY2ViOTA0ZDM1N2FlYjdjMGRlYzQ2MTQ1NjNl
MGYxNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9kby1ub3QtYmxvY2stdG9wLWxldmVsLW5hdmlnYXRpb24tcmVkaXJlY3QtZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZG8tbm90LWJsb2NrLXRvcC1sZXZlbC1uYXZpZ2F0aW9uLXJlZGlyZWN0LWRhdGFiYXNlLmh0
bWwKQEAgLTEyLDE0ICsxMiwxNSBAQAogCiAgICAgZnVuY3Rpb24gZG9SZWRpcmVjdCgpCiAgICAg
ewotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IiwgdHJ1
ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwg
ZmluaXNoSlNUZXN0KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3Rl
cD0xIjsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZSgiaHR0cDovL2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRw
Oi8vbG9jYWxob3N0IikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CisgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaHJlZiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS1vbi1yZWRpcmVjdC5waHA/c3RlcD0xIjsKKyAgICAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8t
bm90LWNhcHR1cmUtc3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
LW5vdC1jYXB0dXJlLXN0YXRpc3RpY3MtZm9yLXNpbXBsZS10b3AtbmF2aWdhdGlvbnMtZGF0YWJh
c2UuaHRtbAppbmRleCBiODA5MzVhMjM3MGVkYmQ3NjkyNTEzMTliYWM5NDRmNzI4YmM3NmU2Li40
ODI1NGFiMDhjYTU4YWYzOGFkNjM5OGFiZGYzYWZlODMyNTA4M2U4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LWNhcHR1cmUt
c3RhdGlzdGljcy1mb3Itc2ltcGxlLXRvcC1uYXZpZ2F0aW9ucy1kYXRhYmFzZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kby1ub3QtY2Fw
dHVyZS1zdGF0aXN0aWNzLWZvci1zaW1wbGUtdG9wLW5hdmlnYXRpb25zLWRhdGFiYXNlLmh0bWwK
QEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgYSBu
b24tcmVkaXJlY3RlZCB0b3AgZnJhbWUgbmF2aWdhdGlvbiBkb2Vzbid0IGdldCBjYXB0dXJlZCBp
biBzdGF0aXN0aWNzLiIpOwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7IH0pOwogICAgIGxldCB0aW1lckhhbmRsZSA9IDA7CiAK
ICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxvY2tpbmctaW4t
cmVkaXJlY3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kby1ub3QtcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0LWRhdGFiYXNl
Lmh0bWwKaW5kZXggMzZkMzBhYWRlZjQ1NzdiODUyNDIzYzZhMjM2ZjNhYTM3MTlmMTAyZC4uOWRm
YzEzM2U0NDYxODQxMzMwMjgzNTgzNzA2YzA1MWU0YmM4OTgwZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvLW5vdC1yZW1vdmUtYmxv
Y2tpbmctaW4tcmVkaXJlY3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXJlbW92ZS1ibG9ja2luZy1pbi1yZWRp
cmVjdC1kYXRhYmFzZS5odG1sCkBAIC04NCwxMyArODQsMTQgQEAKICAgICB9CiAKICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRo
ZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVz
QXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsK
LSAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7CisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAgICAgICAgICBydW5UZXN0KCk7CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcnVuVGVzdCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RvLW5vdC1zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRo
b3V0LWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24t
dG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAppbmRleCA2YWJm
ZGI5YzQyYmUyMGE3Mzk2NjIyNDRlZWQ0ZDczNjQ4ZjVjMGQyLi42MzhkZWY0NmM1ODkxNjVjYzI3
MWQzOGU3MGEwN2I2MWVhMWMwMDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRp
b24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG8tbm90LXN3aXRj
aC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGhvdXQtaW50ZXJhY3Rpb24t
ZGF0YWJhc2UuaHRtbApAQCAtOTgsNyArOTgsNyBAQAogICAgICAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24ub3JpZ2luICE9PSBwcmV2YWxlbnRPcmlnaW4pCiAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJUZXN0IGlzIG5vdCBzdGFydGluZyBvdXQgb24gIiArIHByZXZhbGVudE9yaWdpbiArICIuIik7
CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rp
b24gKCkgeyB9KTsKICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7
CiAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShwcmV2YWxlbnRPcmlnaW4pKQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQocHJldmFsZW50
T3JpZ2luICsgIiB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRo
ZSB0ZXN0IHN0YXJ0cy4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9kb3duZ3JhZGVkLXJlZmVycmVyLWZvci1uYXZpZ2F0aW9uLXdp
dGgtbGluay1xdWVyeS1mcm9tLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVm
ZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291
cmNlLWRhdGFiYXNlLmh0bWwKaW5kZXggOWFlYmRlOTViZThhMDUyYWZmMzY3OWMwNjg4NWFlMTcw
MmUxZDc1NC4uNGU4NzI3Zjc1NzI1YjgwOTMwNzBmMjlmODk3Mjc3MDgzNDE0ZTQ1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25n
cmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24td2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFs
ZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rvd25ncmFkZWQtcmVmZXJyZXItZm9yLW5hdmlnYXRpb24t
d2l0aC1saW5rLXF1ZXJ5LWZyb20tcHJldmFsZW50LXJlc291cmNlLWRhdGFiYXNlLmh0bWwKQEAg
LTM3LDEyICszNywxMyBAQAogICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09
PSBwcmV2YWxlbnRSZXNvdXJjZU9yaWdpbiAmJiBkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2ggPT09
ICIiKSB7CiAgICAgICAgICAgICBuYXZpZ2F0ZVNhbWVPcmlnaW5Ub0FkZFF1ZXJ5KCk7CiAgICAg
ICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luID09PSBwcmV2YWxlbnRSZXNv
dXJjZU9yaWdpbikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHByZXZhbGVudFJlc291cmNlT3JpZ2luLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHBy
ZXZhbGVudFJlc291cmNlT3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmco
bmF2aWdhdGVDcm9zc09yaWdpbik7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VPcmlnaW4sIHRy
dWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJlc291cmNlT3JpZ2luKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhuYXZpZ2F0ZUNyb3NzT3Jp
Z2luKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9lbmFibGUtZGVidWctbW9kZS1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Vu
YWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWwKaW5kZXggNjM3ZmY5MjI1NjdmOWE0NzI4Mjcz
ZGZhNDczMjYzN2E0ODVjYjlmNS4uNTczZjg3MmIwOTk2YzU2ZTA3MjlkNTg1NWZmNjk5YjZkNDRi
MjQ3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2VuYWJsZS1kZWJ1Zy1tb2RlLWRhdGFi
YXNlLmh0bWwKQEAgLTEzLDE4ICsxMywxOSBAQAogICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4g
PSAiaHR0cDovLzNyZHBhcnR5dGVzdHdlYmtpdC5vcmciOwogCiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQodGhp
cmRQYXJ0eU9yaWdpbiArICIgYWxyZWFkeSBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwor
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhp
cmRQYXJ0eU9yaWdpbikpCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQodGhpcmRQYXJ0
eU9yaWdpbiArICIgYWxyZWFkeSBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NEZWJ1Z01vZGUodHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKHRoaXJkUGFydHlPcmlnaW4gKyAiIGRpZG4ndCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Ug
aW4gZGVidWcgbW9kZS4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NEZWJ1Z01vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOworICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9kZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCh0
aGlyZFBhcnR5T3JpZ2luICsgIiBkaWRuJ3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UgaW4gZGVidWcgbW9kZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzRGVidWdNb2RlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CisgICAgICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAg
ICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRt
bAppbmRleCBhYWYwYjg1N2YyZThjMDc0MWE1YTVjYzg0YTc4OTg3ZDNjNWM4NWY0Li4xODNkZDg2
MTA1MTA5NGFiYWMyZWJiN2E1Y2Q5YjE0ZmU2ODYxYjFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvZ3JhbmRmYXRoZXJpbmctZGF0YWJhc2UuaHRtbApAQCAtOTksMTUgKzk5LDE2IEBACiAgICAg
fQogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT09ICIiICYmIHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5
UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3Zh
bCgwKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNv
cmRzUmVtb3ZhbChmYWxzZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwogCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID0gInN0ZXAxIjsKLSAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAg
ICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9IGVsc2UKICAgICAgICAgcnVuVGVzdCgp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0
aWMtZG9lcy1ub3Qtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKaW5kZXggNGQ0YTI4MzY3YmY2YTQ3
MjA3YWNiNTlmYjFiMmE5OTNiZTBiYzgxMS4uYWE0MDMyZThmZGE4MWVlMzdmMmI1M2EyYmI5YTk2
MmQzNzcwM2ZlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW5vdC1vdmVyd3JpdGUtZGF0YWJhc2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bWVyZ2Utc3RhdGlzdGljLWRvZXMtbm90LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCkBAIC02Myw5
ICs2MywxMCBAQAogCiAgICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4oKSB7CiAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24g
KCkgewotICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAg
ICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGVzdEZhaWxlZCgibm8g
dGVzdFJ1bm5lciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL21lcmdlLXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL21lcmdl
LXN0YXRpc3RpYy1kb2VzLW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCmluZGV4IDFhMTk5NDk0NTdl
MmM3NjhhNDA3ZGExNTAwMjUzY2JhYjJjYmZmZGMuLmI1YjQ3ODJjYzAwY2EwMzY4OTdjZDYxMjU4
NTJjZTM4NzQ2YjEwMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1vdmVyd3JpdGUtZGF0YWJhc2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bWVyZ2Utc3RhdGlzdGljLWRvZXMtb3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKQEAgLTgxLDkgKzgx
LDEwIEBACiAKICAgICBmdW5jdGlvbiBzZXRVcEFuZFJ1bigpIHsKICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
ICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJubyB0ZXN0
UnVubmVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFydGlhbGx5LW92ZXJ3cml0ZS1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L21lcmdlLXN0YXRpc3RpYy1kb2VzLXBhcnRpYWxseS1vdmVyd3JpdGUtZGF0YWJhc2UuaHRtbApp
bmRleCBhYjNjNzJiNTY0YmYwNjM0NjIzY2VkMGQyYjI3NDE4ZDgzYTM5YTE1Li45MWJhMWFmNzFj
OWE2NTJhYjdmZWNlNjVhMTYxODUyMTgyZDViMGIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbWVyZ2Utc3RhdGlzdGljLWRvZXMtcGFy
dGlhbGx5LW92ZXJ3cml0ZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9tZXJnZS1zdGF0aXN0aWMtZG9lcy1wYXJ0aWFsbHkt
b3ZlcndyaXRlLWRhdGFiYXNlLmh0bWwKQEAgLTc0LDkgKzc0LDEwIEBACiAKICAgICBmdW5jdGlv
biBzZXRVcEFuZFJ1bigpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgcnVu
VGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICBydW5UZXN0UnVubmVyVGVz
dCgpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJubyB0ZXN0UnVubmVyIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZh
bGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJl
c291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmluZGV4IGQ5N2U4MGZk
NjY0ZWUxZWE4MDM4ZDllODcyYzczOTU3MjkwZjUxMWYuLjgxNzFjNTQ2MDFjZGUyZmM3ZTJjNTc1
OTkxYTk2YzkxMmU2Y2ViODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1kYXRhYmFzZS5odG1sCkBAIC01MywxMSArNTMsMTIgQEAKICAgICB9CiAKICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQ
RGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCh0cnVlKTsKLSAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOworICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgICAg
ICB9KTsKICAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNl
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCmluZGV4IDZiY2U5OTA0NWYw
YTNlY2NkYmFkMTg3ODdlZWQ4ZmZmNjY1N2ZmNjUuLjc0NDFhMTc5Yjc5OWI1NTRmNDYyNTViMWUx
ZWNiZmIwYTllYzY0NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRl
cmFjdGlvbi1kYXRhYmFzZS5odG1sCkBAIC01MywxMSArNTMsMTIgQEAKICAgICB9CiAKICAgICBp
ZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKLSAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOworICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAg
ICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1y
ZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQtcGFydHktY29udGV4dC1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L25vbi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBh
cnR5LWNvbnRleHQtZGF0YWJhc2UuaHRtbAppbmRleCBjNjRjZmNiMWYzZTM3MjBmY2EyMjNjNDJk
ODc4YzI1YTk2NjIyOWJmLi44ZWI0MDQ5MDJhNjdkYTgwZjkwNzgxN2Q3NDkyNTc0Njc0YzljODVi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEtdGhpcmQt
cGFydHktY29udGV4dC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNz
LWNvb2tpZXMtaW4tYS10aGlyZC1wYXJ0eS1jb250ZXh0LWRhdGFiYXNlLmh0bWwKQEAgLTQ1LDE0
ICs0NSwxNSBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBw
YXJ0aXRpb25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT0gIiIgJiYgd2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbiwgZmFsc2UsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tp
bmcocnVuVGVzdCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHRoaXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRo
aXJkUGFydHlPcmlnaW4sIGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcocnVuVGVzdCk7
CisgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmluZGV4IGI1YmRhNmY5ZjFiY2ViZjQ4OTQ1
NWJlY2U0ODVmNWNlY2QxZjYwOWMuLjgxZWNjNjJiOWQxYTg1NmRhODMxNzc5ODJkZTVmNWJmMDZm
MGZjMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLmh0bWwKQEAgLTQwLDkgKzQwLDEwIEBACiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNj
YW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3Qt
bG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmluZGV4IDRiNWVlOTkz
NzA0MTA1MmRjMjZlOGY2YTU4NjlhMjIxMzIwMDNhMzMuLjE4MzhkYTBmZDUxNzBjNmNkNjk4ODc0
MWQ2NDg0NTU1NGNiODFlNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApAQCAtNDAsMTAg
KzQwLDExIEBACiAgICAgICAgIH0KIAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
LWRhdGFiYXNlLmh0bWwKaW5kZXggMmQ5Y2E1OTAxZGI4MGUwZGQwMmMyMDUyMDMzYzE1N2RkZDM2
ZTMxZC4uNTQxZTQzZmFmMzI4OWJmYmE3YTgyNTBkZDYxYTA0NzMyMmMzODY2YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1p
cC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1p
cC1kYXRhYmFzZS5odG1sCkBAIC00MCwxMCArNDAsMTEgQEAKICAgICAgICAgfQogCiAgICAgICAg
IGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1do
ZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRz
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qt
ZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmlu
ZGV4IDMxZTMzZjY2N2RhMzU5ZjNhODJiZjNjMGMzMTBkMzRlYzM3NWIzNGMuLmFkOWQ3M2FiZjI2
NzBhMzlkYzZkMmYwZGE5NTY3MTRiMGQ1Mjc5MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS5odG1sCkBAIC00MCwxMCArNDAsMTEgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlm
ICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9
CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8t
bG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKaW5kZXggOTczOGVhM2I1OWEwYTcwNzQzZDM0
NWRmMDUyZWE2MjlkMmY2YjkzZC4uODZhMDBmYTlkNTc5ZjNmNDNlNTE5MzJkMWZlYmVjMjVhNTJm
ZjE2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbApAQCAtNDAsMTAgKzQwLDExIEBACiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hl
Y2tTdGF0cyk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUs
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2Fs
bGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKaW5k
ZXggNTdmYWYwMGE4ZmQ3MmYxNDRlYWFlZWU0YTdkMmQwY2I0OWI4ZDk5NS4uMTJmMDliYjEwOTJh
NDcyNDNhMWQyYzg5YzNiNDY0ODFhOTFjZjk5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJh
bWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2Nh
bGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5o
dG1sCkBAIC00MCwxMCArNDAsMTEgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsK
KyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcGluZy10by1wcmV2YWxlbnQtcmVzb3VyY2UtZGF0YWJhc2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVu
dC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCmluZGV4IGU2MjEyODExNThmZDM3ZWFlZGQwYzU0ZWFi
MWU0NzM4ZTkwYTY1ZGIuLmE3NDU5ODVlZTM3OGI1OWY3YmM4OTcxNjlkMzRmMTQzNzUwMzY3OWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9waW5nLXRvLXByZXZhbGVudC1yZXNvdXJjZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9waW5nLXRvLXByZXZhbGVudC1y
ZXNvdXJjZS1kYXRhYmFzZS5odG1sCkBAIC04NSwxMSArODUsMTIgQEAKIAogICAgIGlmIChkb2N1
bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgICAgICAgICAgcnVuVGVzdCgp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEi
OworICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291
cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRv
d24tZGF0YWJhc2UuaHRtbAppbmRleCA3ZTU2YTUwY2NjODRmODBhMTc1ZGY0NjdmZjc4ODk0Y2U3
YjUxOWZjLi4xY2I0NGQ1OTRiZDQ1MDJhYmZkYmRhYzgwZWM5Yzk4NzYwMzEzYTJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Ut
aGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAgb25sb2FkID0g
ZnVuY3Rpb24oKSB7CiAgICAgY29uc3QgdGVzdEZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3RGcmFtZSIpOwogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7
IH0pOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11
bmhhbmRsZWQta2V5ZG93bi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93
bi1kYXRhYmFzZS5odG1sCmluZGV4IDVhY2RlYjI4ZTRjY2I3MTI4MjUzMjE3YmE4ODE5ZWE3ZWE2
ZmIyZmQuLmUwNTAyMGJkZmNhOGIwYTllODhmMDk5MTU5ODI1ZWM0MzUxMmM4YjcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxl
bnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNl
LXVuaGFuZGxlZC1rZXlkb3duLWRhdGFiYXNlLmh0bWwKQEAgLTEyLDcgKzEyLDcgQEAgb25sb2Fk
ID0gZnVuY3Rpb24oKSB7CiAgICAgY29uc3QgdGVzdEZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RGcmFtZSIpOwogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVl
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAo
KSB7IH0pOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJj
ZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKaW5kZXggZWMxM2E1MDI3NGM2ZGQ5NGJmZThhMTY0
NTljNGNiYWI4YTkwZTkwYy4uMjkyOWE1YTBhM2MyNTA3NGE2MGY2MTgyZTI5NGVjZjEwM2QzYTg0
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJl
dmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCkBAIC01
NSw5ICs1NSwxMCBAQAogCiAgICAgZnVuY3Rpb24gc2V0VXBBbmRSdW4oKSB7CiAgICAgICAgIGlm
IChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0
UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7
CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHJ1blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIldyb25nIGhvc3QsIG5vIHRlc3RSdW5uZXIsIG9yIG5vIGludGVybmFscy4iKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQtZGF0YWJhc2UuaHRt
bAppbmRleCBiMjA4OTcwNWQyNzhlYWEyMjEyNjg1NmQxZDZkMDk5YTU5YTBhN2I3Li4zODc0ODRk
MGE4YjRmYzI1ZGNlMTI2ZDk1NDRlZmFhOTk4ZDM2NmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13
aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC1kYXRhYmFzZS5odG1sCkBAIC00NiwxMSArNDYs
MTIgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVu
ZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgIHJ1blRl
c3RSdW5uZXJUZXN0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90
aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgIHJ1
blRlc3RSdW5uZXJUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2
YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLWRhdGFiYXNlLmh0bWwKaW5k
ZXggMjdiMGIyYWFlMzA4NGQ0YzQ3ZDllYzlmN2NlMzJmZTRkNDBiOWM0YS4uNzgxYWUxMTc4YzAy
OWZmYzAwZDljNzJiYTIxMDZhMWZiNjAxMGFkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGhvdXQtdXNl
ci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCkBAIC01MCw5ICs1MCwxMCBAQAogICAgIGlmIChk
b2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVu
bmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxl
ZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgcnVuVGVzdFJ1bm5lclRlc3QoKTsKKyAgICAg
ICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BydW5lLXN0YXRpc3RpY3MtZGF0YWJhc2UuaHRtbAppbmRleCAwY2FiN2QzOTE3MWQwM2Y0N2I0
MTlkMmFkYjBjYTEzOGFkZjc4ZWI5Li4wZTg3Mzc3OTBjZjg4M2ZiY2YxODI5OTg0NWFjZjQxZGI3
OTgwYWI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLWRhdGFi
YXNlLmh0bWwKQEAgLTE0NywxNiArMTQ3LDE3IEBACiAgICAgfQogCiAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRy
dWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbCgwKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWF4U3Rh
dGlzdGljc0VudHJpZXModXJsc1RvQmVQcnVuZWQubGVuZ3RoKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzUHJ1bmVFbnRyaWVzRG93blRvKHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNv
dXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOworICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDAp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVybHNUb0JlUHJ1bmVkLmxlbmd0aCk7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcnVuZUVudHJpZXNEb3duVG8odXJsc1Rv
QmVQcnVuZWQubGVuZ3RoKTsKIAotICAgICAgICBjdXJyZW50VGVzdCA9IDE7Ci0gICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRpc3RpY3NBZnRlclBydW5pbmcpOwotICAgICAgICBpbml0aWFsaXplU3RhdGlzdGljc0Fu
ZFJ1blRlc3RzKDEpOworICAgICAgICAgICAgY3VycmVudFRlc3QgPSAxOworICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdGlzdGljc0FmdGVyUHJ1bmluZyk7CisgICAgICAgICAgICBpbml0aWFsaXplU3RhdGlz
dGljc0FuZFJ1blRlc3RzKDEpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRh
YmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNl
Lmh0bWwKaW5kZXggNjY3MTEyMDUwNjgxODM5MWNhOTY3ZmYyNGZmZmMwNThjOTIxOWY0MS4uZjM2
M2YxMDNjZGMzY2YxN2U2M2FiYjIwZWI5OTg1YTk1OTFkZmRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKQEAgLTEzLDEwICsx
MywxMSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1
ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGlj
c0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAg
IH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVk
aXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCmluZGV4
IGYwMjZiZDljMGMyMTJiN2U1ZjE2NDliNTkzYjk3ODgzY2YzMTQ4ZmMuLjAzMGE5MjdjMDk2NjI5
MjJlZmY5NWVkYTQ2YzA2MTY2YjU3MzAxYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKQEAgLTEzLDEw
ICsxMywxMSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQo
dHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNj
YW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9z
dC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmluZGV4
IDA5MmQ1OTk5NjRlN2U2MmZkMDVmYjBkNzhhZTVlMjk2NjA1N2EwNjYuLjZmZjMxM2YzYzliMjE1
NmY3MWVmNDI0ZDZhMGNmOTJiOGJkOTY2NmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKQEAgLTEzLDEwICsx
MywxMSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1
ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGlj
c0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAg
IH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlm
cmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNl
Lmh0bWwKaW5kZXggZGY4NmZlOGMzMjk0ZTI1MzkyMmMyNWVhMzc5MjdmZDVjOTQzNmZmOC4uOGU3
NGFlZTA1YTU4ZDE0MTBjMjI0OTNmNDMzZDkyYjA3YTFiY2MyNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9u
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1k
YXRhYmFzZS5odG1sCkBAIC0xMywxMCArMTMsMTEgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlm
ICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVj
a1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFi
YXNlLmh0bWwKaW5kZXggZDZlOTRhNDU5Njk4NTRkM2UzODhkMTBhYWRjYWYwYTFkMmE0ZGFhZi4u
YmNiNDAzNDJkYzg4YTkyNjBjYjA0MTA5ZjVjMTFjZmY3MTg2MDU2MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKQEAgLTEz
LDEwICsxMywxMSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5u
ZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0Rp
ZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5o
dG1sCmluZGV4IDVlMTlkZDEwMDIxMTVkOGExOTRmYzIyNDFkNThmNGY4MmUwMDJiZDguLjU3NzE4
NjIyMmJhMDkxZDdhZTA2Y2JmZjZlZDdjODg4NmNiMjU1MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1p
ZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1s
b2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0
bWwKQEAgLTEzLDEwICsxMywxMSBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwor
ICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1j
dXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRlYnVnLW1vZGUtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zZXQtY3VzdG9tLXBy
ZXZhbGVudC1yZXNvdXJjZS1pbi1kZWJ1Zy1tb2RlLWRhdGFiYXNlLmh0bWwKaW5kZXggNWZkYTgx
MjAxOWE5ZTczZmY5NTU4OTE1ZTBmODg5MjZhOGQ5MDQ5YS4uNDE5ZDE5ZGQyNzM2MmYwNzdkZDcy
MWQyNzEzOTdjMTY0NzczNmJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NldC1jdXN0b20tcHJldmFsZW50LXJlc291cmNlLWluLWRl
YnVnLW1vZGUtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2V0LWN1c3RvbS1wcmV2YWxlbnQtcmVzb3VyY2UtaW4tZGVidWct
bW9kZS1kYXRhYmFzZS5odG1sCkBAIC0xMywxOSArMTMsMjAgQEAKICAgICBjb25zdCB0aGlyZFBh
cnR5T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CiAKICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikpCi0gICAgICAgICAgICAgICAgdGVzdEZhaWxlZCh0
aGlyZFBhcnR5T3JpZ2luICsgIiBhbHJlYWR5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0
aGlyZFBhcnR5T3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCh0aGlyZFBh
cnR5T3JpZ2luICsgIiBhbHJlYWR5IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlRm9yRGVi
dWdNb2RlKHRoaXJkUGFydHlPcmlnaW4sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9kZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCh0aGlyZFBhcnR5T3JpZ2luICsgIiBkaWRuJ3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3Vy
Y2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQodGhpcmRQYXJ0eU9yaWdpbiArICIgZ290IHNldCBhcyBhIGN1c3RvbSBwcmV2
YWxlbnQgcmVzb3VyY2UgaW4gZGVidWcgbW9kZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzRGVidWdNb2RlKGZhbHNlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2VGb3JEZWJ1Z01vZGUodGhpcmRQYXJ0eU9yaWdpbiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0RlYnVnTW9kZSh0cnVlLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKHRoaXJkUGFydHlPcmlnaW4gKyAiIGRpZG4ndCBnZXQgc2V0
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKHRoaXJkUGFydHlPcmlnaW4g
KyAiIGdvdCBzZXQgYXMgYSBjdXN0b20gcHJldmFsZW50IHJlc291cmNlIGluIGRlYnVnIG1vZGUu
Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NEZWJ1
Z01vZGUoZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAg
ICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1z
dWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXBy
ZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRtbAppbmRleCBiMGY4YTJm
NDIwYjVhYTYyYzM3YTI1ZDRiZGRmZWQzM2EzM2JmYTVmLi4zMWM5NGU0ZTc3Y2IwZmQ1YTljNGIy
ZTQyM2ZmNzAwMTg4MDU0MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxl
bnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdp
bi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1kYXRhYmFzZS5odG1sCkBAIC0y
MCwzMCArMjAsMzEgQEAKICAgICB9CiAKICAgICB2YXIgcmVmZXJyZXI7Ci0gICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9j
YWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRl
c3Qgc3RhcnRlZC4iKTsKKyAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxo
b3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qg
c3RhcnRlZC4iKTsKIAotICAgICAgICBmZXRjaCgicmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhw
IikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNl
LnRleHQoKTsKLSAgICAgICAgfSkudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgICBy
ZWZlcnJlciA9IGRhdGE7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlZmVy
cmVyIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlw
LXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy1k
YXRhYmFzZS5odG1sIik7CisgICAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL2VjaG8tcmVmZXJy
ZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgICAgICAgICAgICAgIHJldHVy
biByZXNwb25zZS50ZXh0KCk7CisgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsK
KyAgICAgICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1z
dWJyZXNvdXJjZS1yZWRpcmVjdHMtZGF0YWJhc2UuaHRtbCIpOwogCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIs
IHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2lu
ZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSgicmVzb3VyY2Vz
L3JlZGlyZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXJlZmVycmVyLnBocCIsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29v
a2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBvcGVuSWZy
YW1lKCJyZXNvdXJjZXMvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4
MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0p
LmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJy
b3IubWVzc2FnZSk7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmlu
aXNoSlNUZXN0KTsKICAgICAgICAgICAgIH0pOwotICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihl
cnJvcikgewotICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9KTsK
ICAgICB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFs
ZW50LXN1YnJlc291cmNlLXJlcXVlc3RzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZv
ci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRtbAppbmRleCAxNWQ0
ZjAzNjZmOTdjZmNlOTQyOGE2YTg2ZTUxNTQ4MzYwZTMyMTc3Li40Nzk5NzFlMTVkZDlhMTAzYjJj
ODE4YmU3ZmZiYTIwNmQ2NjRmZDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2
YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3Jp
Z2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMtZGF0YWJhc2UuaHRtbApAQCAt
MjAsNDEgKzIwLDQyIEBACiAgICAgfQogCiAgICAgdmFyIHJlZmVycmVyOwotICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxv
Y2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0
ZXN0IHN0YXJ0ZWQuIik7CisgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBm
dW5jdGlvbiAoKSB7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZSgiaHR0cDovL2xvY2FsaG9zdCIpKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2Fs
aG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0
IHN0YXJ0ZWQuIik7CiAKLSAgICAgICAgZmV0Y2goInJlc291cmNlcy9lY2hvLXJlZmVycmVyLnBo
cCIpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpIHsKLSAgICAgICAgICAgIHJldHVybiByZXNwb25z
ZS50ZXh0KCk7Ci0gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24oZGF0YSkgewotICAgICAgICAgICAg
cmVmZXJyZXIgPSBkYXRhOwotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZl
cnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJp
cC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZXF1ZXN0cy1k
YXRhYmFzZS5odG1sIik7CisgICAgICAgICAgICBmZXRjaCgicmVzb3VyY2VzL2VjaG8tcmVmZXJy
ZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeworICAgICAgICAgICAgICAgIHJldHVy
biByZXNwb25zZS50ZXh0KCk7CisgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsK
KyAgICAgICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1z
dWJyZXNvdXJjZS1yZXF1ZXN0cy1kYXRhYmFzZS5odG1sIik7CiAKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0Iiwg
dHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCBy
ZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIsIHRydWUsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5n
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhw
IikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHJlc3BvbnNlLnRleHQoKTsKLSAgICAgICAgICAgICAgICAgICAgfSkudGhlbihmdW5jdGlv
bihkYXRhKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJlZmVycmVyIiwgImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC8iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25z
ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7
CisgICAgICAgICAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvIik7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUoInJl
c291cmNlcy9yZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKCJyZXNvdXJjZXMv
cmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNo
KGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhl
cnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxv
ZyhlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZp
bmlzaEpTVGVzdCk7CiAgICAgICAgIH0pOwogICAgIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNl
c3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N3
aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tcHJldmFsZW50LXdpdGgtaW50ZXJhY3Rpb24t
ZGF0YWJhc2UuaHRtbAppbmRleCA2MjcwYzAwYjA0ODE2NjYwYmM4MWQwZDZlZTg5Y2FhNzBlMWY3
NGJjLi5hZTdlNmY4ZDFlMzljZGQ3MTIyMTA3YTU4MDEwMDM3OGM0MzdhMWZjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3dpdGNoLXNl
c3Npb24tb24tbmF2aWdhdGlvbi10by1wcmV2YWxlbnQtd2l0aC1pbnRlcmFjdGlvbi1kYXRhYmFz
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLXByZXZhbGVudC13aXRoLWludGVyYWN0
aW9uLWRhdGFiYXNlLmh0bWwKQEAgLTksNiArOSw3IEBACiA8c2NyaXB0PgogICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IHRoZSBzZXNzaW9uIGlzIHN3aXRjaGVkIHVwb24gdG9wIGZyYW1lIG5h
dmlnYXRpb24gdG8gYSBwcmV2YWxlbnQgcmVzb3VyY2Ugd2l0aCB1c2VyIGludGVyYWN0aW9uLiIp
OwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeyB9KTsKIAogICAgIGNvbnN0IHByZXZhbGVudE9yaWdp
biA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwogICAgIGNvbnN0IG5vblByZXZhbGVudE9yaWdp
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOwpAQCAtOTksNyArMTAwLDYgQEAKICAgICBpZiAo
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIpIHsKICAgICAgICAgaWYgKGRvY3VtZW50Lmxv
Y2F0aW9uLm9yaWdpbiAhPT0gcHJldmFsZW50T3JpZ2luKQogICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiVGVzdCBpcyBub3Qgc3RhcnRpbmcgb3V0IG9uICIgKyBwcmV2YWxlbnRPcmlnaW4gKyAiLiIp
OwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudE9yaWdpbikpCiAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChwcmV2YWxlbnRPcmlnaW4gKyAiIHdhcyBjbGFzc2lm
aWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRzLiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Rl
bGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnkt
Z2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKaW5kZXggNTk0
MjkwOTVhZTBlMDM1ZTdkODUxZWRkNjBhNmJjNTI0ZmFjOTE4Ni4uNGVmNDJhMGJmZjkzNjc0Njc5
NDkyZGU0OWZjNTc3MzBiMWNjN2QxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1
bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rp
b25hbGl0eS1kYXRhYmFzZS5odG1sCkBAIC04LDcgKzgsNyBAQAogPC9oZWFkPgogPGJvZHk+CiA8
c2NyaXB0PgotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7IH0pOwogICAgIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGFkdmFuY2VkIHRlbGVtZXRyeSBmb3IgcHJldmFsZW50IHJl
c291cmNlcyBpbiB0aGUgU1FMaXRlIERhdGFiYXNlIGlzIGNhbGN1bGF0ZWQgY29ycmVjdGx5LiIp
OwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFz
aWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9u
YWxpdHktZGF0YWJhc2UuaHRtbAppbmRleCA5N2I1NTc5ZmEwYjExZDJjYmFjNzAwNTU2MzZiOWFm
YmNjNDc2MWNlLi5mM2JkN2ZhYTljYjdhMmNkMzI2OWQ5ZDE2MjcxMzI4MWU4NDQ0NTc2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVs
ZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnkt
Z2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKQEAgLTgsNyArOCw3
IEBACiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci0gICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKKyAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1
bmN0aW9uICgpIHsgfSk7CiAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYmFzaWMgdGVsZW1l
dHJ5IGZvciBwcmV2YWxlbnQgcmVzb3VyY2VzIGluIHRoZSBTUUxpdGUgRGF0YWJhc2UgaXMgY2Fs
Y3VsYXRlZCBjb3JyZWN0bHkuIik7CiAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2Vy
LWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0
aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUtZGF0YWJhc2UuaHRtbAppbmRleCBhNjc0ZDA5
MDk3MGM1NjNiZmJhNGQ5M2NmYTY0NWNhYjE1YTU5NGUwLi42MDAzZDY2YjE1ZDRjN2MxNTVlYzQy
ZTM4YTAzNTRlNDU5NDkwMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3Vi
LWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFt
ZS1kYXRhYmFzZS5odG1sCkBAIC03LDcgKzcsNyBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJU
ZXN0cyB0aGF0IHVzZXIgaW50ZXJhY3Rpb24gaXMgYWx3YXlzIGxvZ2dlZCBmb3IgdGhlIHRvcCBk
b2N1bWVudC9mcmFtZS4iKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotdGVzdFJ1bm5lci5zZXRV
c2VJVFBEYXRhYmFzZSh0cnVlKTsKK3Rlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwg
ZnVuY3Rpb24gKCkgeyB9KTsKIAogY29uc3QgdG9wRnJhbWVPcmlnaW4gPSAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwIjsKIGNvbnN0IHN1YkZyYW1lT3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBl
cmlvZC1vZi10aW1lLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0
aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLWRhdGFiYXNlLmh0bWwKaW5kZXggNjA5NTI0MmNhZDY3
NDA0MTdhYTk5NzI0NjE4OTgxNDRkYzJjZTkzZS4uZmM0ODIxMDM5YjU2NjRlM2YzNzJhNGFlMWE0
MzlmYzBmODMyOTY2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhp
bi1zaG9ydC1wZXJpb2Qtb2YtdGltZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVw
b3J0ZWQtb25jZS13aXRoaW4tc2hvcnQtcGVyaW9kLW9mLXRpbWUtZGF0YWJhc2UuaHRtbApAQCAt
NTIsMTEgKzUyLDEyIEBACiAgICAgfQogCiAgICAgb25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQubG9jYXRpb24ub3JpZ2luIiwgInRvcEZyYW1lT3JpZ2luIik7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luIiwgInRvcEZyYW1lT3JpZ2luIik7CiAKLSAgICAg
ICAgICAgIGZpcnN0SW50ZXJhY3Rpb24oKTsKKyAgICAgICAgICAgICAgICBmaXJzdEludGVyYWN0
aW9uKCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAgfTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0
YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVyLXdlYnNpdGUtZGF0YS1yZW1vdmFsLWRh
dGFiYXNlLmh0bWwKaW5kZXggMmJlYjQyZjk0MmYxYjY4ZmZhY2ZlMGVmYjFmZTkyMzk2MmYyMjY4
ZC4uZDMwYmExZGI1OGRmNzk1OWYwMjk4YjEzZmZmNmM5NmYwMjVhNWY5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJh
Y3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwtZGF0YWJhc2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1p
bnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC1kYXRhYmFzZS5o
dG1sCkBAIC01MywxMSArNTMsMTIgQEAKICAgICB9CiAKICAgICBvbmxvYWQgPSBmdW5jdGlvbigp
IHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHNob3VsZEJl
KCJkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsK
IAotICAgICAgICAgICAgZmlyc3RJbnRlcmFjdGlvbigpOworICAgICAgICAgICAgICAgIGZpcnN0
SW50ZXJhY3Rpb24oKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9OwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
ZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9w
ZW5lci1kYXRhYmFzZS5odG1sCmluZGV4IDIwOTkyZGRkZDIzNTVjNGRkMTViNGRkMzg0YTRjNGZk
ODE3OTI4NjIuLjk2NTVhMjQ4N2Q1NGZmODljZTJmMmZkODg2ZWViYmNhYjlhYjM4MDMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2Ut
YWNjZXNzLXVuZGVyLW9wZW5lci1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1kYXRh
YmFzZS5odG1sCkBAIC02LDcgKzYsNiBAQAogICAgIDxzY3JpcHQ+CiAgICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyBmcm9tIGEgcHJldmFsZW50IGRv
bWFpbiB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24gaXMgZGVuaWVkIHN0b3JhZ2UgYWNjZXNzIHVu
ZGVyIGl0cyBvcGVuZXIuIik7CiAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7CiAKICAgICAg
ICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKQEAgLTQyLDE5ICs0MSwyMSBAQAogICAgICAgICBj
b25zdCBzdWJQYXRoVG9HZXRDb29raWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZp
cnN0UGFydHlDb29raWVOYW1lOwogCiAgICAgICAgIGxldCBuZXdXaW47Ci0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dz
KCk7CiAKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHRoaXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5
T3JpZ2luKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgIGlmICh0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3JpZ2lu
KSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBsb2dnZWQgZm9yIHVzZXIg
aW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5n
V2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5T3JpZ2luLCB0cnVlLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlPcmlnaW4pKQorICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOworICAgICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbikpCisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NX
aGVuQ29tcGxldGUodHJ1ZSk7CiAKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
IG5ld1dpbiA9IHdpbmRvdy5vcGVuKHRoaXJkUGFydHlPcmlnaW4gKyAiL3N0b3JhZ2VBY2Nlc3Mv
cmVzb3VyY2VzL3NldC1jb29raWUtYW5kLXJlcG9ydC1iYWNrLmh0bWwiLCAidGVzdFdpbmRvdyIp
OworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVC
bG9ja2luZyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBuZXdXaW4gPSB3
aW5kb3cub3Blbih0aGlyZFBhcnR5T3JpZ2luICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9z
ZXQtY29va2llLWFuZC1yZXBvcnQtYmFjay5odG1sIiwgInRlc3RXaW5kb3ciKTsKKyAgICAgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvZGVueS1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNtaXNzLWRhdGFi
YXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS1zdG9y
YWdlLWFjY2Vzcy11bmRlci1vcGVuZXItaWYtYXV0by1kaXNtaXNzLWRhdGFiYXNlLmh0bWwKaW5k
ZXggMTU2MjVlNjM1Zjk0OGNkYmJjNWIzNjAxZjYzNWM1ODA3NGNlZmExZS4uNWU1OWNmZjE0OTM1
ODRkYWZkNGIzOTc0ZjcwZTNkZGQ0ZGYwMjU3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2Rlbnktc3RvcmFnZS1hY2Nlc3MtdW5kZXItb3BlbmVyLWlm
LWF1dG8tZGlzbWlzcy1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9kZW55LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1pZi1hdXRvLWRp
c21pc3MtZGF0YWJhc2UuaHRtbApAQCAtNDMsMjMgKzQzLDI0IEBACiAgICAgdmFyIG5ld1dpbjsK
IAogICAgIGZ1bmN0aW9uIHJ1bigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1l
c3NhZ2UsIGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVl
LCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdl
IiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cygpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKIAotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50
UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJk
UGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmln
aW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmlnaW4pKQot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dn
ZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKHRydWUpOworICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFy
dHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbikp
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNl
dCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3JpZ2luLCB0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdpbikpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBs
b2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7
CiAKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2ll
QmxvY2tpbmcoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbmV3V2luID0g
d2luZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdpbiArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMv
c2V0LWNvb2tpZS1hbmQtcmVwb3J0LWJhY2suaHRtbCIsICJ0ZXN0V2luZG93Iik7CisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2lu
ZyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3V2luID0gd2lu
ZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdpbiArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0
LWNvb2tpZS1hbmQtcmVwb3J0LWJhY2suaHRtbCIsICJ0ZXN0V2luZG93Iik7CisgICAgICAgICAg
ICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdlc3R1
cmUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9k
ZW55LXdpdGgtcHJvbXB0LWRvZXMtbm90LXByZXNlcnZlLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApp
bmRleCBmZGUwNzY2ZmJiMWRlOTZlZTZmNDY2YTljODMxZjJjZDhmOTRiODZlLi5mMGE2ODBhMDE0
N2U1MzU2ZWQ4YjIxMjIwNTY1NzkxYTIzODIyZjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRoLXByb21wdC1kb2VzLW5vdC1wcmVzZXJ2
ZS1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2Rlbnktd2l0aC1wcm9tcHQtZG9lcy1ub3QtcHJlc2VydmUtZ2VzdHVyZS1kYXRh
YmFzZS5odG1sCkBAIC00NSwyNCArNDUsMjUgQEAKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUpOwotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKGZhbHNlKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKHRydWUpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dn
ZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVs
ZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNj
ZXNzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1pZnJhbWUtYW5kLXBvcC13aW5kb3cuaHRtbCN1c2VyU2hvdWxkTm90R3JhbnRB
Y2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZE5vdEdyYW50QWNjZXNzLGlz
Tm90U2FtZU9yaWdpbklmcmFtZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoZmFsc2UpOworICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1Vy
bCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJs
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQg
bm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFt
ZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5p
ZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4
MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1l
LWFuZC1wb3Atd2luZG93Lmh0bWwjdXNlclNob3VsZE5vdEdyYW50QWNjZXNzLHVzZXJTaG91bGRC
ZUNvbnN1bHRlZCxwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJh
bWUiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGlmcmFtZUVsZW1lbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9kZW55LXdpdGhvdXQt
cHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKaW5kZXggMTBjNjk1MGMxYmIz
YWI5NTRjMWE2NmI2OTk1NjI4MDlkZWFhYzIxZS4uM2E0NjNkM2JmYjQwYzdkNDg4OWQ5NDI5YjYz
ZmNhNjAwZmViYjIzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdl
QWNjZXNzL2Rlbnktd2l0aG91dC1wcm9tcHQtcHJlc2VydmVzLWdlc3R1cmUtZGF0YWJhc2UuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZGVueS13aXRob3V0
LXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1sCkBAIC00NSwyNCArNDUsMjUg
QEAKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldENhbk9wZW5XaW5kb3dzKGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2Uu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJs
b2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJh
bWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVU
aGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlm
cmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNj
ZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS1hbmQtcG9wLXdpbmRv
dy5odG1sI3VzZXJTaG91bGROb3RHcmFudEFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0ZWQs
cG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVs
ZW1lbnQpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93
cyhmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9ja2lu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4i
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCBmYWxzZSwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFk
VXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0
aW9uLiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFn
ZUFjY2VzcyI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
c3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1
ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS1hbmQtcG9wLXdpbmRvdy5odG1sI3VzZXJTaG91bGRO
b3RHcmFudEFjY2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0ZWQscG9saWN5U2hvdWxkTm90R3Jh
bnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vz
cy11bmRlci1vcGVuZXItYXQtcG9wdXAtdXNlci1nZXN0dXJlLWRhdGFiYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvZ3JhbnQtc3RvcmFnZS1hY2Nlc3MtdW5k
ZXItb3BlbmVyLWF0LXBvcHVwLXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sCmluZGV4IDQzNDg1
ZjUwN2U2MThmMWE3MjkzNzY1M2MxOGQ1NDczYTZjYjgyMDQuLjk5ZDlmMmFmZDZiMGJlODVkYzM4
OTU0MzBjMmQwNDg2Njc2YTU0ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9ncmFudC1zdG9yYWdlLWFjY2Vzcy11bmRlci1vcGVuZXItYXQtcG9wdXAt
dXNlci1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL2dyYW50LXN0b3JhZ2UtYWNjZXNzLXVuZGVyLW9wZW5lci1hdC1wb3B1cC11
c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRtbApAQCAtNDMsMjMgKzQzLDI0IEBACiAgICAgdmFyIG5l
d1dpbjsKIAogICAgIGZ1bmN0aW9uIHJ1bigpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVj
ZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJt
ZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2Fu
T3BlbldpbmRvd3MoKTsKIAotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9yaWdpbiwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNl
KHRoaXJkUGFydHlPcmlnaW4pKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0
IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFy
dHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJkUGFydHlPcmln
aW4pKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKHRydWUpOworICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRo
aXJkUGFydHlPcmlnaW4sIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eU9y
aWdpbikpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3Jp
Z2luLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0eU9yaWdp
bikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90
IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUo
dHJ1ZSk7CiAKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRl
Q29va2llQmxvY2tpbmcoZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgbmV3
V2luID0gd2luZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdpbiArICIvc3RvcmFnZUFjY2Vzcy9yZXNv
dXJjZXMvcHJvZHVjZS11c2VyLWdlc3R1cmUtc2V0LWNvb2tpZS1hbmQtcmVwb3J0LWJhY2suaHRt
bCIsICJ0ZXN0V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmV3V2luID0gd2luZG93Lm9wZW4odGhpcmRQYXJ0eU9yaWdpbiArICIv
c3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcHJvZHVjZS11c2VyLWdlc3R1cmUtc2V0LWNvb2tpZS1h
bmQtcmVwb3J0LWJhY2suaHRtbCIsICJ0ZXN0V2luZG93Iik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAg
ICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9ncmFudC13aXRoLXByb21wdC1wcmVzZXJ2ZXMtZ2VzdHVyZS1kYXRhYmFzZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0
LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKaW5kZXggNjMyNTE4NjM0NTIyZjU5YTMw
ZWFiZTVkYmRjOTcyYTZlYmQyMjkxYy4uOTI2NTY0MjUzMmM1NDhiODhlMzYzMDViNTlkMmNhNDU3
Mzk3NGNhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L2dyYW50LXdpdGgtcHJvbXB0LXByZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2dyYW50LXdpdGgtcHJvbXB0LXBy
ZXNlcnZlcy1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKQEAgLTQ1LDI4ICs0NSwyOSBAQAogICAgICAg
ICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3MoZmFsc2UpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9j
a2luZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0
aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihz
dGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZUJsb2NraW5n
KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVx
dWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRo
YXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jl
c291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS1hbmQtcG9wLXdpbmRvdy5odG1s
I3VzZXJTaG91bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxk
R3JhbnRBY2Nlc3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZUVsZW1lbnQpOworICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyhmYWxzZSk7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0
YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29r
aWVCbG9ja2luZyhmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxl
bWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdl
LWFjY2Vzcy1pZnJhbWUtYW5kLXBvcC13aW5kb3cuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3Ms
dXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNjZXNzLGlzTm90U2FtZU9y
aWdpbklmcmFtZSI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAg
fSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVh
ZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMt
c3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbApp
bmRleCBkMGQ5ZTA4NzkzNGMyN2Y1ODljZTgyMjZlZjMwYzM1NWNjZmY1MDliLi5iMTkxNTA2MjY3
ZWFmZTQ3OWI5YjNmYjRhYWJmN2E2YjViMDI5ZTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9y
YWdlLWFjY2Vzcy1jcmFzaC1kYXRhYmFzZS5odG1sCkBAIC0xMCwxMCArMTAsMTAgQEAKICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsgfSk7CiAgICAgfQogCiAgICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKICAgICAgICAgdmFyIHRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGVzdCIpOwogICAgICAgICB2YXIgdGVzdEZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7CiAgICAgICAgIHRlc3REaXYuYXBwZW5kQ2hpbGQodGVzdEZyYW1lKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1h
Y2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRh
dGFiYXNlLmh0bWwKaW5kZXggZjQxY2ZiYjE0NzM1NjMzYmYzMDc2MGY2YjkxMjg1Y2NmMzk5ZDAy
OS4uZTQxNDhkODk0ZjJkYjE1OGRjOGNmMTA1OTRlNzM3YWEyNjNiMjkwZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1m
YWxzZS1ieS1kZWZhdWx0LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0LWRhdGFi
YXNlLmh0bWwKQEAgLTIzLDEzICsyMywxNCBAQAogICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gImxvY2FsaG9zdDo4MDAwIjsKICAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRw
Oi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwogICAgICAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKLSAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1
ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFn
ZS1hY2Nlc3MtaWZyYW1lLmh0bWwjcG9saWN5U2hvdWxkRGVueUFjY2VzcyI7Ci0gICAgICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKLSAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKKyAgICAgICAg
ICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0
b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xp
Y3lTaG91bGREZW55QWNjZXNzIjsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1m
YWxzZS1ieS1kZWZhdWx0LWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy1mYWxzZS1ieS1kZWZhdWx0
LWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sCmluZGV4IDY1NjYxZjEwMWVkZDE1ZmFhYzA0NTIwMGE1
MjJjYTI3MzNkZWZhYjMuLmYxYTE1MTYyN2RiYTkwYmVmZmRlOTM0NDE4ZmFiMWM0ZjgzNGQyOWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3Rv
cmFnZS1hY2Nlc3MtZmFsc2UtYnktZGVmYXVsdC1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNz
LWZhbHNlLWJ5LWRlZmF1bHQtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwKQEAgLTcsNiArNyw3IEBA
CiAgICAgPHNjcmlwdD4KICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZG9jdW1lbnQu
aGFzU3RvcmFnZUFjY2VzcygpIHJldHVybnMgZmFsc2UgZm9yIGEgM3JkLXBhcnR5IGlmcmFtZSBi
eSBkZWZhdWx0IChlcGhlbWVyYWwgc2Vzc2lvbikuIik7CiAgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0
aW9uICgpIHsgfSk7CiAKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCkBAIC0yNCw3ICsyNSw2IEBACiAgICAgICAgIGNv
bnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwogICAgICAgICBjb25zdCBzdGF0
aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CiAgICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwogICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7CiAgICAgICAgICAgICBpZnJhbWVF
bGVtZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJj
ZXMvaGFzLXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3BvbGljeVNob3VsZERlbnlBY2Nlc3Mi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1z
dG9yYWdlLWFjY2Vzcy1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9u
LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFz
LXN0b3JhZ2UtYWNjZXNzLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rp
b24tZGF0YWJhc2UuaHRtbAppbmRleCBjMzFkZDFlZDhmNDk3NmVjYjRjN2UzNzZmOTg4NmZhYTJh
NmFkOWZiLi40YWYwODA4YTZjODI1Mjc4ZWE4M2QzNDEzZThmMzRmZDVkNmIwMjM3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNj
ZXNzLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3Jh
Z2UtYWNjZXNzLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24tZGF0
YWJhc2UuaHRtbApAQCAtMjQsMjMgKzI0LDIzIEBACiAgICAgICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAibG9jYWxob3N0OjgwMDAiOwogICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0
dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CiAgICAgICAgIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwot
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1
c2VyIGludGVyYWN0aW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0
b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUt
b3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9oYXMtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwj
cG9saWN5U2hvdWxkTm90R3JhbnRBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwsIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0
IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RS
dW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmli
dXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBh
bGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVl
c3RzU3RvcmFnZUFjY2VzcyI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2Vz
L2hhcy1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCNwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vz
cyI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1h
Y2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy1kYXRhYmFzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVl
LWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWRhdGFiYXNlLmh0bWwKaW5kZXggNGM4NjY4OTM1
MzRmMzZkYmYwZDFmZjZjYmIyOWE5MTY1ZDllOGUwMS4uZWU2NzAyZWE3MTEzN2M2ODcyYTAwYWUy
YThlYTgwMzlhZjY3NmNkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29r
aWVzLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBhcnR5LWhhcy1jb29raWVzLWRh
dGFiYXNlLmh0bWwKQEAgLTI1LDkgKzI1LDEwIEBACiAgICAgICAgIGNvbnN0IHN0YXRpc3RpY3NV
cmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0OwogICAgICAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewogICAgICAgICAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjZmlyc3RQ
YXJ0eUNvb2tpZVNldCIpIHsKLSAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJl
ZiA9IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUu
cGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGlyZC1wYXJ0eS1o
YXMtY29va2llcy5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOworICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsg
Ii9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlD
b29raWUmdmFsdWU9dmFsdWUjaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvaGFz
LXN0b3JhZ2UtYWNjZXNzLXRydWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMuaHRtbCNmaXJz
dFBhcnR5Q29va2llU2V0IjsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGxldCBpZnJhbWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRy
dWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvaGFzLXN0b3JhZ2UtYWNjZXNzLXRy
dWUtaWYtdGhpcmQtcGFydHktaGFzLWNvb2tpZXMtZXBoZW1lcmFsLWRhdGFiYXNlLmh0bWwKaW5k
ZXggOTJmY2I3OTdhZjRlOGZhOGYyZmYzYjNhNjNiNzc0NzM4MGQ3MDZjNy4uNmQ2ZDdhMjIyNDg0
OGYwY2QwOGQyOTJhMzVhNGNlNzBiYTY2NGMzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL2hhcy1zdG9yYWdlLWFjY2Vzcy10cnVlLWlmLXRoaXJkLXBh
cnR5LWhhcy1jb29raWVzLWVwaGVtZXJhbC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3MtdHJ1ZS1pZi10aGly
ZC1wYXJ0eS1oYXMtY29va2llcy1lcGhlbWVyYWwtZGF0YWJhc2UuaHRtbApAQCAtNyw2ICs3LDcg
QEAKICAgICA8c2NyaXB0PgogICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBkb2N1bWVu
dC5oYXNTdG9yYWdlQWNjZXNzKCkgcmV0dXJucyB0cnVlIGZvciBhIDNyZC1wYXJ0eSBpZnJhbWUg
aWYgdGhlIDNyZC1wYXJ0eSBoYXMgY29va2llcyBzZXQgKGVwaGVtZXJhbCBzZXNzaW9uKS4iKTsK
ICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeyB9KTsKIAogICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7CiAKQEAgLTI0
LDcgKzI1LDYgQEAKICAgICAgICAgY29uc3QgaG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAw
MCI7CiAgICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJU
ZXN0OwogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoICE9PSAiI2ZpcnN0UGFydHlDb29raWVTZXQiKSB7CiAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3Mv
cmVzb3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1
ZSNodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9oYXMtc3RvcmFnZS1hY2Nlc3Mt
dHJ1ZS1pZi10aGlyZC1wYXJ0eS1oYXMtY29va2llcy5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQi
OwogICAgICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1pZnJhbWUtZGF0YWJhc2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZW1vdmUtcmVxdWVzdGluZy1p
ZnJhbWUtZGF0YWJhc2UuaHRtbAppbmRleCAyMjYxNzRiYzRlMWFjYjdkNGQwOTNlNGY1ZTNlMDE1
ZTZiMDUzY2Y2Li5kMjQxYjIzZDZmZDc0OGIyMjcwZjkzOWUzMWYyYmEzNzZlMGZlZTQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVtb3ZlLXJlcXVl
c3RpbmctaWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlbW92ZS1yZXF1ZXN0aW5nLWlmcmFtZS1kYXRhYmFzZS5odG1sCkBAIC0x
MCw3ICsxMCw3IEBACiA8c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFN0b3Jh
Z2UgQWNjZXNzIEFQSSBjYWxscyB3b3JrIHdlbGwgZm9yIHJlbW92ZWQgZnJhbWVzLiIpOwogICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2Uo
dHJ1ZSk7CisgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAo
KSB7IH0pOwogICAgIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3Nz
LW9yaWdpbi1ub24tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1v
cmlnaW4tbm9uLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbAppbmRleCBlMmU5OWJhYTY1
MmRlNzg0NzQ2ZTYxNmUwM2YyNDZmMmZmZTFmYjBjLi4zYWEzMDFjZmYyZDk1ODc1MWExNDQyNGEz
ZTg5Mjg0N2Q2ODI5M2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3Jh
Z2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1ub24tc2FuZGJv
eGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLW5vbi1zYW5k
Ym94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwKQEAgLTcsNyArNyw2IEBACiAgICAgPHNjcmlwdD4K
ICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9y
YWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMgbm90IHNhbmRib3hlZCBhbmQg
dGhlIHVzZXIgYWNjZXB0cy4iKTsKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAKICAgICAgICAgY29uc3Qg
aG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7CiAgICAgICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKQEAgLTQ2LDE1ICs0
NSwxNyBAQAogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZh
bGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBp
bnRlcmFjdGlvbi4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1VwZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZh
aWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlcklu
dGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2VyIGludGVyYWN0aW9u
LiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Vw
ZGF0ZUNvb2tpZUJsb2NraW5nKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nl
c3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbApp
bmRleCAyY2ZlOWFiNjA0N2JhOTQwYTQwMWVkNTc2YzZjYWU2NTZmNThkNDY4Li5jZTM4NGViMTA4
MTA1ZTA4NTVhOWE0MzM0MGZmOTc4N2RhMzk4ZjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCkBAIC00Miw5ICs0MiwxMCBAQAogICAg
ICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOworICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3Mi
KTsKKyAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAg
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFt
ZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFuZC1hY2Nlc3Mt
ZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJv
eGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2VyLWludGVyYWN0aW9uLWFu
ZC1hY2Nlc3MtZnJvbS1yaWdodC1mcmFtZS1kYXRhYmFzZS5odG1sCmluZGV4IDQ2OTg1ZDRiMDQ5
YTNhYTI1MDA3N2I3NTMyMGFmYzZhYzRjZDIyMTkuLmMxYzhiOTViNmZlZTdlNmNiN2E0YTE2MTBi
NDFhYTRlOTEzZjU0MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1p
ZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1hbmQtYWNj
ZXNzLWZyb20tcmlnaHQtZnJhbWUtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdp
bi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJh
Y3Rpb24tYW5kLWFjY2Vzcy1mcm9tLXJpZ2h0LWZyYW1lLWRhdGFiYXNlLmh0bWwKQEAgLTksNyAr
OSw2IEBACiAgICAgPHNjcmlwdD4KICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jv
c3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUg
aXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdpbiBpcyBh
IHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1c2VyIGludGVy
YWN0aW9uLCB0aGUgdXNlciBvcHRzIGluLCBhbmQgdGhlIGZyYW1lIGlzIHRoZSBvbmUgd2l0aCBh
Y2Nlc3MuIik7CiAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotICAgICAgICB0ZXN0UnVu
bmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogCiAgICAgICAgIGNvbnN0IGhvc3RVbmRlclRl
c3QgPSAibG9jYWxob3N0OjgwMDAiOwogICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0
dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CkBAIC0xNTAsNiArMTQ5LDcgQEAKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAo
KSB7IH0pOwogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZSh0aGlyZFBhcnR5QmFzZVVybCkpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
IkxvY2FsaG9zdCB3YXMgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRo
ZSB0ZXN0IHN0YXJ0cy4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Rv
cmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hl
ZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1idXQt
YWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1idXQtYWNjZXNzLWZyb20td3JvbmctZnJhbWUtZGF0YWJhc2UuaHRtbAppbmRleCBjNTU0
ODY5NjdiYWMwNGY0N2UyN2MzYmVmNmM5ZWJiYWU1ZmQ5MDg1Li5kZDc4ODU2YzBjMzJlMDA1MzAx
NTQ5MDMzMmMzOTIyMTZlYTk5NzU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rpb24t
YnV0LWFjY2Vzcy1mcm9tLXdyb25nLWZyYW1lLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9z
cy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11c2Vy
LWludGVyYWN0aW9uLWJ1dC1hY2Nlc3MtZnJvbS13cm9uZy1mcmFtZS1kYXRhYmFzZS5odG1sCkBA
IC0xMjgsNyArMTI4LDcgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID09PSAiIikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1
ZSwgZnVuY3Rpb24gKCkgeyB9KTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eUJhc2VVcmwpKQogICAgICAgICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291
cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50
ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5o
dG1sCmluZGV4IDQzMTE0MTkwYzQwNDE3Nzg1ZTc0YTUxN2YzMjgzOTk4ZTJkMWI0YWYuLmM3YmFj
M2VmZmVmNzIxMjQ0OGE0OWI0NzE5YTE0ZjM0MjVmNmMyYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jv
c3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNl
ci1pbnRlcmFjdGlvbi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRi
b3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi1k
YXRhYmFzZS5odG1sCkBAIC00NywyMyArNDcsMjQgQEAKIAogICAgICAgICBjb25zdCBob3N0VW5k
ZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKICAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9
ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFs
ZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwpKQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3Qg
Z2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwsIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVz
ZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgICAgICAgICAgICAg
IGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNj
ZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFs
bG93LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9
IHJ1blRlc3Q7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZy
YW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgIGlmcmFt
ZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291
cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFj
Y2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nlc3MsaXNOb3RT
YW1lT3JpZ2luSWZyYW1lIjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRy
dWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVz
b3VyY2Uoc3RhdGlzdGljc1VybCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlv
bihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Rh
dGlzdGljc1VybCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9z
dCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRy
aWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9u
IGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0
c1N0b3JhZ2VBY2Nlc3MiOworICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5z
cmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVl
c3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJT
aG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5J
ZnJhbWUiOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7CisgICAgICAgICB9KTsKICAgICA8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4t
c2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2VyLWludGVy
YWN0aW9uLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2Uu
aHRtbAppbmRleCA5ZGNhYTNhOGViNzA1OGVlM2NkMzc5Nzk3YmU2ZWJjNDkwMGJkMmJiLi5iMWM3
OGY3YTAzYzk2NjY1YjIyMzE4MTE0MjY4YzEwN2Y2MDVmMzkyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNy
b3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0
LXVzZXItaW50ZXJhY3Rpb24tZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1z
YW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRob3V0LXVzZXItaW50ZXJh
Y3Rpb24tZGF0YWJhc2UuaHRtbApAQCAtNDcsMTcgKzQ3LDE4IEBACiAKICAgICAgICAgY29uc3Qg
aG9zdFVuZGVyVGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7CiAgICAgICAgIGNvbnN0IHN0YXRpc3Rp
Y3NVcmwgPSAiaHR0cDovLyIgKyBob3N0VW5kZXJUZXN0ICsgIi90ZW1wIjsKLSAgICAgICAgdGVz
dFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAg
IGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxs
b3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ct
c2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5vbmxvYWQgPSBydW5UZXN0OwotICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAi
VGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVz
b3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZEdyYW50
QWNjZXNzLHVzZXJTaG91bGRCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGROb3RHcmFudEFjY2Vzcyxp
c05vdFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAg
ICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImlmcmFtZSIpOworICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNldEF0dHJpYnV0
ZSgic2FuZGJveCIsICJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxs
b3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OworICAgICAgICAgICAgICAg
ICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nl
c3MiOworICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJodHRwOi8vbG9j
YWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vz
cy1pZnJhbWUuaHRtbCN1c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVk
LHBvbGljeVNob3VsZE5vdEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7CisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7
CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAgICAg
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVk
LWlmcmFtZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLW5lc3Rl
ZC1pZnJhbWUtZGF0YWJhc2UuaHRtbAppbmRleCBhNzRjM2YwYzhkOGFiNDRmYWI5NGQ2MDYzOGFi
OWEzOWE2YmQ4NTI0Li4yYjY0MDlhNjJlYTJmMzFhZWI4YTA0NDQ2NWE1YjNmNThmYTFjODQ3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1h
bmQtZ3JhbnQtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtbmVzdGVkLWlmcmFtZS1kYXRh
YmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1
ZXN0LWFuZC1ncmFudC1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1uZXN0ZWQtaWZyYW1l
LWRhdGFiYXNlLmh0bWwKQEAgLTQ1LDI0ICs0NSwyNSBAQAogICAgICAgICB9CiAKICAgICAgICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0
YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNz
VXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVz
dFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdl
dCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNz
LWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93
LW1vZGFscyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25s
b2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2
YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2VzcyIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZy
YW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LnNyYyA9ICJyZXNvdXJjZXMv
bmVzdGluZy1pZnJhbWUuaHRtbCI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWVFbGVtZW50KTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmws
IHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFz
IHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVl
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5u
ZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN0YXRpc3RpY3NVcmwpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlmcmFtZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCAiYWxsb3ctc3Rv
cmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1v
cmlnaW4gYWxsb3ctbW9kYWxzIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
cmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3Jh
Z2VBY2Nlc3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0
UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWZyYW1lRWxlbWVudC5zcmMgPSAicmVzb3VyY2VzL25lc3RpbmctaWZyYW1lLmh0bWwiOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlm
cmFtZUVsZW1lbnQpOwogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tZGV0YWNoLXNob3VsZC1ub3QtaGF2ZS1h
Y2Nlc3MtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFj
Y2Vzcy1kYXRhYmFzZS5odG1sCmluZGV4IDA0MzcxM2VjMjhhMjkxYTlhYWYxZGE4NTYwN2YxYWNh
MmYxMTM1N2MuLjY5YjkzYzllNGI1ZjIwYTkxNDBlZmY1M2NhOGMzZTMxOWI0NGQzM2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFz
ZS5odG1sCkBAIC04OCwxMCArODgsMTEgQEAKIAogICAgICAgICBjb25zdCBob3N0VW5kZXJUZXN0
ID0gImxvY2FsaG9zdDo4MDAwIjsKICAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRw
Oi8vIiArIGhvc3RVbmRlclRlc3Q7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7CiAgICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoICE9PSAiI2ZpcnN0
UGFydHlDb29raWVTZXQiICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggIT09ICIjZWxlbWVudEFj
dGl2YXRlZCIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHN0YXRpc3RpY3NV
cmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9Zmlyc3RQ
YXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFj
Y2Vzcy5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOworICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaHJlZiA9IHN0YXRpc3RpY3NVcmwgKyAiL3N0b3JhZ2VBY2Nlc3MvcmVz
b3VyY2VzL3NldC1jb29raWUucGhwP25hbWU9Zmlyc3RQYXJ0eUNvb2tpZSZ2YWx1ZT12YWx1ZSNo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nl
c3MtdGhlbi1kZXRhY2gtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy5odG1sI2ZpcnN0UGFydHlDb29r
aWVTZXQiOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
dGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MtZGF0YWJhc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1n
cmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nl
c3MtZGF0YWJhc2UuaHRtbAppbmRleCA5NjFjMTMyMjIzN2FhZGEyY2RhODk1YjZjOTBkODI4NTVl
OGY0NTZlLi42MjdiNTZmMTg3ZTVmZTA3OGU4ODVhNzNmZTBjZDBiZjBhYzViMjU5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3Jh
bnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNz
LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxk
LW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sCkBAIC02MSwxMCArNjEsMTEgQEAKIAogICAg
ICAgICBjb25zdCBob3N0VW5kZXJUZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKICAgICAgICAgY29u
c3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Q7Ci0gICAgICAgIHRl
c3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgIGlmIChkb2N1bWVudC5s
b2NhdGlvbi5oYXNoICE9PSAiI2ZpcnN0UGFydHlDb29raWVTZXQiKSB7Ci0gICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsgIi9zdG9yYWdlQWNjZXNzL3Jlc291
cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlDb29raWUmdmFsdWU9dmFsdWUjaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LXRoZW4tbmF2aWdhdGUtY3Jvc3Mtc2l0ZS1zaG91bGQtbm90LWhhdmUtYWNjZXNzLmh0bWwjZmly
c3RQYXJ0eUNvb2tpZVNldCI7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFi
YXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5ocmVmID0gc3RhdGlzdGljc1VybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNv
b2tpZS5waHA/bmFtZT1maXJzdFBhcnR5Q29va2llJnZhbHVlPXZhbHVlI2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmln
YXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vzcy5odG1sI2ZpcnN0UGFydHlDb29r
aWVTZXQiOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
dGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQt
YWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFz
ZS5odG1sCmluZGV4IDljYzUxZTliODJjMTU2MTdiYWFkMzAxZWQ0MzA0NGRlNjZlZmMyNTYuLjk3
ZTI4YjRiMWIzMDQ5OGQzMzc5ODA2YWY5OGNmM2RiMDFkNTRhYjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3Mt
dGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNzLWRhdGFiYXNlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNhbWUtc2l0ZS1zaG91bGQtaGF2ZS1hY2Nlc3MtZGF0
YWJhc2UuaHRtbApAQCAtNjEsMTAgKzYxLDExIEBACiAKICAgICAgICAgY29uc3QgaG9zdFVuZGVy
VGVzdCA9ICJsb2NhbGhvc3Q6ODAwMCI7CiAgICAgICAgIGNvbnN0IHN0YXRpc3RpY3NVcmwgPSAi
aHR0cDovLyIgKyBob3N0VW5kZXJUZXN0OwotICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERh
dGFiYXNlKHRydWUpOwogICAgICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCAhPT0gIiNm
aXJzdFBhcnR5Q29va2llU2V0IikgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0g
c3RhdGlzdGljc1VybCArICIvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHA/
bmFtZT1maXJzdFBhcnR5Q29va2llJnZhbHVlPXZhbHVlI2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLXNhbWUt
c2l0ZS1zaG91bGQtaGF2ZS1hY2Nlc3MuaHRtbCNmaXJzdFBhcnR5Q29va2llU2V0IjsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSBzdGF0aXN0aWNzVXJsICsg
Ii9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9zZXQtY29va2llLnBocD9uYW1lPWZpcnN0UGFydHlD
b29raWUmdmFsdWU9dmFsdWUjaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVx
dWVzdC1hbmQtZ3JhbnQtYWNjZXNzLXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZl
LWFjY2Vzcy5odG1sI2ZpcnN0UGFydHlDb29raWVTZXQiOworICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5j
dGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vz
cy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcmFzaC1k
YXRhYmFzZS5odG1sCmluZGV4IDhmNzAzZWY1NDAxYTg0N2YyNzFiMjlkNjliMTM5YTRjOWZiM2Uy
MTAuLjY0OTBkNWNjNDMwNTFmODU3Y2UzODQyMThkNjc4ZjRhNGMyODZmZDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNj
ZXNzLWNyYXNoLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jhc2gtZGF0YWJhc2UuaHRtbApAQCAt
MTMsMTggKzEzLDE5IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgdmFyIHRlc3RE
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwotICAgICAgICB2YXIgdGVzdEZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIHRlc3REaXYu
YXBwZW5kQ2hpbGQodGVzdEZyYW1lKTsKLSAgICAgICAgdmFyIHRlc3RGcmFtZURvY3VtZW50ID0g
dGVzdEZyYW1lLmNvbnRlbnREb2N1bWVudDsKLSAgICAgICAgdGVzdEZyYW1lLm91dGVySFRNTCA9
IHRlc3RGcmFtZURvY3VtZW50OworICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNl
KHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHZhciB0ZXN0RGl2ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICAgICAgICAgIHZhciB0ZXN0RnJhbWUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgICAgIHRlc3REaXYuYXBwZW5k
Q2hpbGQodGVzdEZyYW1lKTsKKyAgICAgICAgICAgIHZhciB0ZXN0RnJhbWVEb2N1bWVudCA9IHRl
c3RGcmFtZS5jb250ZW50RG9jdW1lbnQ7CisgICAgICAgICAgICB0ZXN0RnJhbWUub3V0ZXJIVE1M
ID0gdGVzdEZyYW1lRG9jdW1lbnQ7CiAKLSAgICAgICAgdGVzdEZyYW1lRG9jdW1lbnQucmVxdWVz
dFN0b3JhZ2VBY2Nlc3MoKTsKKyAgICAgICAgICAgIHRlc3RGcmFtZURvY3VtZW50LnJlcXVlc3RT
dG9yYWdlQWNjZXNzKCk7CiAKLSAgICAgICAgZGVidWcoIlNVQ0NFU1M6IERpZCBub3QgY3Jhc2gu
IikKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICBkZWJ1ZygiU1VDQ0VTUzogRGlkIG5vdCBjcmFz
aC4iKQorICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiAgICAgPC9zY3Jp
cHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFt
ZS13aXRoLXVuaXF1ZS1vcmlnaW4tZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFzZS5odG1sCmluZGV4IDkzMDEz
YTY4ZTg5NTc1MGU0OGZmYjUxZTEzMGMxYjcyNWY2MDdlMDAuLjZjOWEyMDA1OGY0MzM2YzBmODNl
ZTY5YmQ1YTMwYWFmZGZhZWM4OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94
ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3Nz
LW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGgtdW5pcXVlLW9yaWdpbi1kYXRhYmFzZS5odG1s
CkBAIC00Miw5ICs0MiwxMCBAQAogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0g
ICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFjY2Vz
cyIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0
UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3Jp
Z2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nl
c3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRh
YmFzZS5odG1sCmluZGV4IGI5YzdmZDBmYmVmOGEwODQwZDI0ZmY4MjBlZjgxMzI2YTM0MzRiOWYu
Ljg5NmIwZGQyN2M3ZjQyZjdkMjFjNDQ5ODEyNjM1ZjIzNmMyZmM3OWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNz
LWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLXdpdGhvdXQtYWxsb3ctdG9rZW4tZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFs
bG93LXRva2VuLWRhdGFiYXNlLmh0bWwKQEAgLTQ1LDIzICs0NSwyNCBAQAogICAgICAgICB9CiAK
ICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1By
ZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3Vy
Y2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJI
b3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihz
dGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlz
dGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlw
dHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWZyYW1lRWxlbWVudC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVz
dHNTdG9yYWdlQWNjZXNzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRS
ZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFt
ZUVsZW1lbnQuc3JjID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291
cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGRHcmFudEFj
Y2Vzcyx1c2VyU2hvdWxkTm90QmVDb25zdWx0ZWQscG9saWN5U2hvdWxkRGVueUFjY2Vzcyxpc05v
dFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CisgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBs
b2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlw
dHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRo
YXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9
ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0
bWwjdXNlclNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91bGROb3RCZUNvbnN1bHRlZCxwb2xpY3lT
aG91bGREZW55QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9y
YWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LXVzZXItZ2Vz
dHVyZS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNz
L3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtd2l0
aG91dC11c2VyLWdlc3R1cmUtZGF0YWJhc2UuaHRtbAppbmRleCAzYzMwZmUyZGZjZDE4MGE2YjEw
ZjZlM2JiNzQ5NTkwNWYxNzI4YjZiLi4zYjRkOTNiN2E4Yjk0MWI5OTZkNWJmYmQ1M2Q1MmVmNThk
NzhlOTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3Mv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRo
b3V0LXVzZXItZ2VzdHVyZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5k
Ym94ZWQtaWZyYW1lLXdpdGhvdXQtdXNlci1nZXN0dXJlLWRhdGFiYXNlLmh0bWwKQEAgLTI1LDI0
ICsyNSwyNSBAQAogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRy
dWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJh
Y3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NV
cGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRl
KCJzYW5kYm94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxv
dy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuaWQgPSAiVGhlSWZyYW1lVGhhdFJlcXVlc3Rz
U3RvcmFnZUFjY2VzcyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5zcmMgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3Jl
cXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtd2l0aG91dC11c2VyLWdlc3R1cmUtaWZyYW1lLmh0bWwjdXNl
clNob3VsZEdyYW50QWNjZXNzLHVzZXJTaG91bGROb3RCZUNvbnN1bHRlZCxwb2xpY3lTaG91bGRO
b3RHcmFudEFjY2Vzcyxpc05vdFNhbWVPcmlnaW5JZnJhbWUiOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0
aWNzVXJsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRp
ZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Rh
dGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0
aXN0aWNzVXJsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgi
SG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llQmxv
Y2tpbmcoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBp
ZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzYW5k
Ym94IiwgImFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiBhbGxvdy1zY3Jp
cHRzIGFsbG93LXNhbWUtb3JpZ2luIGFsbG93LW1vZGFscyIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0
b3JhZ2VBY2Nlc3MiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZnJhbWVFbGVt
ZW50LnNyYyA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMv
cmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy13aXRob3V0LXVzZXItZ2VzdHVyZS1pZnJhbWUuaHRtbCN1
c2VyU2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3Vs
ZE5vdEdyYW50QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLWlmcmFtZS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nl
c3Mtc2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLmh0bWwKaW5kZXggNTg4MGI1Yzg1YTIzNDZi
ZGEzYjYyOTQzYmE4YzUzNDMxN2FhMzIzNi4uMjllNGYxNGI0NzA5NzMyYTczN2QxYTdiMTI1OWMz
NzZjZTU3OGQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3Rv
cmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4taWZyYW1lLWRhdGFiYXNlLmh0bWwKQEAgLTQyLDkgKzQy
LDEwIEBACiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgYWN0aXZh
dGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3Jh
Z2VBY2Nlc3MiKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQt
aWZyYW1lLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nl
c3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWRh
dGFiYXNlLmh0bWwKaW5kZXggNjJiMTcxNWZmYjFhZGMwYmM2MDcxNjBiODEyZmNiZWI1YTNhNmI1
My4uYjI0MjQ5ZTZhYzE5ZTdmYjA1YzZlYWIzZWJmOWNlOGZmYWFiNjEyYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nl
c3Mtc2FtZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNh
bWUtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZGF0YWJhc2UuaHRtbApAQCAtNDIsOSArNDIsMTAg
QEAKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwotICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBhY3RpdmF0ZUVs
ZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3MiKTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgICAgIGFjdGl2YXRlRWxlbWVudCgiVGhlSWZyYW1lVGhhdFJlcXVlc3RzU3RvcmFnZUFj
Y2VzcyIpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0K
ICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtd2l0aG91dC1hbGxvdy10b2tlbi1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4tc2Fu
ZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLmh0bWwKaW5kZXggYWY2
OTNlZDNlOGM5ZTM0MTkyODE0ODQwNzA4ZjAxZjEyZWVlNTBkYy4uNTE3MjgyZDIxN2FkYjQ1NTQx
OTQ5OTEzZjk4NmM0MTY0NGZiMmQzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2FtZS1vcmlnaW4tc2FuZGJv
eGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3Mtc2Ft
ZS1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS13aXRob3V0LWFsbG93LXRva2VuLWRhdGFiYXNlLmh0
bWwKQEAgLTQ1LDIzICs0NSwyNCBAQAogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gcnVu
VGVzdCgpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRp
c3RpY3NVcmwsIHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9y
IHVzZXIgaW50ZXJhY3Rpb24uIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyhmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsZXQgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlmcmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQu
c2V0QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4g
YWxsb3ctbW9kYWxzIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVu
dC5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWN0aXZhdGVFbGVtZW50KCJUaGVJZnJhbWVUaGF0UmVxdWVzdHNTdG9yYWdlQWNjZXNzIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZnJhbWVFbGVtZW50LmlkID0gIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3Mi
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc3JjID0gImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2Ut
YWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91bGREZW55QWNjZXNzLHVzZXJTaG91bGROb3RCZUNv
bnN1bHRlZCxwb2xpY3lTaG91bGRHcmFudEFjY2Vzcyxpc1NhbWVPcmlnaW5JZnJhbWUiOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1l
RWxlbWVudCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUs
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQ
cmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBsb2dnZWQgZm9yIHVzZXIgaW50ZXJhY3Rp
b24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
VXBkYXRlQ29va2llQmxvY2tpbmcoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxldCBpZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1lbnQuc2V0
QXR0cmlidXRlKCJzYW5kYm94IiwgImFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxs
b3ctbW9kYWxzIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUVsZW1l
bnQub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhY3RpdmF0ZUVsZW1lbnQoIlRoZUlmcmFtZVRoYXRSZXF1ZXN0c1N0b3JhZ2VBY2Nlc3Mi
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWZyYW1lRWxlbWVudC5pZCA9ICJUaGVJZnJhbWVUaGF0UmVxdWVzdHNT
dG9yYWdlQWNjZXNzIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lRWxl
bWVudC5zcmMgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2Vz
L3JlcXVlc3Qtc3RvcmFnZS1hY2Nlc3MtaWZyYW1lLmh0bWwjdXNlclNob3VsZERlbnlBY2Nlc3Ms
dXNlclNob3VsZE5vdEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNjZXNzLGlzU2FtZU9y
aWdpbklmcmFtZSI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy10b3AtZnJhbWUtZGF0YWJh
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0
b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRhYmFzZS5odG1sCmluZGV4IDYzMTg3NjdmOGNmZjZl
MzU4MzFiODU4YmZiOGM2NjBjMTI1OTYzNzEuLjlhZmM0MTg3ZmM1MGVjZmIyYTQ5MmFmZmNhMDE0
OTk3MDA3ZWVlNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFj
Y2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXRvcC1mcmFtZS1kYXRhYmFzZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNj
ZXNzLXRvcC1mcmFtZS1kYXRhYmFzZS5odG1sCkBAIC01OCw4ICs1OCw5IEBACiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRh
YmFzZSh0cnVlKTsKLSAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJ0aGVCdXR0b24iKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlLCBmdW5jdGlvbiAoKSB7CisgICAg
ICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRoZUJ1dHRvbiIpOworICAgICAgICB9KTsKICAgICB9
CiA8L3NjcmlwdD4KIDxidXR0b24gaWQ9InRoZUJ1dHRvbiIgb25jbGljaz0ibWFrZVJlcXVlc3RX
aXRoVXNlckdlc3R1cmUoKSI+UmVxdWVzdCBBY2Nlc3M8L2J1dHRvbj4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381098</attachid>
            <date>2019-10-16 12:31:36 -0700</date>
            <delta_ts>2019-10-16 15:16:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203020-20191016123135.patch</filename>
            <type>text/plain</type>
            <size>14878</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlhZmI4ZWVmODQ0ZTE1NDg1
NGZmZWIzY2EwZGRmZTVkMTJhMTZjMTIuLjdjMDEyOTBmMDJmYzI5NGQxYWQ2YzNjZGUwYWFmMmQx
NjhlNjAwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMTAtMTYgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJzaXRlRGF0
YVN0b3JlU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKSBzaG91bGQgY2FsbCBzdG9y
ZS5zZXRVc2VJVFBEYXRhYmFzZShmYWxzZSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMzAyMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYzMTQ0
ODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBzaG91bGQgYmUgcmVzZXQgYmV0d2VlbiB0ZXN0
cyB0byB1c2UKKyAgICAgICAgYSBtZW1vcnkgc3RvcmUsIGFuZCBhbnkgdGVzdCB0aGF0IG5lZWRz
IHRvIHVzZSB0aGUgZGF0YWJhc2Ugc3RvcmUKKyAgICAgICAgY2FuIHVzZSB0aGUgc2V0VXNlSVRQ
RGF0YWJhc2UgZnVuY3Rpb24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpzZXRVc2VJVFBEYXRh
YmFzZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdL
V2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlKToKKyAgICAgICAgKFdLV2Vic2l0ZURh
dGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg6CisgICAgICAgICogVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzUHJveHk6OnNldFVzZUlUUERhdGFiYXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjpzZXRVc2VJVFBEYXRhYmFzZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwogMjAxOS0xMC0xNSAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBBZGQgdXNlciBt
ZXNzYWdlcyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHAKaW5kZXggMTQyNTliMTI4M2IxYTNhZDFjMzU4NjQ4NzRkMGQ3OWIyZTM2Nzg1Yi4u
ODEwZTc0OGRiZDRjYzNmZDhiYTI5YjAxM2NjZWE0ZGIzZjUzNmUxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTY2NiwxNSArNjY2
LDE4IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsCiAgICAgfQogfQogCi12b2lkIE5ldHdvcmtQ
cm9jZXNzOjpzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wg
dmFsdWUpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoYXV0byogbmV0d29ya1Nlc3Npb24gPSB0aGlz
LT5uZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKSB7CiAgICAgICAgIGlmIChtX2lzSVRQRGF0YWJh
c2VFbmFibGVkICE9IHZhbHVlKSB7CiAgICAgICAgICAgICBtX2lzSVRQRGF0YWJhc2VFbmFibGVk
ID0gdmFsdWU7CiAgICAgICAgICAgICBuZXR3b3JrU2Vzc2lvbi0+cmVjcmVhdGVSZXNvdXJjZUxv
YWRTdGF0aXN0aWNTdG9yZSgpOwogICAgICAgICB9Ci0gICAgfSBlbHNlCisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CisgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfQogfQogCiB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpzZXRQcmV2YWxlbnRSZXNvdXJjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiBkb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaAppbmRleCBjMTMwY2FjNmFlMjI0MDFlOGYxNDdhM2VkMzFkNzExOWEw
M2IzNzUyLi5jODlkZjg0ZWEyOWJhZjEwMGQ3ZTlmOGE3MzAwNTBhNDM3Mjk5NGI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yMjEsNyAr
MjIxLDcgQEAgcHVibGljOgogICAgIHZvaWQgaXNSZWdpc3RlcmVkQXNTdWJGcmFtZVVuZGVyKFBB
TDo6U2Vzc2lvbklELCBjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWlu
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBpc1JlZ2lzdGVy
ZWRBc1N1YnJlc291cmNlVW5kZXIoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN1YlJlc291cmNlRG9t
YWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFJl
Z2lzdHJhYmxlRG9tYWluJiwgYm9vbCBpc0dyYW5kZmF0aGVyZWQsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCwg
Ym9vbCB2YWx1ZSk7CisgICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCwg
Ym9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldE1h
eFN0YXRpc3RpY3NFbnRyaWVzKFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBtYXhpbXVtRW50cnlD
b3VudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVu
dFJlc291cmNlKFBBTDo6U2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZUZv
ckRlYnVnTW9kZShQQUw6OlNlc3Npb25JRCwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggY2U1YjZiYTQzNjRk
Mjg2ZDdkYWM1NDdkNjhhZTY0NGNmZTNiZGVmYS4uYzM1ZDExM2VjNjIwNmFlOTFjMTQzZGQ5Yzc1
YmM3ZGFjODE4MzNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMTIsNyArMTEyLDcgQEAgbWVzc2Fn
ZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN1Ym1pdFRlbGVtZXRy
eShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0Q2FjaGVNYXhB
Z2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTZWNv
bmRzIHNlY29uZHMpIC0+ICgpIEFzeW5jCiAgICAgU2V0R3JhbmRmYXRoZXJlZChQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlc291cmNlRG9tYWlu
LCBib29sIGlzR3JhbmRmYXRoZXJlZCkgLT4gKCkgQXN5bmMKLSAgICBTZXRVc2VJVFBEYXRhYmFz
ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUpCisgICAgU2V0VXNlSVRQRGF0
YWJhc2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwog
ICAgIFNldEdyYW5kZmF0aGVyaW5nVGltZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFNlY29u
ZHMgc2Vjb25kcykgLT4gKCkgQXN5bmMKICAgICBTZXRNYXhTdGF0aXN0aWNzRW50cmllcyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IG1heGltdW1FbnRyeUNvdW50KSAtPiAoKSBB
c3luYwogICAgIFNldE1pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIFNlY29uZHMgc2Vjb25kcykgLT4gKCkgQXN5bmMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCmluZGV4IDc0NGZjYmE5ZWUyYTE5NjE3NWExM2E1MTI3OTQ2ZGYxNDNlMDRlNzcuLmQzMzUw
NjBjZDdiMmUyY2EyYTUxMjY3ZTEwODFiNjY2MDE0OGI1MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAt
Mjg5LDEwICsyODksMTQgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFu
ZGZhdGhlcmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmUKICNlbmRpZgogfQogCi12
b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUpCit2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNl
dFVzZUlUUERhdGFiYXNlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wg
dmFsdWUsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNl
RnVuY3Rpb24gY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURf
U1RBVElTVElDUykKLSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXRVc2VJVFBE
YXRhYmFzZSh2YWx1ZSk7CisgICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+c2V0VXNl
SVRQRGF0YWJhc2UodmFsdWUsIFtjb250ZXh0LCBjb21wbGV0aW9uSGFuZGxlcl0geworICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKKyAgICB9KTsKKyNlbHNlCisgICAgY29tcGxl
dGlvbkhhbmRsZXIoY29udGV4dCk7CiAjZW5kaWYKIH0KIApAQCAtNTQ4LDYgKzU1Miw3IEBAIHZv
aWQgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhCiAgICAgc3RvcmUuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1Nob3VsZERvd25ncmFkZVJlZmVycmVyRm9yVGVzdGluZyh0cnVlLCBbY2FsbGJhY2tBZ2dyZWdh
dG9yID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0geyB9KTsKICAgICBzdG9yZS5yZXNl
dFBhcmFtZXRlcnNUb0RlZmF1bHRWYWx1ZXMoW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNr
QWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgc3RvcmUuc2NoZWR1bGVDbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudChXZWJLaXQ6OlNob3VsZEdyYW5kZmF0aGVyU3RhdGlzdGljczo6Tm8s
IFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFja0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0p
OworICAgIHN0b3JlLnNldFVzZUlUUERhdGFiYXNlKGZhbHNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9y
ID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0geyB9KTsKICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKGRhdGFTdG9yZVJlZik7CiAgICAgY29tcGxldGlvbkhhbmRsZXIoY29udGV4dCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5oCmluZGV4IGVmNDMzOTg2MDQ0YWExMTQ1MTU3ZjljN2JkYmZhZGI0YmRhZmRmM2YuLmFk
NWMyY2UzNDZkMDY5OGVjNWFiMzExNDQ4MmI0ODczMDAwZDg4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oCkBAIC03
NSw3ICs3NSw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGlj
c09ubHlJbkRhdGFiYXNlT25jZShXS1dlYnNpdGVEYXRhU3RvCiBXS19FWFBPUlQgdm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJlZChXS1dlYnNpdGVEYXRhU3Rv
cmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCBib29sIHZhbHVlKTsKIHR5cGVk
ZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWRGdW5j
dGlvbikoYm9vbCBpc0dyYW5kZmF0aGVyZWQsIHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19F
WFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NHcmFuZGZhdGhlcmVkKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIHZvaWQq
IGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWRGdW5j
dGlvbiBjYWxsYmFjayk7Ci1XS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJ
VFBEYXRhYmFzZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIHZhbHVl
KTsKK3R5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVNldFVzZUlUUERhdGFiYXNlRnVu
Y3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVE
YXRhU3RvcmVTZXRVc2VJVFBEYXRhYmFzZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3Jl
UmVmLCBib29sIHZhbHVlLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRVc2VJ
VFBEYXRhYmFzZUZ1bmN0aW9uIGNhbGxiYWNrKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURh
dGFTdG9yZVNldFN0YXRpc3RpY3NTdWJmcmFtZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYg
dG9wRnJhbWVIb3N0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRp
c3RpY3NTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVm
IGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgdG9wRnJhbWVIb3N0
KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTdWJyZXNv
dXJjZVVuaXF1ZVJlZGlyZWN0VG8oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwg
V0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgaG9zdFJlZGlyZWN0ZWRUbyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAppbmRleCBjYTFmNWFiMjYxOGFkZDQ2MzU1MDQ0YWUwZmZmZmRiNmEzNzYzZTRkLi40NTg1
Y2ZmZmVlNThlYzA2ODg1ZmUxN2RiOTVkYjg2MjY3NjNkMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAg
LTc4NiwxMiArNzg2LDkgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRHcmFuZGZhdGhl
cmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgUmVnaXMKICAgICBzZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRHcmFuZGZhdGhlcmVkKHNlc3Np
b25JRCwgcmVzb3VyY2VEb21haW4sIGlzR3JhbmRmYXRoZXJlZCksIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRVc2VJVFBEYXRh
YmFzZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUpCit2b2lkIE5ldHdvcmtQ
cm9jZXNzUHJveHk6OnNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
Ym9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAot
ICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRVc2VJVFBEYXRhYmFzZShzZXNz
aW9uSUQsIHZhbHVlKSwgMCk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6U2V0VXNlSVRQRGF0YWJhc2Uoc2Vzc2lvbklELCB2YWx1ZSksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1
ZXN0U3RvcmFnZUFjY2Vzc0NvbmZpcm0oV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQsIEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgc3ViRnJhbWVE
b21haW4sIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiB0b3BGcmFtZURvbWFpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXgg
ZmJmMmNlNTlmOGQwNWFkN2RiODk5M2UyZmJjZDE0YjQ0NGQ1MTcyYi4uNmFiMjAzOTZlMmE2ZjRj
OTljMDgzMDJmMTk1ODc5MWJkNTFiNmRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTExOCw3ICsxMTgsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBZ2VDYXBGb3JDbGllbnRTaWRlQ29va2llcyhQQUw6OlNl
c3Npb25JRCwgT3B0aW9uYWw8U2Vjb25kcz4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CiAgICAgdm9pZCBzZXRDYWNoZU1heEFnZUNhcChQQUw6OlNlc3Npb25JRCwgU2Vjb25kcywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVyZWQoUEFM
OjpTZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgYm9vbCBpc0dyYW5kZmF0aGVy
ZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRVc2VJVFBEYXRh
YmFzZShQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSk7CisgICAgdm9pZCBzZXRVc2VJVFBEYXRh
YmFzZShQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKICAgICB2b2lkIHNldE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQo
UEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRJc1J1bm5pbmdSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdChQQUw6OlNlc3Npb25J
RCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldE5vdGlm
eVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFBBTDo6U2Vzc2lvbklELCBib29sLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCA4Mzc1MWU5MzQ1
Y2ZhN2JmZjNhNWE3NDVlYTg4ZjIwMGY5ZmI5ODc2Li4zOTA4ZDdiNzcwMjFmMzIyOTYzM2I5YmFk
NDkyODY2Y2FhNzE5Mjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMTcwMSwxMiArMTcwMSwxNiBA
QCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiB1cmws
IGJvb2wgaXNHcmFuZGZhdGhlcmVkLCBDbwogICAgIH0KIH0KIAotdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlKQordm9pZCBXZWJzaXRlRGF0YVN0b3Jl
OjpzZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsK
LQotICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkKLSAgICAgICAg
cHJvY2Vzc1Bvb2wtPmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkuc2V0VXNlSVRQRGF0YWJhc2UobV9z
ZXNzaW9uSUQsIHZhbHVlKTsKKyAgICAKKyAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENh
bGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAg
ICAKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpIHsKKyAgICAg
ICAgaWYgKGF1dG8qIHByb2Nlc3MgPSBwcm9jZXNzUG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKKyAg
ICAgICAgICAgIHByb2Nlc3MtPnNldFVzZUlUUERhdGFiYXNlKG1fc2Vzc2lvbklELCB2YWx1ZSwg
W2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7
CisgICAgfQogfQogCiB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldENyb3NzU2l0ZUxvYWRXaXRo
TGlua0RlY29yYXRpb25Gb3JUZXN0aW5nKGNvbnN0IFVSTCYgZnJvbVVSTCwgY29uc3QgVVJMJiB0
b1VSTCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCmluZGV4IDk0ZGU5ZWVjZjNjNTg5M2Y5ZmE5MmQyY2ZjNTMzMTkwMzRmMjdiZDAuLjkz
MGUzMDUwNWIzNWFhN2M1ZWQ2YmQ5MDg0NGFiMWZhMTdiNWUzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAg
LTE2Miw3ICsxNjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdWJtaXRUZWxlbWV0cnkoKTsKICAg
ICB2b2lkIHNldEdyYW5kZmF0aGVyZWQoY29uc3QgVVJMJiwgYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGlzR3JhbmRmYXRoZXJlZChjb25zdCBVUkwmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNl
KGJvb2wpOworICAgIHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVyaW5nVGltZShTZWNvbmRzLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0TGFzdFNlZW4oY29uc3Qg
VVJMJiwgU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIG1l
cmdlU3RhdGlzdGljRm9yVGVzdGluZyhjb25zdCBVUkwmLCBjb25zdCBVUkwmIHRvcEZyYW1lVXJs
MSwgY29uc3QgVVJMJiB0b3BGcmFtZVVybDIsIFNlY29uZHMgbGFzdFNlZW4sIGJvb2wgaGFkVXNl
ckludGVyYWN0aW9uLCBTZWNvbmRzIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb24sIGJvb2wgaXNH
cmFuZGZhdGhlcmVkLCBib29sIGlzUHJldmFsZW50LCBib29sIGlzVmVyeVByZXZhbGVudCwgdW5z
aWduZWQgZGF0YVJlY29yZHNSZW1vdmVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA3MmY4
MTc2NjMxZWNlZjE2MjI0OGQzYThjY2I3MjYyMTNlZDRjNWIuLjFlMmJiN2NjZWZhYjdkZjZkZGFh
NjhkNDZhZTVhODk3NjA4MTAyYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0xMC0xNiAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBXS1dlYnNpdGVEYXRhU3Rv
cmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpIHNob3VsZCBjYWxsIHN0b3JlLnNl
dFVzZUlUUERhdGFiYXNlKGZhbHNlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAzMDIwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjMxNDQ4ND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBh
IGNvbXBsZXRpb24gaGFuZGxlciB0byBzZXRVc2VJVFBEYXRhYmFzZSgpIHRvIGF2b2lkIHJhY2UK
KyAgICAgICAgY29uZGl0aW9ucy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0VXNlSVRQRGF0
YWJhc2UpOgorCiAyMDE5LTEwLTE1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEFkZCB1c2VyIG1lc3NhZ2VzIEFQSQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBlOWQ0MjhlODM0ZjZk
Y2NkZTk3M2UyZWVlOGI1MjJmODkzNGZkMDYxLi40YmE0OTE2OGZhMDY0ZDU5YTcxMTRlNzA2YWY3
ZjRmMWI4MzY3MjdiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cApAQCAtMzM4Miw3ICszMzgyLDkgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6aXNTdGF0aXN0aWNz
R3JhbmRmYXRoZXJlZChXS1N0cmluZ1JlZiBob3N0KQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpz
ZXRVc2VJVFBEYXRhYmFzZShib29sIHZhbHVlKQogewotICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNl
dFVzZUlUUERhdGFiYXNlKFRlc3RDb250cm9sbGVyOjp3ZWJzaXRlRGF0YVN0b3JlKCksIHZhbHVl
KTsKKyAgICBSZXNvdXJjZVN0YXRpc3RpY3NDYWxsYmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7
CisgICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0VXNlSVRQRGF0YWJhc2UoVGVzdENvbnRyb2xsZXI6
OndlYnNpdGVEYXRhU3RvcmUoKSwgdmFsdWUsICZjb250ZXh0LCByZXNvdXJjZVN0YXRpc3RpY3NW
b2lkUmVzdWx0Q2FsbGJhY2spOworICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1lb3V0
KTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc1N1YmZyYW1lVW5kZXJU
b3BGcmFtZU9yaWdpbihXS1N0cmluZ1JlZiBob3N0LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3Qp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>