<?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>202274</bug_id>
          
          <creation_ts>2019-09-26 09:50:56 -0700</creation_ts>
          <short_desc>Stop using testRunner.overridePreference() to turn on Page Cache</short_desc>
          <delta_ts>2019-09-26 15:20:29 -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>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574491</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 09:50:56 -0700</bug_when>
    <thetext>Stop using testRunner.overridePreference() to turn on Page Cache, as this does not work for WebKit2 when navigating cross-origin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574492</commentid>
    <comment_count>1</comment_count>
      <attachid>379650</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 09:51:45 -0700</bug_when>
    <thetext>Created attachment 379650
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574529</commentid>
    <comment_count>2</comment_count>
      <attachid>379659</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 10:52:25 -0700</bug_when>
    <thetext>Created attachment 379659
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574532</commentid>
    <comment_count>3</comment_count>
      <attachid>379661</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 10:59:18 -0700</bug_when>
    <thetext>Created attachment 379661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574560</commentid>
    <comment_count>4</comment_count>
      <attachid>379661</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-26 11:47:23 -0700</bug_when>
    <thetext>Comment on attachment 379661
Patch

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

&gt; Tools/DumpRenderTree/TestRunner.cpp:587
&gt; +    RELEASE_ASSERT(!JSStringIsEqualToUTF8CString(key.get(), &quot;WebKitUsesPageCachePreferenceKey&quot;));

These assertions seem a bit overboard.  If it does nothing in WebKitTestRunner, future developers will realize that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574567</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-26 11:52:55 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 379661 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=379661&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/TestRunner.cpp:587
&gt; &gt; +    RELEASE_ASSERT(!JSStringIsEqualToUTF8CString(key.get(), &quot;WebKitUsesPageCachePreferenceKey&quot;));
&gt; 
&gt; These assertions seem a bit overboard.  If it does nothing in
&gt; WebKitTestRunner, future developers will realize that.

I don&apos;t think it is that obvious, especially if somebody is writing a test for something does not not enter PageCache. Also, a RELEASE_ASSERT() in WKTR really does not hurt anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574632</commentid>
    <comment_count>6</comment_count>
      <attachid>379661</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 14:37:46 -0700</bug_when>
    <thetext>Comment on attachment 379661
Patch

Clearing flags on attachment: 379661

Committed r250398: &lt;https://trac.webkit.org/changeset/250398&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574633</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-26 14:37:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574634</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-26 14:38:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/55758960&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379650</attachid>
            <date>2019-09-26 09:51:45 -0700</date>
            <delta_ts>2019-09-26 10:52:25 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>202274_wip.patch</filename>
            <type>text/plain</type>
            <size>107949</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2Fj
aGUuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUu
aHRtbAppbmRleCBhZjFkZTAzYzIwYS4uYTY2MjJlZTMwODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8c3R5bGU+CiBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHsKICAgICBmcm9tIHsKQEAgLTI1
LDcgKzI2LDYgQEAgdmFyIGhhc05hdmlnYXRlZCA9IGZhbHNlOwogZnVuY3Rpb24gc2F3SXRlcmF0
aW9uKGV2ZW50KSB7CiAgICAgaWYgKGhhc05hdmlnYXRlZCkgewogICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmlubmVyVGV4dCA9ICJQQVNTOiBTYXcgaXRlcmF0aW9u
IGFmdGVyIG5hdmlnYXRpb24iOwotICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMCk7CiAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIH0KQEAgLTQyLDcgKzQyLDYgQEAgZnVu
Y3Rpb24gc3RhcnRUZXN0KCkgewogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgc3RhcnRUZXN0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9hY2NlbGVyYXRlZC1sYXllcnMtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtbGF5ZXJzLWFmdGVyLWJhY2suaHRtbAppbmRl
eCA3Nzg1NDczMWUyNi4uM2I2MWE0NGMzYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2FjY2VsZXJhdGVkLWxheWVycy1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtbGF5ZXJzLWFmdGVyLWJhY2suaHRtbApAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUFj
Y2VsZXJhdGVkRHJhd2luZz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VBY2NlbGVyYXRlZERyYXdpbmc9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogCiA8aHRtbD4KIDxoZWFkPgpAQCAtMTksNyArMTksNiBAQAogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAg
ICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGZ1bmN0
aW9uIGRvT25GaXJzdExvYWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwKaW5kZXggNDIzZGNjMzA1ZjQu
Ljk2YzY5OGYzNzQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVz
L3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC00OSw3ICs1MCw2IEBACiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3BhZ2UtY2FjaGUtYmFjay1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGFnZS1jYWNoZS1iYWNrLWNyYXNoLmh0bWwK
aW5kZXggMTQ2MGU3Njc0ODYuLjhmNjhiY2Q4ZmE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wYWdlLWNhY2hlLWJhY2stY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wYWdlLWNhY2hlLWJhY2stY3Jhc2guaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzdHls
ZT4KIC5vdXRlciB7IHBvc2l0aW9uOiBmaXhlZDsgfQogLmlubmVyIHsgcG9zaXRpb246IGFic29s
dXRlOyB9CkBAIC04LDcgKzksNiBAQCBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB3aW5kb3cu
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1
bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaG93
LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9zaG93LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwKaW5kZXgg
NjVhOGIxMDUyMTIuLjU2OTVlNzRmMzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9zaG93LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFtZS1vbi1iYWNrLWJ1dHRv
bi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAt
MTUsMTEgKzE2LDggQEAgZnVuY3Rpb24gaGFuZGxlT25QYWdlU2hvdyhwYWdlVHJhbnNpdGlvbkV2
ZW50KQogICAgIHRlc3RSdW5uZXIucXVldWVCYWNrTmF2aWdhdGlvbigxKTsKIH0KIAotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB3aW5kb3cub25wYWdlc2hvdyA9IGhhbmRsZU9uUGFnZVNob3c7Ci19CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9t
YWMvaW5wdXQvdW5jb25maXJtZWQtdGV4dC1uYXZpZ2F0aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvaW5wdXQvdW5jb25maXJtZWQtdGV4dC1uYXZpZ2F0
aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1sCmluZGV4IDRhZjMzYWIxYTFjLi4zODg3N2NiZDBlOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvaW5wdXQvdW5jb25maXJtZWQtdGV4
dC1uYXZpZ2F0aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvbWFjL2lucHV0L3VuY29uZmlybWVkLXRleHQtbmF2aWdhdGlvbi13aXRoLXBhZ2UtY2FjaGUu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8dGl0bGU+VGVzdCB3aGF0IGhhcHBl
bnMgd2hlbiBuYXZpZ2F0aW5nIGZyb20gYSBwYWdlIHdpdGggdW5jb25maXJtZWQgaW5saW5lIGlu
cHV0IHdoZW4gdGhlIHBhZ2UgaXMgY2FjaGVhYmxlPC90aXRsZT4KQEAgLTcsMTAgKzgsOCBAQAog
PHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5k
b3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci19CiAKIC8vIFdpbmRvdyB3ZSB3aWxsIGJlIGNvbnRy
b2xsaW5nLgogdmFyIHRhcmdldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Zv
bnRsb2FkZXItcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udGxvYWRl
ci1wYWdlLWNhY2hlLmh0bWwKaW5kZXggOGQ0NzJmMTBjNDMuLjdhMjBhMGMxYTI5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250bG9hZGVyLXBhZ2UtY2FjaGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250bG9hZGVyLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8c3R5bGU+CkBAIC0yMiw3ICsyMyw2IEBA
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogICAgIGRvY3VtZW50LmZvbnRz
LmxvYWRGb250KHsgZm9udDogJzEwcHggVGVzdEZvbnQnLCBvbnN1Y2Nlc3M6IG9uc3VjY2Vzcywg
b25lcnJvcjogb25lcnJvciB9KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9uby1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vbm8tcGFnZS1jYWNoZS5odG1sCmluZGV4IGNmNzQ5N2YyODg5Li41OWU3Mzgz
MTkxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL25vLXBh
Z2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vbm8t
cGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtOSw3ICsx
MCw2IEBAIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZU1vdGlv
biBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9w
ZW5XaW5kb3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7CiB9IGVsc2UKICAgICBkZWJ1ZygnVGhpcyB0
ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIFRlc3RSdW5uZXInKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQtYWZ0ZXItbmF2
aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZl
bnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sCmluZGV4IDlmOTc3NGFmNGZmLi4yMzhiMzcxNGYwMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQt
YWZ0ZXItbmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9y
aWVudGF0aW9uL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KQEAgLTYsMTEgKzcsNiBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCdUZXN0
cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMg
YmVlbiBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGluIHRoZSBwYWdl
IGNhY2hlLicpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7Ci1l
bHNlCi0gICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0
UnVubmVyJyk7Ci0KIGRvY3VtZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0aW9uJywgZnVuY3Rpb24oKSB7IH0g
KTsKICAgICB3aW5kb3cubG9jYXRpb24gPSAicmVzb3VyY2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRp
b24tbmV3Lmh0bWwiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3Jp
ZW50YXRpb24vbm8tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24vbm8tcGFnZS1jYWNoZS5odG1sCmluZGV4IGM2YTIxNWI5NTVmLi42NjUxZjUx
NmRlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24v
bm8tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVu
dGF0aW9uL25vLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
QEAgLTksNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBwYWdlcyB0aGF0IHVzZSBE
ZXZpY2VPcmllbnRhdGlvbiBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZQogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOwogfSBlbHNlCiAgICAgZGVi
dWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy90aW1lci1yZXN1bWUtb24t
bmF2aWdhdGlvbi1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvdGltZXIt
cmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCmluZGV4IGUwOTA1YWY5NjI3Li4zMDJhNDI0
MGI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3RpbWVyLXJlc3Vt
ZS1vbi1uYXZpZ2F0aW9uLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvdGltZXItcmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0
bWw+CiA8c2NyaXB0PgogdmFyIHRpbWVvdXRWYWx1ZSA9IDEwMDsgLy9tcwpAQCAtMjgsNyArMjks
NiBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICAvLyBMb2NhdGlvbiBjaGFu
Z2VzIG5lZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRl
IGhpc3RvcnkgZW50cmllcy4KICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb251bmxvYWQtYmFjay10by1wYWdlLWNhY2hlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUu
aHRtbAppbmRleCAzOGM0YjYyM2JkMy4uZjAxODRmMzdjNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL29udW5sb2FkLWJhY2stdG8tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL29udW5sb2FkLWJhY2stdG8tcGFnZS1jYWNoZS5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgogPGh0bWw+CiA8aGVhZD4KQEAgLTExLDExICsxMiw4IEBAIG9ucGFnZXNob3cgPSBmdW5jdGlv
bihldmVudCkgewogICAgIGlmICh3aW5kb3cuaGlzdG9yeS5zdGF0ZSA9PSAnbmF2aWdhdGVkJykg
ewogICAgICAgICB0ZXN0UGFzc2VkKCdXZWJUaW1pbmcgYXNzZXJ0cyBpbiBGcmFtZUxvYWRlci5j
cHAgZGlkIG5vdCBmaXJlJyk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEp
OworICAgIH0gZWxzZQogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3dpbmRvdy5oaXN0
b3J5LnJlcGxhY2VTdGF0ZSgnbmF2aWdhdGVkJywgJycpOyBsb2NhdGlvbi5ocmVmID0gJ2RhdGE6
dGV4dC9odG1sLDxzY3JpcHQ+b251bmxvYWQ9ZnVuY3Rpb24oKSB7fSxvbmxvYWQ9ZnVuY3Rpb24o
KXtoaXN0b3J5LmJhY2soKTt9PCcgKyAnL3NjcmlwdD4nO30sIDApOwotICAgIH0KIH0KIAogdmFy
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcGFnZWhpZGUtdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhp
ZGUtdGltZW91dC5odG1sCmluZGV4IGQ5ZjI0ZDdkZjBkLi40ODAxZWU4ODY5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVvdXQuaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxodG1sPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CiA8Ym9keT4KQEAgLTUsOSArNiw2IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBKUyBleGVjdXRpb24gaXMgc3VzcGVuZGVk
IGFmdGVyIHRoZSBwYWdlaGlkZSBldmVudCBpcyBmaXJlZCwgc28gdGhhdCB0aW1lcnMgY3JlYXRl
ZCB3aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3aGlsZSB0aGUgZG9jdW1lbnQgaXMgaW4gdGhlIHBh
Z2UgY2FjaGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsK
LSAgICAKIG9ucGFnZWhpZGUgPSBmdW5jdGlvbigpCiB7CiAgICAgLy8gRG9uJ3QgdHJ5IHRvIGNy
ZWF0ZSB0aGUgdGltZW91dCBhZ2FpbiBpZiB0aGUgdGVzdCBpcyBjb21wbGV0ZSBhbmQgd2UncmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS14aHItb3Blbi5odG1sCmluZGV4
IDJiZTgxMDE4ZjVjLi5hM2I5YjVjZTM3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcGFnZWhpZGUteGhyLW9wZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9wYWdlaGlkZS14aHItb3Blbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxib2R5PgpAQCAt
NywxMCArOCw2IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiBkZXNjcmlwdGlv
bignVHJpZXMgdG8gdHJpZ2dlciBhbiBhc3NlcnQgaW4geG1saHR0cHJlcXVlc3QgZHVyaW5nIHBh
Z2VoaWRlLicpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7Ci0K
LQogb25wYWdlc2hvdyA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIGlmIChldmVudC5wZXJzaXN0
ZWQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2Vo
aWRlLW9uLWJhY2stY2FjaGVkLXdpdGgtZnJhbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC13aXRoLWZyYW1lcy5odG1sCmlu
ZGV4IGMzOTljNTgyZDQ4Li40MjEyODZkNTAwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQtd2l0aC1mcmFtZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNr
LWNhY2hlZC13aXRoLWZyYW1lcy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8Ym9keT4KIFRl
c3QgcGFnZXNob3cvcGFnZWhpZGUgZXZlbnQgYmVoYXZpb3Igd2hlbiBuYXZpZ2F0aW5nIGF3YXkg
ZnJvbSBhIHBhZ2Ugd2l0aCBmcmFtZXMsIHB1dHRpbmcgdGhlIHBhZ2UgaW4gdGhlIHBhZ2UgY2Fj
aGUsIHRoZW4gYmFjayB0byBpdC4KQEAgLTgsNyArOSw2IEBAIFRlc3QgcGFnZXNob3cvcGFnZWhp
ZGUgZXZlbnQgYmVoYXZpb3Igd2hlbiBuYXZpZ2F0aW5nIGF3YXkgZnJvbSBhIHBhZ2Ugd2l0aCBm
cmFtCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0K
IAogLy8gV2UgZXhwbGljaXRseSBjaGFpbiB0aGUgbG9hZGluZyBvZiB0aGUgc3ViZnJhbWVzIHRv
IGVuc3VyZSBjb25zaXN0ZW50IHRlc3QgcmVzdWx0cyBiZXR3ZWVuIHJ1bnMuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFj
ay1jYWNoZWQuaHRtbAppbmRleCBlOTk4MTViNmNjYS4uY2Y5MjFiZmNkOGIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24t
YmFjay1jYWNoZWQuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxwPlRlc3QgcGFnZXNob3cvcGFnZWhpZGUg
ZXZlbnQgYmVoYXZpb3Igd2hlbiBuYXZpZ2F0aW5nIGJhY2sgdG8gYW4gY2FjaGVkIHBhZ2UuPC9w
PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7CiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9zdXNwZW5kLXRpbWVycy5odG1sCmluZGV4IDg5NzllMjllZWIwLi4zYzg1
ZjQ4MWU0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1l
cnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zdXNwZW5kLXRpbWVycy5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtMjAsMTAg
KzIxLDYgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGFsbCBKUyB0aW1lcnMgYXJlIHN1c3BlbmRlZCBhZnRlciB0aGUgcGFnZWhpZGUg
ZXZlbnQgaXMgZmlyZWQsIHNvIHRoYXQgdGltZXJzIGNyZWF0ZWQgd2l0aGluIGl0IHdpbGwgbm90
IGZpcmUgd2hpbGUgdGhlIGRvY3VtZW50IGlzIGluIHRoZSBwYWdlIGNhY2hlLicpOwogCi1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7Ci0KLQogb25wYWdlc2hvdyA9IGZ1
bmN0aW9uKGV2ZW50KQogewogICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2NvbXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFs
dWUtZG9lcy1ub3QtY2xlYXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2NvbXBs
ZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXIuaHRtbAppbmRleCA0NGQw
NzYyZmI4Ni4uYjNmZGQyYWU4NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2NvbXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZhdWx0
LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0bWwKQEAgLTEsNyArMSw3IEBACis8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogCiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKLQl0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIAl0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKIAl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLWNyYXNoLXdpdGgtcGFnZS1jYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtY3Jhc2gtd2l0aC1wYWdlLWNhY2hlLmh0bWwKaW5k
ZXggMWUxNDlmZmJmN2QuLmEyOTljZjg1M2YzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mcmFtZS1jcmFzaC13aXRoLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mcmFtZS1jcmFzaC13aXRoLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDxodG1sPgogPHNjcmlwdD4KIHdpbmRvdy5maW5pc2ggPSBmdW5jdGlvbigpCkBAIC0yMCw3
ICsyMSw2IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB9CiAg
ICAgbG9nKCJvcGVuIHBhZ2UtMSIpOwogICAgIHdpbmRvdy5vcGVuKCJyZXNvdXJjZXMvY2FjaGVk
LXBhZ2UtMS5odG1sIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFt
ZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRpbWVvdXQtYXNzZXJ0LWZhaWwuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1uYXZpZ2F0ZS1hbmQtc2V0VGltZW91dC1h
c3NlcnQtZmFpbC5odG1sCmluZGV4IDEyMDkxZWZlZWU5Li4zODMyZDY3ZGY1MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtdW5sb2FkLW5hdmlnYXRlLWFuZC1zZXRU
aW1lb3V0LWFzc2VydC1mYWlsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJh
bWUtdW5sb2FkLW5hdmlnYXRlLWFuZC1zZXRUaW1lb3V0LWFzc2VydC1mYWlsLmh0bWwKQEAgLTEs
MTAgKzEsMTAgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+CiBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcGFnZS1oaWRlLWRvY3VtZW50
LW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3BhZ2UtaGlkZS1kb2N1bWVudC1v
cGVuLmh0bWwKaW5kZXggNWZkZWZmNmQyMDUuLjk1YzE0YWIzYTVlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9wYWdlLWhpZGUtZG9jdW1lbnQtb3Blbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL3BhZ2UtaGlkZS1kb2N1bWVudC1vcGVuLmh0bWwKQEAgLTEs
OSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KIDxz
Y3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXknLCAxKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dz
KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQtbm90LXJ1bi1z
Y3JpcHRzLXZpYS1zdHlsZS11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jl
c3RvcmluZy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0
ZS5odG1sCmluZGV4IGE4ZTVkNGM0ZWRkLi5kYjFkMTRlODZkMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5vdC1ydW4tc2Ny
aXB0cy12aWEtc3R5bGUtdXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
cmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5vdC1ydW4tc2NyaXB0cy12aWEtc3R5bGUtdXBk
YXRlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC05LDcgKzEwLDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1ZSk7CiB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3RvcmluZy1wYWdlLWNhY2hlLXNob3Vs
ZC1ub3QtcnVuLXNjcmlwdHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3Rvcmlu
Zy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMuaHRtbAppbmRleCBjMDA4M2JkYzg1
ZC4uYzE0NWI1MDk1YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3Rv
cmluZy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9yZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQtbm90LXJ1bi1zY3Jp
cHRzLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC05LDcgKzEwLDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiBsZXQgbmV3
V2luZG93OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3BhZ2UtY2FjaGUt
Y3Jhc2gtb24tZGF0YS11cmxzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcGFnZS1j
YWNoZS1jcmFzaC1vbi1kYXRhLXVybHMuaHRtbAppbmRleCA3MzdlNGNhNmY1MC4uMTE4N2M2MGU1
M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNhY2hlLWNyYXNo
LW9uLWRhdGEtdXJscy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNh
Y2hlLWNyYXNoLW9uLWRhdGEtdXJscy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0
Pgogd2luZG93LmZpbmlzaCA9IGZ1bmN0aW9uKCkKQEAgLTIxLDcgKzIyLDYgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93
cygpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB9CiAgICAgbG9nKCJvcGVuIHBhZ2Ugd2l0
aCBkYXRhIHVybHMiKTsKICAgICB3aW5kb3cub3BlbigicmVzb3VyY2VzL2NhY2hlZC1wYWdlLXdp
dGgtZGF0YS11cmxzLmh0bWwiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVz
cy91c2UtcGFnZS1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3Mv
dXNlLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CmluZGV4IGRiYjZmYTFmZWE0Li5hYmEyMmQ4YjY2
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVGhpcyB0ZXN0IHVzZXMgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
IHRvIGVuYWJsZSBiYWNrLWZvcndhcmQgV2ViS2l0IHBhZ2UgY2FjaGUgZm9yIHRoZSBkdXJhdGlv
biBvZiB0aGUgdGVzdC4gVGhlIHRlc3QgZW5hYmxlcyBjYWNoZSwgbmF2aWdhdGVzIHRvIHBhZ2Ut
MSwgdGhlbiB0byBwYWdlLTIgYW5kIHRoZW4gZG9lcyBoaXN0b3J5LmJhY2soKSB0byBwYWdlLTEu
IE9uIG5hdmlnYXRpb24gYmFjayB0byBwYWdlLTEsIHRlc3QgdmVyaWZpZXMgdGhhdCBwcmV2aW91
c2x5LWluaXRpYWxpemVkIHRpbWVyIGNvbnRpbnVlcyB0byBmaXJlIGFuZCBvbmxvYWQgaXMgbm90
IGNhbGxlZCBhZ2Fpbi4gSWYgdGVzdCBmYWlscyBpdCBoYW5ncyBvciBvdXRwdXRzICdGQUlMJyBi
ZWxvdy4KK1RoaXMgdGVzdCBlbmFibGVzIGJhY2stZm9yd2FyZCBXZWJLaXQgcGFnZSBjYWNoZSBm
b3IgdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0LiBUaGUgdGVzdCBlbmFibGVzIGNhY2hlLCBuYXZp
Z2F0ZXMgdG8gcGFnZS0xLCB0aGVuIHRvIHBhZ2UtMiBhbmQgdGhlbiBkb2VzIGhpc3RvcnkuYmFj
aygpIHRvIHBhZ2UtMS4gT24gbmF2aWdhdGlvbiBiYWNrIHRvIHBhZ2UtMSwgdGVzdCB2ZXJpZmll
cyB0aGF0IHByZXZpb3VzbHktaW5pdGlhbGl6ZWQgdGltZXIgY29udGludWVzIHRvIGZpcmUgYW5k
IG9ubG9hZCBpcyBub3QgY2FsbGVkIGFnYWluLiBJZiB0ZXN0IGZhaWxzIGl0IGhhbmdzIG9yIG91
dHB1dHMgJ0ZBSUwnIGJlbG93LgogCiBvcGVuIHBhZ2UtMQogcGFnZS0xLCBhYm91dCB0byBuYXZp
Z2F0ZSB0byBwYWdlLTIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNl
LXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNo
ZS5odG1sCmluZGV4IDI1NjRiNjBlMGI0Li5hMDIzYmNhOTFkMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxz
Y3JpcHQ+CiB3aW5kb3cuZmluaXNoID0gZnVuY3Rpb24oKQpAQCAtMjcsNyArMjgsNiBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5X
aW5kb3dzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICBsb2coIm9wZW4gcGFn
ZS0xIik7CiAgICAgd2luZG93Lm9wZW4oInJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsK
QEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiA8L3NjcmlwdD4KIAogPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgotPHA+VGhpcyB0ZXN0IHVzZXMgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7IHRvIGVuYWJsZQor
PHA+VGhpcyB0ZXN0ICBlbmFibGVzCiBiYWNrLWZvcndhcmQgV2ViS2l0IHBhZ2UgY2FjaGUgZm9y
IHRoZSBkdXJhdGlvbiBvZiB0aGUgdGVzdC4KIFRoZSB0ZXN0IGVuYWJsZXMgY2FjaGUsIG5hdmln
YXRlcyB0byBwYWdlLTEsIHRoZW4gdG8gcGFnZS0yIGFuZCB0aGVuIGRvZXMgaGlzdG9yeS5iYWNr
KCkgdG8gcGFnZS0xLgogT24gbmF2aWdhdGlvbiBiYWNrIHRvIHBhZ2UtMSwgdGVzdCB2ZXJpZmll
cyB0aGF0IHByZXZpb3VzbHktaW5pdGlhbGl6ZWQgdGltZXIgY29udGludWVzIHRvIGZpcmUgYW5k
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvYmFjay1mcm9tLXBhZ2Utd2l0
aC1mb2N1c2VkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2JhY2stZnJv
bS1wYWdlLXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbAppbmRleCA0ZDRmY2E5NzQ5ZC4uNmQzZjg0
YjM1ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFn
ZS13aXRoLWZvY3VzZWQtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L2JhY2stZnJvbS1wYWdlLXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTMwLDcgKzMxLDYgQEAgd2luZG93Lm9u
cGFnZXNob3cgPSBmdW5jdGlvbiAocGFnZVRyYW5zaXRpb25FdmVudCkKICAgICB9IGVsc2Ugewog
ICAgICAgICAvLyBOZXdseSBsb2FkZWQKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQmFja0ZvcndhcmRMaXN0KCk7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLWlmcmFtZS13aXRoLXBsdWdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2dvLWJhY2stdG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0
bWwKaW5kZXggYjM1MzBkYjg1NGIuLjNjNDRhZDUyNjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvZ28tYmFjay10by1pZnJhbWUtd2l0aC1wbHVnaW4uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZ28tYmFjay10by1pZnJhbWUtd2l0aC1wbHVnaW4uaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiAgIDxoZWFkPgpAQCAtMTMs
NyArMTQsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgfQogICAgIHdpbmRvdy5vbnBhZ2VzaG93ID0gcnVuVGVzdDsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLW9iamVjdC1z
dWJmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2dvLWJhY2stdG8tb2JqZWN0
LXN1YmZyYW1lLmh0bWwKaW5kZXggNTgwYTQyZjgzZTUuLmYwOGQwNTYxZDBjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZ28tYmFjay10by1vYmplY3Qtc3ViZnJhbWUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZ28tYmFjay10by1vYmplY3Qtc3ViZnJh
bWUuaHRtbApAQCAtMSwxMCArMSwxMCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNr
LXdoaWxlLXBkZi1pbi1wYWdlY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9o
aXN0b3J5LWJhY2std2hpbGUtcGRmLWluLXBhZ2VjYWNoZS5odG1sCmluZGV4IDM3MTU4YTYzYWI5
Li4xYjU4MWZhOTFkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3Rv
cnktYmFjay13aGlsZS1wZGYtaW4tcGFnZWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2hpc3RvcnktYmFjay13aGlsZS1wZGYtaW4tcGFnZWNhY2hlLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC0xMSwxMCArMTIsOCBA
QAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgaWYgKGxvY2F0aW9uLmhhc2gg
PT0gIiIpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBoaXN0b3J5LnB1c2hTdGF0ZSh7IH0sICIiLCB3aW5kb3cubG9jYXRp
b24gKyAiIzEiKTsKICAgICAgICAgICAgIHNldFRpbWVvdXQoIndpbmRvdy5sb2NhdGlvbi5ocmVm
ID0gJ3Jlc291cmNlcy9oaXN0b3J5LWJhY2stZm9yLXBmZC10ZXN0Lmh0bWwnIiwgMCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1NZXNzYWdlUG9ydC1w
ZW5kaW5nLW1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hl
LU1lc3NhZ2VQb3J0LXBlbmRpbmctbWVzc2FnZS5odG1sCmluZGV4IGM5YTE4Njc1ZmM1Li5jZWNm
NjA0MGJhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
TWVzc2FnZVBvcnQtcGVuZGluZy1tZXNzYWdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtTWVzc2FnZVBvcnQtcGVuZGluZy1tZXNzYWdlLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAog
ZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHRoYXQgaGFzIGEgTWVzc2FnZVBvcnQgd2l0
aCBhIHBlbmRpbmcgbWVzc2FnZSBjYW4gZW50ZXIgUGFnZUNhY2hlLicpOwogd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5Iiwg
MSk7Ci0KIGxldCBhZnRlclBhZ2VDYWNoZVJlc3RvcmUgPSBmYWxzZTsKIAogd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWFmdGVyLXdpbmRvdy1vcGVuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1hZnRlci13aW5kb3ctb3Blbi5o
dG1sCmluZGV4IDU5NWVhNDFiNzI0Li5mY2Q1ZGU0MGQxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtYWZ0ZXItd2luZG93LW9wZW4uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1hZnRlci13aW5kb3ctb3Blbi5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiwxMCAr
Nyw4IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHBhZ2UgdGhhdCBoYXMgY2FsbGVkIHdp
bmRvdy5vcGVuKCkgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLiIpOwogd2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5k
b3dzKCk7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgaWYgKCF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZGlkU3RhcnRQYWdlQ2Fj
aGVBZnRlcldpbmRvd09wZW5UZXN0KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1iYWNrLW5hdmlnYXRpb24tY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWJhY2stbmF2aWdhdGlvbi1jcmFzaC5odG1sCmluZGV4
IDdhNTk4NDEwNmE4Li4wMmY4MTcwOGI5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L3BhZ2UtY2FjaGUtYmFjay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtYmFjay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwK
QEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNo
ZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3
LDggQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHJlbW92aW5nIGEgZnJhbWUgaW4gYSBkZXRh
Y2hlZCBkb2N1bWVudCBhZnRlciBuYXZpZ2F0aW9uIGRvZXMgbm90IGNhdXNlIGEgY3Jhc2ggb24g
bmF2aWdhdGluZyBiYWNrJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLX0KIAogZnVuY3Rpb24g
cmVtb3ZlRnJhbWVJbkNoaWxkKCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWNsZWFyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS1jbGVhcmluZy5odG1sCmluZGV4IDRkMTBjNWE5NjVmLi43NGQzZTk4MmMwYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xlYXJpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jbGVhcmluZy5o
dG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdl
Q2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiwx
MCArNyw2IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjbGVhcmluZyB0aGUgcGFnZSBjYWNo
ZSBkb2Vzbid0IGxlYXZlIHBhZ2VzIGluIHRoZSBjYWNoZS4iKTsKIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotLy8gRW5hYmxlIHBhZ2UgY2FjaGUuCi1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzIik7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsb3NlZC1hdWRpb2Nv
bnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsb3NlZC1h
dWRpb2NvbnRleHQuaHRtbAppbmRleCAwNjA4NDJkNjc4Ny4uZmZlNWIyOTlhNTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsb3NlZC1hdWRpb2NvbnRl
eHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jbG9zZWQt
YXVkaW9jb250ZXh0Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGJvZHk+CkBAIC0xMCw5ICsxMSw2IEBAIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIHZh
ciBzYW1wbGVSYXRlID0gNDQxMDAuMDsKIHZhciBsZW5ndGhJblNlY29uZHMgPSAyOwogCi1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93
IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVP
YmplY3RVUkwtdXNpbmctb3Blbi1wYW5lbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtY3JlYXRlT2JqZWN0VVJMLXVzaW5nLW9wZW4tcGFuZWwuaHRtbAppbmRleCA3
N2FiZWQ2ZDhmOS4uYmZjYzJlOWRhOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVSTC11c2luZy1vcGVuLXBhbmVsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY3JlYXRlT2JqZWN0VVJMLXVz
aW5nLW9wZW4tcGFuZWwuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8Ym9keT4KQEAgLTEzLDkgKzE0LDYgQEAgZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdl
IGNhbGxpbmcgVVJMLmNyZWF0ZU9iamVjdFVSTCgpIGNhbiB1c2UgdGhlIHBhZ2UgY2EKIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIHZhciBibG9iVVJMID0gbnVsbDsKIAotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogZnVuY3Rpb24gb25JbnB1
dEZpbGVDaGFuZ2UoKQogewogICAgIHZhciBmaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZpbGUiKS5maWxlc1swXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVSTC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtY3JlYXRlT2JqZWN0VVJMLmh0bWwKaW5kZXggZmNiNTkwMTI4ZDIuLmE2Mjhj
ODJhYzMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1j
cmVhdGVPYmplY3RVUkwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1jcmVhdGVPYmplY3RVUkwuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8Ym9keT4KQEAgLTEyLDkgKzEzLDYgQEAgZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQg
YSBwYWdlIGNhbGxpbmcgVVJMLmNyZWF0ZU9iamVjdFVSTCgpIGNhbiB1c2UgdGhlIHBhZ2UgY2EK
IHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIHZhciBibG9iVVJMID0gbnVsbDsKIAotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogZnVuY3Rpb24g
b25JbnB1dEZpbGVDaGFuZ2UoKQogewogICAgIHZhciBmaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZpbGUiKS5maWxlc1swXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWRlc3Ryb3ktZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9wYWdlLWNhY2hlLWRlc3Ryb3ktZG9jdW1lbnQuaHRtbAppbmRleCBiNWYwYmViMzEz
YS4uNmQxZDdiZjczMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWRlc3Ryb3ktZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1kZXN0cm95LWRvY3VtZW50Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgpA
QCAtOCwxMCArOSw4IEBACiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+CiBkZXNj
cmlwdGlvbignVGVzdHMgdGhhdCBwYWdlIGNhbiBzYWZlbHkgcmVtb3ZlIGFuIGlmcmFtZSBkdXJp
biBwYWdlaGlkZSBldmVudC4nKTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHdpbmRv
dy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZl
cmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB3aW5kb3cudGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdl
aGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VoaWRlIC0gZW50ZXJpbmcg
Y2FjaGUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hl
LWVsZW1lbnQtc3RhdGUtZm9jdXNlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZWxlbWVudC1zdGF0ZS1mb2N1c2VkLmh0bWwKaW5kZXggYTQwZTkzNGY3NGEuLmZk
ZWY1ZWY2M2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1lbGVtZW50LXN0YXRlLWZvY3VzZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1lbGVtZW50LXN0YXRlLWZvY3VzZWQuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTgsMTAgKzksOCBAQAogPC9zdHlsZT4K
IDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKyAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgIH0KIAogICAgICAgICB3aW5kb3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uKGUpIHsKICAg
ICAgICAgICAgIGlmIChlLnBlcnNpc3RlZCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmlu
Zy1yZXN0b3JlLmh0bWwKaW5kZXggNDY2MjFkMTFkNDIuLjJlMzRmNDk2MmM5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJp
bmctcmVzdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hl
LWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC05LDcgKzEwLDYgQEAKIDxzY3JpcHQ+CiAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIu
Y2xlYXJCYWNrRm9yd2FyZExpc3QoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLWFjdGl2ZS1vbmVzaG90Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3RpdmUtb25l
c2hvdC5odG1sCmluZGV4IGQ2ZGIzMGY0YzYyLi4wY2U0ODAzOGQ1ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24tYWN0aXZlLW9uZXNo
b3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2Nh
dGlvbi1hY3RpdmUtb25lc2hvdC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxib2R5PgpAQCAtMTIsMTAgKzEzLDggQEAgdmFyIG1vY2tBY2N1cmFjeSA9IDEwMC4w
OwogCiB2YXIgc3RhZ2UgPSAiYmVmb3JlX3Jlc3RvcmUiOwogCi1pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRpdHVkZSwgbW9ja0xvbmdp
dHVkZSwgbW9ja0FjY3VyYWN5KTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2Vz
aG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50
LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3RpdmUtd2F0
Y2hlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRp
b24tYWN0aXZlLXdhdGNoZXIuaHRtbAppbmRleCBhODczYzRkYjQwYS4uOTRjMDc3MmU0ZjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9u
LWFjdGl2ZS13YXRjaGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtZ2VvbG9jYXRpb24tYWN0aXZlLXdhdGNoZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTEzLDcgKzE0LDYgQEAgdmFyIG1vY2tBY2N1
cmFjeSA9IDEwMC4wOwogdmFyIHN0YWdlID0gImJlZm9yZV9yZXN0b3JlIjsKIAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci5zZXRHZW9s
b2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRp
b25Qb3NpdGlvbihtb2NrTGF0aXR1ZGUsIG1vY2tMb25naXR1ZGUsIG1vY2tBY2N1cmFjeSk7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2Nh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRp
b24uaHRtbAppbmRleCAzYmZmYTc3YTBkMy4uNDg0NmFiNjQ3OGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24uaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxo
dG1sPgogPGhlYWQ+CkBAIC0yOCwxMiArMjksOCBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
cGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgewogfSwgZmFsc2UpOwogCiB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgewotCi0gICAgLy8gRW5hYmxlIHRoZSBQYWdl
Q2FjaGUgYW5kIG1ha2UgdGhpcyBhbiBhc3luYyB0ZXN0LgotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
fQogCiAgICAgLy8gQWNjZXNzIGdlb2xvY2F0aW9uLiBJdCBpcyBlbm91Z2ggdG8gY3JlYXRlIHRo
ZSBnZW9sb2NhdGlvbiBvYmplY3QuCiAgICAgZGVidWcobmF2aWdhdG9yLmdlb2xvY2F0aW9uKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQt
Y2xvc2VkLWRiLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1pbmRl
eGVkLWNsb3NlZC1kYi5odG1sCmluZGV4IDZmZDA2MDEwMTFmLi5jYzA5NzYxNWZjYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtaW5kZXhlZC1jbG9zZWQt
ZGIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1pbmRleGVk
LWNsb3NlZC1kYi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxi
b2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRo
IGEgY2xvc2VkIEluZGV4ZWREQiBkYXRhYmFzZSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7
CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVBy
ZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93Iiwg
ZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNp
c3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtb3BlbmVkLWRiLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1pbmRleGVkLW9wZW5lZC1kYi5odG1s
CmluZGV4IGRmZGRlNjZiODIyLi4xM2Y2MWQ4ODYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtaW5kZXhlZC1vcGVuZWQtZGIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1pbmRleGVkLW9wZW5lZC1kYi5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYg
QEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIG9wZW4gSW5kZXhlZERC
IGRhdGFiYXNlIGRvZXMgbm90IGdvIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXki
LCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZl
bnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDog
Im5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAgICAgaWYgKCF3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uu
cGFnZV9jYWNoZV9vcGVuX2luZGV4ZWRkYl90ZXN0X3N0YXJ0ZWQpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLTIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1jbG9z
ZWQtMi5odG1sCmluZGV4IDg4MjgzOTk5OTYwLi5kOGUzYzRmMzAzNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLWNsb3NlZC0yLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNl
LWNsb3NlZC0yLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJv
ZHk+CkBAIC02LDkgKzcsNiBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGgg
YSBjbG9zZWQgTWVkaWFTb3VyY2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAi
IiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLmh0bWwKaW5k
ZXggZjc3YWU1ZmJjMDMuLjgxOGYwMjY1MmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLWNsb3NlZC5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYg
QEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgY2xvc2VkIE1lZGlhU291
cmNlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRl
YnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZy
b20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtbWVkaWEtc291cmNlLW9wZW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLW9wZW5lZC5odG1sCmluZGV4IDIwODM5NmY4YWU1Li45
NTVhZjk1YjJmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2Fj
aGUtbWVkaWEtc291cmNlLW9wZW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1vcGVuZWQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbign
VGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGNsb3NlZCBNZWRpYVNvdXJjZSBnb2VzIGludG8gdGhl
IHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAi
ICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAgICAg
aWYgKCF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucGFnZV9jYWNoZV9vcGVuX21lZGlhc291cmNlX3Rl
c3Rfc3RhcnRlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLW5hdmlnYXRlLWR1cmluZy1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1uYXZpZ2F0ZS1kdXJpbmctcmVzdG9yZS5odG1sCmluZGV4IGMzYTZjZWM2
NGRiLi45Nzk2N2FlMzhhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtbmF2aWdhdGUtZHVyaW5nLXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1uYXZpZ2F0ZS1kdXJpbmctcmVzdG9yZS5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOSw3ICsxMCw2IEBA
CiA8c2NyaXB0PgogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
ICAgICB0ZXN0UnVubmVyLmNsZWFyQmFja0ZvcndhcmRMaXN0KCk7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1
c3BlbmRhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3Rp
ZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwKaW5kZXggNWQ3ZjVjYTFlNjIuLmE2MmU5N2I0
YzhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3Rp
ZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLW5vbi1zdXNwZW5kYWJsZS5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiwxMCArNyw4IEBACiBk
ZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIG5vdGlmaWNhdGlvbiB0aGF0IGlz
IHNob3dpbmcgZG9lcyBub3QgZW50ZXIgcGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
CitpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNh
dGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsg
KGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3Vz
cGVuZGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlm
aWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sCmluZGV4IDNmOGM0ZTUwMjFmLi41MWNiYTVkNGEwMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0
aW9uLXN1c3BlbmRhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IG5vdGlmaWNhdGlvbnMgZG8gbm90IHByZXZlbnQgdGhlIFBhZ2UgZnJvbSBlbnRl
cmluZyBwYWdlIGNhY2hlIGlmIHRoZXkgYXJlIGlkbGUgb3IgY2xvc2VkLicpOwogd2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmdyYW50V2Vi
Tm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwotfQogCiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hv
dyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJlbW92ZWQt
c291cmNlLWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
cmVtb3ZlZC1zb3VyY2UtYnVmZmVyLmh0bWwKaW5kZXggZTNjMTBjYTFlZDEuLjBlMjhhY2Y1NGE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1yZW1vdmVk
LXNvdXJjZS1idWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1yZW1vdmVkLXNvdXJjZS1idWZmZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbignVGVzdHMg
dGhhdCBhIFNvdXJjZUJ1ZmZlciByZW1vdmVkIGZyb20gaXRzIE1lZGlhU291cmNlIGRvZXMgbm90
IHByZXZlbnQgYSBQYWdlIGZyb20gZW50ZXJpbmcgUGFnZUNhY2hlJyk7CiB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLXJ1bm5pbmctYXVkaW9jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ydW5uaW5nLWF1ZGlvY29udGV4dC5odG1sCmluZGV4IGVj
MmZlZTk2ZjA1Li43OWI1MjU1NmFmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtcnVubmluZy1hdWRpb2NvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ydW5uaW5nLWF1ZGlvY29udGV4dC5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAK
IGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgcnVubmluZyBBdWRpb0NvbnRl
eHQgZG9lcyBub3QgZ28gaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwot
CiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIp
ICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtc3VzcGVuZGVkLWF1ZGlvY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtc3VzcGVuZGVkLWF1ZGlvY29udGV4dC5odG1sCmluZGV4IDQ0
ZjRjNjA1ZWMxLi4zMTU0NDAxY2U5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtc3VzcGVuZGVkLWF1ZGlvY29udGV4dC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXN1c3BlbmRlZC1hdWRpb2NvbnRleHQuaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2
IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIHN1c3BlbmRlZCBBdWRp
b0NvbnRleHQgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0K
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAg
ICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikg
KyAiZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIu
aHRtbAppbmRleCA3MmY2YTVmYTFiNy4uYTRmNTY1NTUwMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRi
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJh
c2Utbm8tdHJhbnNhY3Rpb24tZGIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQg
YSBwYWdlIHdpdGggYW4gb3BlbiBXZWJEYXRhYmFzZSB3aXRoIG5vIHBlbmRpbmcgdHJhbnNhY3Rp
b24gZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci19
CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7
CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3Qg
IikgKyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2Fj
dGlvbi5odG1sCmluZGV4IGYzNGViNDI3Y2E2Li4wZWFiMjNkZmI4NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFu
c2FjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdl
YmRhdGFiYXNlLXBlbmRpbmctdHJhbnNhY3Rpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gb3BlbiBXZWJEYXRhYmFzZSB0aGF0IGhhcyBwZW5kaW5n
IHRyYW5zYWN0aW9ucyBkb2VzIG5vdCBnbyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmNsZWFy
QWxsRGF0YWJhc2VzKCk7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIs
IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJz
aXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2l0aC1vcGVuZXIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdpdGgtb3BlbmVyLmh0bWwKaW5kZXggMjA5ODU4
MTg4YzguLmY4ZTQwZTQ2ZmJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS13aXRoLW9wZW5lci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLXdpdGgtb3BlbmVyLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRlc2NyaXB0aW9uKCJUZXN0cyB0
aGF0IGEgcGFnZSB0aGF0IGhhcyBhIHdpbmRvdyBvcGVuZXIgZ29lcyBpbnRvIHRoZSBwYWdlIGNh
Y2hlLiIpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiAgICAgbmV3V2luZG93ID0gb3BlbigicmVzb3VyY2Vz
L3BhZ2UtY2FjaGUtd2luZG93LXdpdGgtb3BlbmVyLmh0bWwiLCAib25lIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZWhpZGUtcmVtb3ZlLWlmcmFtZS1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2VoaWRlLXJlbW92ZS1pZnJhbWUtY3Jh
c2guaHRtbAppbmRleCBjNDI5YjM2NGJjYi4uNWNjNTE0M2ZjZmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlaGlkZS1yZW1vdmUtaWZyYW1lLWNyYXNoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2VoaWRlLXJlbW92ZS1pZnJhbWUtY3Jhc2gu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYs
OCArNyw2IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGNy
YXNoIHdoZW4gZGVsZXRpbmcgYSBzdWJmcmFtZSBmcm9tIHRoZSBwYWdlaGlkZSBldmVudCBoYW5k
bGVyLiIpOwoganNUZXN0SXNBc3luYyA9IHRydWU7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1
bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0
ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRv
dy13aXRoLWlmcmFtZS5odG1sCmluZGV4IGMzMzBlNGVlZDg2Li5mZDYyYmQzODI4NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRv
dy13aXRoLWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJj
ZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1pZnJhbWUuaHRtbApAQCAtMSwxMiArMSwxMCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8aWZyYW1lIHNyYz0iYWJvdXQ6Ymxhbmsi
PjwvaWZyYW1lPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXki
LCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZl
bnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDog
Im5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1vcGVuZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1v
cGVuZXIuaHRtbAppbmRleCA0YjVkYzcxODEyMy4uYmE2MzAxMWYxMDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1v
cGVuZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2Ut
Y2FjaGUtd2luZG93LXdpdGgtb3BlbmVyLmh0bWwKQEAgLTEsMTEgKzEsOSBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBm
dW5jdGlvbihldmVudCkgewogICAgIGlmICghd2luZG93LnNlc3Npb25TdG9yYWdlLmRpZFN0YXJ0
UGFnZUNhY2hlV2luZG93V2l0aE9wZW5lclRlc3QpIHsKICAgICAgICAgaWYgKGV2ZW50LnBlcnNp
c3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS90aW1lZC1yZWZyZXNo
LWluLWNhY2hlZC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3RpbWVkLXJl
ZnJlc2gtaW4tY2FjaGVkLWZyYW1lLmh0bWwKaW5kZXggZmNkNTA5YzAwZGEuLjI0MjgwMTZjYTY2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVmcmVzaC1pbi1j
YWNoZWQtZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVm
cmVzaC1pbi1jYWNoZWQtZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxib2R5IG9ubG9hZD0icmVk
aXJlY3QoKSI+CiA8IS0tIE5lZWRzIHRvIHRha2UgdHdvIHNlY29uZHMsIGJlY2F1c2UgYSBmYXN0
ZXIgcmVmcmVzaCB3b3VsZCByZXN1bHQgaW4gbm90IGNyZWF0aW5nIGEgYi9mIGl0ZW0gZm9yIHRo
ZSBuYXZpZ2F0aW9uIC0tPgogPGlmcmFtZSBzcmM9J2RhdGE6dGV4dC9odG1sLDxtZXRhIGh0dHAt
ZXF1aXY9IlJlZnJlc2giIGNvbnRlbnQ9IjI7IFVSTD1hYm91dDpibGFuayI+PHNjcmlwdD5pZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsgd2luZG93Lm9ucGFnZWhpZGU9ZnVuY3Rpb24oZSl7YWxlcnQo
JmFwb3M7cGFnZWhpZGUgJmFwb3M7ICsgZS5wZXJzaXN0ZWQpfTsgfTwvc2NyaXB0Pic+PC9pZnJh
bWU+CkBAIC02LDcgKzcsNiBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiB9CiAKIGZ1bmN0aW9uIHJlZGlyZWN0KCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJm
Y2FjaGUuaHRtbAppbmRleCBhYjE0MzUxZWE4Mi4uODI4YmNiYWFlYmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9hbmltYXRlZC1naWYtcmVzdG9yZWQt
ZnJvbS1iZmNhY2hlLmh0bWwKQEAgLTEsOCArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotICAgIH0KIAogICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzICYmIHdpbmRv
dy50ZXN0UnVubmVyKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9mcmFt
ZXMtd2l0aC11bmxvYWQtaGFuZGxlcnMtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvZnJhbWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRt
bAppbmRleCA4Mjk3NzMzODI4Ny4uYjgxZjg3NzNhMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2ZyYW1lcy13aXRoLXVubG9hZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZnJhbWVzLXdpdGgtdW5sb2FkLWhhbmRs
ZXJzLWluLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8c2Ny
aXB0PgpAQCAtNSw3ICs2LDYgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwogfQogCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZS1pbi1wYWdlLWNhY2hlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggYzVi
MDJlYjY1MmIuLjdkNDMxMDNiMzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9pbWFnZS1pbi1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
aW1hZ2UtaW4tcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgpAQCAtMTAsNyArMTEsNiBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCQl0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAkJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAJ
CXRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLQkJdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAJfQogCiAJ
Ly8gVGhpcyB0ZXN0IG9wZW4gdHdvIHdpbmRvd3MuIE9uZSBwcmltYXJ5IHdpbmRvdyB3aWxsIGxv
YWQgYW5pbWF0ZWQtaW1hZ2UuaHRtbC4KQEAgLTY3LDQgKzY3LDQgQEAgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L2lucHV0LWVsZW1lbnQtcGFnZS1jYWNoZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvaW5wdXQtZWxlbWVudC1wYWdlLWNhY2hlLWNyYXNoLmh0bWwKaW5kZXggZTM2ZGIyMGE0
MzMuLmM4NmIyNTg5Y2RlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbnB1
dC1lbGVtZW50LXBhZ2UtY2FjaGUtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9pbnB1dC1lbGVtZW50LXBhZ2UtY2FjaGUtY3Jhc2guaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxo
dG1sPgogPGhlYWQ+CiA8c2NyaXB0PgpAQCAtNSw3ICs2LDYgQEAKIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiBmdW5jdGlvbiBydW5UZXN0KCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtbmV3LXRh
cmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvbmF2aWdhdGUtd2l0aC1uZXctdGFyZ2V0LWFmdGVyLWJhY2stZm9yd2FyZC1uYXZp
Z2F0aW9uLmh0bWwKaW5kZXggMzVjY2IzNGZlN2UuLmM1OGM3MjZkMGM5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9uYXZpZ2F0ZS13aXRoLW5ldy10YXJnZXQtYWZ0ZXItYmFj
ay1mb3J3YXJkLW5hdmlnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9u
YXZpZ2F0ZS13aXRoLW5ldy10YXJnZXQtYWZ0ZXItYmFjay1mb3J3YXJkLW5hdmlnYXRpb24uaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTgsNyAr
OSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICB0ZXN0UnVu
bmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgpOwotICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIs
IDEpOwogfQogCiBpZiAobG9jYXRpb24uc2VhcmNoID09ICc/dGhpcmQnKSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9uYXZpZ2F0ZS13aXRoLXBvc3QtdG8tbmV3LXRhcmdl
dC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvbmF2aWdhdGUtd2l0aC1wb3N0LXRvLW5ldy10YXJnZXQtYWZ0ZXItYmFjay1mb3J3YXJk
LW5hdmlnYXRpb24uaHRtbAppbmRleCAwNzZkOWViOTVmNS4uMmZjMjM5NTQ0NjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtcG9zdC10by1uZXctdGFy
Z2V0LWFmdGVyLWJhY2stZm9yd2FyZC1uYXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvbmF2aWdhdGUtd2l0aC1wb3N0LXRvLW5ldy10YXJnZXQtYWZ0ZXItYmFjay1m
b3J3YXJkLW5hdmlnYXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8Ym9keT4KQEAgLTgsNyArOSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21w
bGV0ZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiBpZiAobG9jYXRpb24uc2VhcmNoID09ICc/
dGhpcmQnKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zY3JvbGwtcG9z
aXRpb24tcmVzdG9yZWQtb24tYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc2Ny
b2xsLXBvc2l0aW9uLXJlc3RvcmVkLW9uLWJhY2suaHRtbAppbmRleCA3M2Y1OGRmMWY2Yi4uNzgw
ZWM2MDQwOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Njcm9sbC1wb3Np
dGlvbi1yZXN0b3JlZC1vbi1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
c2Nyb2xsLXBvc2l0aW9uLXJlc3RvcmVkLW9uLWJhY2suaHRtbApAQCAtMSwxMyArMSwxMiBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0
bWw+CiA8aGVhZD4KIDxzY3JpcHQ+Ci0KIGZ1bmN0aW9uIG5hdmlnYXRlKCkKIHsKICAgICBpZiAo
bG9jYXRpb24uaGFzaCA9PSAiIikgewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvbm8t
cG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2UtY2FjaGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9uby1wb3BzdGF0ZS13aGVu
LWJhY2stdG8tc3RhdGVsZXNzLWVudHJ5LXdpdGgtcGFnZS1jYWNoZS5odG1sCmluZGV4IDQ3NjJj
YTU4NTg0Li5iYjA0NjBiMTE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
c3RhdGVvYmplY3RzL25vLXBvcHN0YXRlLXdoZW4tYmFjay10by1zdGF0ZWxlc3MtZW50cnktd2l0
aC1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmpl
Y3RzL25vLXBvcHN0YXRlLXdoZW4tYmFjay10by1zdGF0ZWxlc3MtZW50cnktd2l0aC1wYWdlLWNh
Y2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC0xMSwxMCArMTIsOCBAQCB2YXIgdGVzdFdpbmRvdzsKIAogb25sb2FkID0gZnVuY3Rpb24oKQog
ewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXknLCAxKTsKLSAgICB9CiAgICAgdGVzdFdpbmRvdyA9IHdpbmRvdy5vcGVuKCdyZXNvdXJjZXMv
bm8tcG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS0xLmh0bWwnKTsKICAgICBp
ZiAoIXRlc3RXaW5kb3cpCiAgICAgICAgIHRlc3RGYWlsZWQoJ0NvdWxkIG5vdCBvcGVuIHRlc3Qg
d2luZG93Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVj
dHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0bWwK
aW5kZXggNjFkZjA5YjBhNTYuLjU0MDNjMWY3ZDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3BvcHN0YXRlLWZp
cmVzLXdpdGgtcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxib2R5PgpAQCAtMTEsMTAgKzEyLDggQEAgdmFyIHRlc3RXaW5kb3c7CiAKIG9ubG9h
ZCA9IGZ1bmN0aW9uKCkKIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7Ci0gICAgfQogICAgIHRlc3RXaW5kb3cgPSB3aW5kb3cu
b3BlbigncmVzb3VyY2VzL3BvcHN0YXRlLWZpcmVzLXdpdGgtcGFnZS1jYWNoZS0xLmh0bWwnKTsK
ICAgICBpZiAoIXRlc3RXaW5kb3cpCiAgICAgICAgIHRlc3RGYWlsZWQoJ0NvdWxkIG5vdCBvcGVu
IHRlc3Qgd2luZG93Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci91bnNj
aGVkdWxlLXJlbGF5b3V0LWFmdGVyLXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvdW5zY2hlZHVsZS1yZWxheW91dC1hZnRlci11bmxvYWQuaHRtbAppbmRleCBiODQxODhjMjA5
ZS4uNjkyYzcwNmVhNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Vuc2No
ZWR1bGUtcmVsYXlvdXQtYWZ0ZXItdW5sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvdW5zY2hlZHVsZS1yZWxheW91dC1hZnRlci11bmxvYWQuaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxodG1sPgogPGJvZHk+CiA8cHJlIGlkPSJsb2ciPjwvcHJlPgpAQCAtNyw3ICs4LDYgQEAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiB3aW5k
b3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uKGV2dCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvd2luZG93LXByb3BlcnRpZXMtcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctcHJvcGVydGllcy1yZXN0b3JlZC1m
cm9tLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA0MmIwZTdmYzg4Ny4uOTM0MzVhNTE3NTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1wcm9wZXJ0aWVzLXJlc3RvcmVk
LWZyb20tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRv
dy1wcm9wZXJ0aWVzLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sCkBAIC0xLDggKzEsOCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogCXRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogCXRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotCXRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiB2
YXIgY2FjaGVkQXBwbGljYXRpb25DYWNoZSA9IHdpbmRvdy5hcHBsaWNhdGlvbkNhY2hlOwpAQCAt
MTA3LDQgKzEwNyw0IEBAIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7CiBUaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IHZhcmlvdXMgcHJvcGVydGllcyBvbiB0aGUgd2luZG93IG9i
amVjdCBhcmUgY29ycmVjdGx5IHJlY29ubmVjdGVkIGFmdGVyIHJlc3RvcmluZyBhIHBhZ2UgZnJv
bSB0aGUgcGFnZSBjYWNoZS48YnI+CiA8ZGl2IGlkPSJvdXRwdXREaXYiPjwvZGl2Pjxicj4KIDxk
aXYgaWQ9ImVycm9yRGl2Ij48L2Rpdj4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2hvcml6
b250YWwtc2Nyb2xsLWFmdGVyLWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cv
aG9yaXpvbnRhbC1zY3JvbGwtYWZ0ZXItYmFjay5odG1sCmluZGV4IDhhNjc5OWIwZjUwLi4xNGE3
ZDliMDQ0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9ob3Jpem9udGFs
LXNjcm9sbC1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9o
b3Jpem9udGFsLXNjcm9sbC1hZnRlci1iYWNrLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxz
Y3JpcHQ+CiAKQEAgLTI4LDcgKzI5LDYgQEAgZnVuY3Rpb24gcnVuVGVzdFN0ZXAoKQogICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgIH0KICAgICB3aW5kb3cuc2V0VGltZW91dCgibmF2aWdhdGVBd2F5QW5kQmFjaygpIiwg
MjAwKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lmcmFtZS1z
Y3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lm
cmFtZS1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbAppbmRleCA4NzUxMmRhOWQxMi4uZjAwNjVm
ZDM2ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lmcmFtZS1zY3Jv
bGxhYmxlLWFmdGVyLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9p
ZnJhbWUtc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWwKQEAgLTEsNSArMSw1IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KLQogPGh0bWw+CiA8aGVhZD4KICAgICA8c3R5bGU+CkBAIC0yMCw3ICsyMCw2IEBACiAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBmdW5j
dGlvbiBsb2dSZXN1bHQocykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC1hZnRlci1wYWdlc2hvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLWFm
dGVyLXBhZ2VzaG93Lmh0bWwKaW5kZXggMGQ5NmE2NzFhOGMuLjVhNmJkODliYWI0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZv
cndhcmQtYWZ0ZXItcGFnZXNob3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQtYWZ0ZXItcGFnZXNob3cuaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTQzLDkgKzQ0LDYg
QEAgZnVuY3Rpb24gb25QYWdlU2hvdygpCiAKIGZ1bmN0aW9uIG9uUGFnZUxvYWQoKQogewotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiAgICAgLy8gTmF2
aWdhdGUgaW4gYSB0aW1lb3V0IHRvIG1ha2Ugc3VyZSB3ZSBjcmVhdGUgYSBoaXN0b3J5IGVudHJ5
LgogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICB3aW5kb3cubG9jYXRpb24uaHJl
ZiA9ICdyZXNvdXJjZXMvanVtcC1iYWNrLmh0bWwnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQuaHRt
bAppbmRleCBhZWM3NGNkZDZjMC4uZTJmOTg2Njg0MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2Fy
ZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAt
NDAsOSArNDEsNiBAQCBmdW5jdGlvbiBvblBhZ2VTaG93KCkKIAogZnVuY3Rpb24gb25QYWdlTG9h
ZCgpCiB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0K
ICAgICAvLyBOYXZpZ2F0ZSBpbiBhIHRpbWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNyZWF0ZSBhIGhp
c3RvcnkgZW50cnkuCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgIHdpbmRvdy5s
b2NhdGlvbi5ocmVmID0gJ3Jlc291cmNlcy9qdW1wLWJhY2suaHRtbCc7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsLWJhY2stZm9yd2FyZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXNjcm9sbC1iYWNrLWZv
cndhcmQuaHRtbAppbmRleCAxZmJjMDgwYTNmMi4uMTE2NTQ0NzUxZjEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy90b3VjaC1zY3JvbGwtYmFjay1mb3J3YXJkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXNjcm9sbC1iYWNr
LWZvcndhcmQuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVy
bmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtNDIsOSArNDIsNiBAQCBmdW5jdGlvbiBv
blBhZ2VTaG93KCkKIAogZnVuY3Rpb24gb25QYWdlTG9hZCgpCiB7Ci0gICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICAvLyBOYXZpZ2F0ZSBpbiBhIHRp
bWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNyZWF0ZSBhIGhpc3RvcnkgZW50cnkuCiAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ3Jlc291cmNl
cy9qdW1wLWJhY2suaHRtbCc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9vdmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbGFibGUtYWZ0ZXItYmFjay5odG1sCmluZGV4IGUxYTgx
ZmY3M2I1Li4wN2UxMzVhOTIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvb3ZlcmZsb3ctc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWwKQEAgLTEs
NSArMSw1IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KLQogPGh0bWw+CiA8aGVhZD4KICAgICA8c3R5bGU+CkBA
IC0yMCw3ICsyMCw2IEBACiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICBmdW5jdGlvbiBsb2dSZXN1bHQocykKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3BhZ2UtY2FjaGUtYmFjay1vdmVyZmxvdy1zY3JvbGwtcmVzdG9y
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcGFnZS1jYWNoZS1iYWNrLW92ZXJm
bG93LXNjcm9sbC1yZXN0b3JlLmh0bWwKaW5kZXggMTBmNzg4NjU0NDkuLjY5MTc2YTdlODIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wYWdlLWNhY2hlLWJhY2stb3Zl
cmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9wYWdlLWNhY2hlLWJhY2stb3ZlcmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDxzdHlsZT4KICNwdWZmaW4gewogICAgIGZvbnQ6IEFoZW0gMTBweDsKQEAgLTIzLDcgKzI0
LDYgQEAKIDxzY3JpcHQ+CiB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwotdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQ
YWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAKIHZhciB0ZXN0RGl2ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInB1ZmZpbiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9pb3MvdGV4dC1hdXRvc2l6aW5nLWFmdGVyLWJhY2suaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy90ZXh0LWF1dG9zaXppbmctYWZ0ZXItYmFj
ay5odG1sCmluZGV4IGFhODdlMjUyN2E1Li5lNjIxYzg4NTBkMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL3RleHQtYXV0b3NpemluZy1hZnRlci1iYWNr
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL3RleHQtYXV0
b3NpemluZy1hZnRlci1iYWNrLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4g
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmll
d3BvcnQ9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogCiA8aHRtbD4KIDxoZWFkPgpA
QCAtMTcsMTAgKzE3LDggQEAKIAogICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtc2hyaW5rLXRv
LWZpdC1vbi1uZXctbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9p
b3Mvdmlld3BvcnQtc2hyaW5rLXRvLWZpdC1vbi1uZXctbmF2aWdhdGlvbi5odG1sCmluZGV4IGM2
N2Y5YmY4YzRjLi45YmIzZDlhODUwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC9pb3Mvdmlld3BvcnQtc2hyaW5rLXRvLWZpdC1vbi1uZXctbmF2aWdhdGlvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LXNocmluay10by1maXQt
b24tbmV3LW5hdmlnYXRpb24uaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPiA8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHNob3VsZElnbm9yZU1ldGFWaWV3cG9ydD10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBzaG91bGRJZ25v
cmVNZXRhVmlld3BvcnQ9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogCiA8aHRtbD4K
IDxoZWFkPgpAQCAtNDIsNyArNDIsNiBAQAogICAgIC8vIEZvcmNlIGEgYmFjayBuYXZpZ2F0aW9u
IGJhY2sgdG8gdGhpcyBwYWdlLgogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5o
cmVmID0gInJlc291cmNlcy9nby1iYWNrLmh0bWwiOwogICAgICAgICB9LCAwKTsKICAgICB9LCBm
YWxzZSk7ICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC0xMjguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwK
aW5kZXggMWU4NmFmYmQzYjEuLjNmZWIwMGQ5YTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KICAgICA8aGVhZD4K
ICAgICAgICAgPHRpdGxlPlZpZXdwb3J0IG1ldGEgZGF0YSBzdG9yZWQgaW4gcGFnZSBjYWNoZS48
L3RpdGxlPgpAQCAtOSw3ICsxMCw2IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gcGFnZXNob3co
ZXZ0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNwbGF5LWlt
YWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS9kaXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9h
ZC5odG1sCmluZGV4IDA4ZDcwM2Q1MDRlLi5mZjU4MTVlODk3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQt
aW1hZ2UtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzcGxh
eS1pbWFnZS11bnNldC1hbGxvd3MtY2FjaGVkLWltYWdlLWxvYWQuaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgpAQCAtMTAsNyArMTEsNiBAQCBmdW5jdGlvbiBydW5U
ZXN0KCkKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dz
KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogCiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTFVSRTogaW1hZ2UxLmh0bWwgbm90IGxvYWRl
ZCc7CiAgICAgICAgIHdpbmRvdy5vcGVuKCJyZXNvdXJjZXMvaW1hZ2UxLmh0bWwiLCAiX2JsYW5r
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNv
dXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1uYXZpZ2F0aW9u
Lmh0bWwKaW5kZXggMGIzZTg1YjMwZDguLjA0OTQ4NzU5YmM5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1u
YXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL21haW4t
cmVzb3VyY2UtZGVsZWdhdGVzLW9uLWJhY2stbmF2aWdhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtMzAsOSArMzEsNiBAQCB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigncGFnZXNob3cnLCBmdW5jdGlvbigpIHsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCBw
YWdlQ2FjaGVFbmFibGVkKTsKLQogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAg
IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWdvLWJhY2stb25sb2FkLmh0
bWwiOwogICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2Fk
aW5nL3VuZmluaXNoZWQtbG9hZC1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbG9hZC1iYWNrLXRvLWNh
Y2hlZC1wYWdlLWNhbGxiYWNrcy5odG1sCmluZGV4IDA2MTk2OWFkOTkyLi5jYTU3ODhlMDc4MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbG9h
ZC1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9hZGluZy91bmZpbmlzaGVkLWxvYWQtYmFjay10by1jYWNoZWQtcGFnZS1jYWxs
YmFja3MuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+CiAKIHdpbmRvdy5vbnBhZ2VzaG93ID0g
ZnVuY3Rpb24oZXZ0KSB7CkBAIC0yNSw3ICsyNiw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bihldnQpIHsKIH0KIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiB9IGVsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy91bmZpbmlzaGVkLW1haW4tcmVzb3VyY2UtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3Mu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy91bmZpbmlzaGVkLW1haW4tcmVz
b3VyY2UtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3MuaHRtbAppbmRleCBjOTU5NTRhZWZj
YS4uZjJhYzY2YWQxZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy91bmZpbmlzaGVkLW1haW4tcmVzb3VyY2UtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3Mu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1tYWlu
LXJlc291cmNlLWJhY2stdG8tY2FjaGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8c2NyaXB0PgogCiB3aW5kb3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uKGV2dCkgewpAQCAtMjUs
NyArMjYsNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oZXZ0KSB7CiB9CiAKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfSBlbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFsb2cuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcmVsb2FkLWFmdGVyLWRpYWxvZy5odG1s
CmluZGV4IGZjMGI1MDY0ZDczLi4zZmU2ODAwYzg4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgpAQCAtOSw3ICsxMCw2IEBACiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5o
dG1sCmluZGV4IGNkNjFmYjhhZjcxLi4xOGJkMTM5ZGEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9nby1iYWNrLXRvLWVycm9yLXBhZ2Uu
aHRtbApAQCAtMSw2ICsxLDYgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVu
bmVyLnF1ZXVlTG9hZEhUTUxTdHJpbmcoIjxzY3JpcHQ+ZG9jdW1lbnQud3JpdGUoJzxkaXYgaWQ9
cmVzdWx0PkZBSUw6IFRoZSBhbHRlcm5hdGUgSFRNTCBzdHJpbmcgd2FzIGNhY2hlZCwgYnV0IHNo
b3VsZCBub3QgaGF2ZSBiZWVuIGNhY2hlZCBmb3IgYW4gZXJyb3IgcGFnZTwvZGl2PicpOzxcL3Nj
cmlwdD4iLCAicmVzb3VyY2VzIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9wYWdlLXRyZWF0ZWQtYXMtdW5yZWFjaGFibGUuaHRtbCIpOwogICAgIHRlc3RSdW5u
ZXIucXVldWVMb2FkKCJyZXNvdXJjZXMvcGFnZS10by1nby1iYWNrLWZyb20uaHRtbCIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0dHBzLWluLXBhZ2Ut
Y2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRwcy1pbi1w
YWdlLWNhY2hlLmh0bWwKaW5kZXggMzRiOWY2ZWQ2NTkuLmVlZTliMjY4N2MzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaHR0cHMtaW4tcGFnZS1jYWNoZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRwcy1pbi1wYWdl
LWNhY2hlLmh0bWwKQEAgLTEsOSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVu
YWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogCiBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogaWYgKGxvY2F0aW9uLnByb3RvY29s
ICE9ICJodHRwczoiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2ltYWdlLWxvYWQtaW4tcGFnZWhpZGUtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFnZWhpZGUtaGFuZGxlci5odG1sCmlu
ZGV4IDhhYmUyMTFiODllLi5mMDk4ZjE0MGM5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFnZWhpZGUtaGFuZGxlci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFnZS1sb2FkLWluLXBhZ2Vo
aWRlLWhhbmRsZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPjxoZWFkPgogPHRpdGxlPkltYWdl
IGxvYWQgaW4gcGFnZWhpZGUgaGFuZGxlcjwvdGl0bGU+CiA8c2NyaXB0PgpAQCAtOCw3ICs5LDYg
QEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICBpZiAoIXRlc3RDYWxsZWQpIHsKICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgIH0KICAgICAgICAgdGVzdENhbGxlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1mcmFn
bWVudC1yZWZlcnJlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bh
Z2UtY2FjaGUtZnJhZ21lbnQtcmVmZXJyZXIuaHRtbAppbmRleCBmYTAxNzZmMTZmNy4uMDI2N2U1
ZGZiMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLWZyYWdtZW50LXJlZmVycmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtZnJhZ21lbnQtcmVmZXJyZXIuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2IEBAIGRlc2Ny
aXB0aW9uKCJBIGNhY2hlZCBwYWdlIHdpdGggYSBVUkwgZnJhZ21lbnQgc2hvdWxkbid0IHNlbmQg
dGhlIGZyYWdtZW50IGluIHRoCiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RS
dW5uZXIuY2xlYXJCYWNrRm9yd2FyZExpc3QoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIHRlc3RSdW5uZXIucXVldWVMb2FkKCdyZXNvdXJj
ZXMvc3VjY2Vzcy5odG1sJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtbm8tY3VycmVudC1oaXN0b3J5SXRlbS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLW5vLWN1
cnJlbnQtaGlzdG9yeUl0ZW0uaHRtbAppbmRleCBhYTBiZjRkODllZC4uYmM4ODc2NDYwY2MgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlm
cmFtZS1uby1jdXJyZW50LWhpc3RvcnlJdGVtLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLW5vLWN1cnJlbnQtaGlzdG9yeUl0ZW0u
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYs
OSArNyw2IEBACiBkZXNjcmlwdGlvbigiQSBmcmFtZSB3aXRob3V0IGN1cnJlbnQgaGlzdG9yeSBp
dGVtIHNob3VsZCBub3QgcHJldmVudCBwYWdlIGNhY2hpbmcuIik7CiB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
LQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsK
ICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAi
KSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLWFzeW5jLWRlbGVn
YXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
aWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQtYXN5bmMtZGVsZWdhdGVzLmh0bWwKaW5kZXggNGUzZDJl
MDhhYWQuLjAzOGYwOGEyOTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtcHJvdmlzaW9uYWwtbG9hZC1hc3luYy1kZWxlZ2F0
ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNo
ZS1pZnJhbWUtcHJvdmlzaW9uYWwtbG9hZC1hc3luYy1kZWxlZ2F0ZXMuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTksOCArMTAsNiBAQCB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICBp
ZiAodGVzdFJ1bm5lci5zZXRTaG91bGREZWNpZGVOYXZpZ2F0aW9uUG9saWN5QWZ0ZXJEZWxheSkK
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFNob3VsZERlY2lkZU5hdmlnYXRpb25Qb2xpY3lBZnRl
ckRlbGF5KHRydWUpOwotCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtcHJvdmlzaW9uYWwt
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
aWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQuaHRtbAppbmRleCA5ZWI2YTEyM2NjYi4uMDFmNjNiZGE4
NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNh
Y2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQuaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2
IEBACiBkZXNjcmlwdGlvbigiQSBmcmFtZSBpbiBwcm92aXNpb25hbCBsb2FkIHN0YWdlIHNob3Vs
ZCBwcmV2ZW50IHBhZ2UgY2FjaGluZy4iKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJw
YWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2Fj
aGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bh
Z2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2Fk
LWNhY2hlLXBhcnRpdGlvbi5odG1sCmluZGV4IGIxODNhMWNiZjZlLi40ODBiMWNiZjY1NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVu
ZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1w
YXJ0aXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
ZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9k
eT4KQEAgLTcsOSArOCw2IEBAIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEg
bG9hZGluZyBpbWFnZSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUgKHdpCiB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CiBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9s
aWN5KCdCbG9ja1RoaXJkUGFydHknKTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlv
bihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8g
IiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWlt
YWdlLWxvYWQuaHRtbAppbmRleCA1MjBiNTI2YTU3MC4uNDU3ZTIxNzNlNWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1h
Z2UtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0
aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUu
Jyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93
IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBl
cnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctcGluZy1s
b2FkLWNyb3NzLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1waW5nLWxvYWQtY3Jvc3Mtb3JpZ2luLmh0bWwKaW5kZXggYjcz
ODUzODM0ZDUuLjEzYjBmOTJjYTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1jcm9zcy1vcmlnaW4uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5k
aW5nLXBpbmctbG9hZC1jcm9zcy1vcmlnaW4uaHRtbApAQCAtNiw5ICs2LDYgQEAKIGRlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIHBlbmRpbmcgcGluZyBsb2FkcyBjYW4gZW50ZXIg
UGFnZUNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGxldCBhZnRlclBhZ2VDYWNoZVJlc3Rv
cmUgPSBmYWxzZTsKIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rp
b24oZXZlbnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wYWdlLWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLXNhbWUtb3JpZ2luLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1z
YW1lLW9yaWdpbi5odG1sCmluZGV4IDY4MzJiMWUwNDlhLi4wNTdmYzg5OTZhZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1w
aW5nLWxvYWQtc2FtZS1vcmlnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1zYW1lLW9yaWdpbi5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYg
QEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIHBlbmRpbmcgcGluZyBsb2Fk
cyBjYW4gZW50ZXIgUGFnZUNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGxldCBhZnRlclBh
Z2VDYWNoZVJlc3RvcmUgPSBmYWxzZTsKIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2Vz
aG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci1pbi1wYWdlaGlkZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLWluLXBhZ2VoaWRlLmh0bWwK
aW5kZXggN2MwYmI0NDE2ZWQuLjBiMTEzMDFkNzZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhpZGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFn
ZWhpZGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTgsOSArOSw2IEBAIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAogdmFyIHJlc3Rv
cmVkRnJvbVBhZ2VDYWNoZSA9IGZhbHNlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0
aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQg
PyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHIuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci5odG1sCmluZGV4IDRhZGNiMzY2
ZWQxLi41MjJkNzg3MTYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3BhZ2UtY2FjaGUteGhyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGJvZHk+CkBAIC04LDkgKzksNiBAQCB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CiAKIHZhciByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsKIAotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRw
cy1pbi1wYWdlLWNhY2hlLTEucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTEucGhwCmluZGV4IDBiMTk1MDE5NzkxLi5j
MGY0NTdiM2ZkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTEucGhwCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0xLnBocApA
QCAtMSwxMSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNo
ZT10cnVlIF0gLS0+CiA8P3BocAogaGVhZGVyKCJjYWNoZS1jb250cm9sOiBuby1zdG9yZSIpOwog
Pz4KIDxzY3JpcHQ+CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
LQogZnVuY3Rpb24gbmV4dFRlc3QoKSB7CiAJaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5odHRw
c19pbl9wYWdlX2NhY2hlX3N0YXJ0ZWQpCiAJCWRlbGV0ZSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uu
aHR0cHNfaW5fcGFnZV9jYWNoZV9zdGFydGVkOwpAQCAtMzIsNCArMzAsNCBAQCB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oKSB7CiAKIH0KIAotPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMi5waHAgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMi5w
aHAKaW5kZXggNDUzMTY0YWM3NTAuLjE0MTdlNGM0MmUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMi5w
aHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRw
cy1pbi1wYWdlLWNhY2hlLTIucGhwCkBAIC0xLDExICsxLDggQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDw/cGhwCiBoZWFkZXIoImNhY2hl
LWNvbnRyb2w6IG5vLWNhY2hlIik7CiA/PgogPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBmdW5jdGlvbiBuZXh0VGVzdCgpIHsKIAlpZiAod2lu
ZG93LnNlc3Npb25TdG9yYWdlLmh0dHBzX2luX3BhZ2VfY2FjaGVfc3RhcnRlZCkKIAkJZGVsZXRl
IHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5odHRwc19pbl9wYWdlX2NhY2hlX3N0YXJ0ZWQ7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBz
LWluLXBhZ2UtY2FjaGUtMy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTMuaHRtbAppbmRleCBlNjMwNWE5ZmU4ZS4u
N2RmZmYyOGI3NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTMuaHRt
bApAQCAtMSw3ICsxLDUgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7Ci0KIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7CiAJaWYgKCFl
dnQucGVyc2lzdGVkKQogCQlyZXR1cm47CkBAIC0xNyw0ICsxNSw0IEBAIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKIAlzZXRUaW1lb3V0KCd3aW5kb3cubG9jYXRpb24gPSAiZ28tYmFjay5o
dG1sIicsIDApOwogfQogCi08L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvaHR0cHMtbm8tc3RvcmUtc3ViZnJhbWUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1uby1zdG9yZS1z
dWJmcmFtZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggY2MxNGQ2NzUwY2IuLjI4NDAyMjdiZTAy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2Vz
L2h0dHBzLW5vLXN0b3JlLXN1YmZyYW1lLWluLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLW5vLXN0b3JlLXN1YmZy
YW1lLWluLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxpZnJhbWUgc3JjPSJuby1zdG9y
ZS1mcmFtZS5waHAiPjwvaWZyYW1lPgogCiA8c2NyaXB0PgpAQCAtMTMsOSArMTQsNiBAQCB3aW5k
b3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uKGV2dCkKIAogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkKIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwot
CiAgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5odHRwc19pbl9wYWdlX2NhY2hlX3N0YXJ0
ZWQpIHsKICAgICAgICAgYWxlcnQoIkZBSUw6IFRoZSBwYWdlIHdhcyByZWxvYWRlZCBvbiBiYWNr
LiBJdCBzaG91bGQgTk9UIGhhdmUgYmVlbi4iKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZy
YW1lLXBhZ2VoaWRlLWhhbmRsZXItc3RhcnRzLWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFtZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2FkLmh0
bWwKaW5kZXggNDM2ZGYwNjIzYWYuLmEzNDRlMjY3MTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMt
bG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFt
ZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2FkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgpAQCAtNyw5ICs4LDYg
QEAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiBhIGxvYWQgaXMg
c3RhcnRlZCBpbiBhIHN1YmZyYW1lIG9uICcKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IHZhciB0b3RhbExvYWRlZCA9IDA7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24o
ZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIi
IDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFtZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2Fk
Mi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1lLXBhZ2Vo
aWRlLWhhbmRsZXItc3RhcnRzLWxvYWQyLmh0bWwKaW5kZXggOWZkNWRjNTQ1YWQuLmMzYzM3NTU1
YjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJh
bWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMtbG9hZDIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMtbG9h
ZDIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+CkBAIC03LDkgKzgsNiBAQCBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3
ZSBkb24ndCBjcmFzaCB3aGVuIGEgbG9hZCBpcyBzdGFydGVkIGluIGEgc3ViZnJhbWUgb24gJwog
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIHRvdGFsTG9hZGVkID0gMDsKIAotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hv
dyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4td2luZG93LW9wZW4taW5zZXJ0LXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4taW5zZXJ0LXNjcmlwdC5odG1sCmlu
ZGV4IDE0ZDkzYzZhNDczLi4xMTY0Yjc1MDk0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4taW5zZXJ0LXNjcmlwdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1vcGVuLWluc2VydC1zY3JpcHQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8Ym9keT4KQEAgLTcsMTAgKzgsOCBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgaW5zZXJ0aW5nIGEgc2NyaXB0IGludG8gbmV3bHkgb3BlbmVkIHdpbmRvdyBkb2VzIG5vdCBi
eXBhc3Mgb3JpZ2luIGNoZWNrcy4iKTsKIGRlYnVnKCJUaGlzIHRlc3QgcGFzc2VzIHVubGVzcyB5
b3Ugc2VlIEZBSUwgbWVzc2FnZXMgYmVsb3ciKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotfQogCiB3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgbGV0IHdpbiA9IG9wZW4oImFib3V0OmJsYW5rIiwg
Im9uZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1vcmlnaW4td2luZG93LW9wZW4tamF2YXNjcmlwdC11cmwuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1vcGVuLWphdmFzY3JpcHQtdXJs
Lmh0bWwKaW5kZXggMjMyMjFhYjNmNWMuLjI2NmJhOWNlOWNiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13aW5kb3ctb3Blbi1qYXZhc2Ny
aXB0LXVybC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1vcGVuLWphdmFzY3JpcHQtdXJsLmh0bWwKQEAgLTEsMyArMSw0IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC03LDEwICs4LDggQEAKIGRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGluc2VydGluZyBhIHNjcmlwdCBpbnRvIG5ld2x5IG9wZW5lZCB3aW5kb3cg
ZG9lcyBub3QgYnlwYXNzIG9yaWdpbiBjaGVja3MuIik7CiBkZWJ1ZygiVGhpcyB0ZXN0IHBhc3Nl
cyB1bmxlc3MgeW91IHNlZSBGQUlMIG1lc3NhZ2VzIGJlbG93Iik7CiBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLX0K
IAogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIGxldCB3aW4gPSBvcGVuKCJhYm91
dDpibGFuayIsICJvbmUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvbmF2aWdhdGUtd2hlbi1yZXN0b3JpbmctY2FjaGVkLXBhZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmF2aWdhdGUtd2hlbi1yZXN0b3JpbmctY2FjaGVkLXBh
Z2UuaHRtbAppbmRleCA5Njg2NjU5N2ZjMi4uOTA1MWRiODJlZmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmF2aWdhdGUtd2hlbi1yZXN0b3JpbmctY2FjaGVk
LXBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L25hdmlnYXRl
LXdoZW4tcmVzdG9yaW5nLWNhY2hlZC1wYWdlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDcgKzcsNiBAQAogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELWNsaWNrLWFuZC1mb3JtLXN1Ym1pc3Npb24tZnJvbS1pbmFjdGl2ZS1kb213aW5kb3cu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1jbGljay1h
bmQtZm9ybS1zdWJtaXNzaW9uLWZyb20taW5hY3RpdmUtZG9td2luZG93Lmh0bWwKaW5kZXggMDM3
NDMwYTVhYzIuLjEzMzE0ZTYxNzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3hzcy1ERU5JRUQtY2xpY2stYW5kLWZvcm0tc3VibWlzc2lvbi1mcm9tLWluYWN0
aXZlLWRvbXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzLURFTklFRC1jbGljay1hbmQtZm9ybS1zdWJtaXNzaW9uLWZyb20taW5hY3RpdmUtZG9td2lu
ZG93Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBA
IC03LDcgKzgsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKCk7CiAgICAgdGVzdFJ1bm5lci5zZXRQb3B1cEJsb2NraW5nRW5hYmxl
ZChmYWxzZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29t
cGxldGUodHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWlu
amVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdy5odG1sCmluZGV4IGU0YmU0YzFkMGJjLi4yOTYxOTc2
NTA0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWlu
YWN0aXZlLXdpbmRvdy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxib2R5PgpAQCAtOCw3ICs5LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVz
dFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9j
a2luZ0VuYWJsZWQoZmFsc2UpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5k
b3dzV2hlbkNvbXBsZXRlKHRydWUpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIt
cHNvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbAppbmRleCA0ODE3NjJh
NTc5Mi4uNmEzYmQxODM3NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi1wc29u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbApAQCAtMSw0ICsxLDQg
QEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUHJvY2Vz
c1N3YXBPbk5hdmlnYXRpb249dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbj10cnVlIGVuYWJsZVBh
Z2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KQEAgLTcsNyArNyw2
IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsK
ICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVl
KTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0K
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzIuaHRtbAppbmRleCBlOWI3NWRmZDRkZS4uODRiYzViZTk4M2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3Jp
cHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUt
d2luZG93Mi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
bmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgpAQCAtNyw3ICs4LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0UG9wdXBCbG9ja2luZ0Vu
YWJsZWQoZmFsc2UpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hl
bkNvbXBsZXRlKHRydWUpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRv
dzMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3Jp
cHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93My5odG1sCmluZGV4IGFmMjgzOGJkNTgyLi44
ZDZiZjJjMzJkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3Qt
aW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+CkBAIC03LDcgKzgsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CiAgICAgdGVzdFJ1bm5lci5zZXRQ
b3B1cEJsb2NraW5nRW5hYmxlZChmYWxzZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFp
bmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2VkLXdoZW4tZW50ZXJp
bmctcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9jbG9zZWQtd2hlbi1lbnRlcmluZy1wYWdlLWNhY2hlLmh0bWwKaW5kZXggM2IzOGRm
MGE0MGIuLjRlNzE0M2I1ZjhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC13aGVuLWVudGVyaW5nLXBhZ2UtY2FjaGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC13
aGVuLWVudGVyaW5nLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOCArNyw2IEBACiBkZXNjcmlwdGlvbigiVGVzdCB0aGF0
IGFuIG9wZW4gV2ViU29ja2V0IGRvZXMgbm90IHByZXZlbnQgYSBwYWdlIGZyb20gZW50ZXJpbmcg
cGFnZSBjYWNoZS4iKTsKIAogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogCiB2YXIgd2FzUmVzdG9yZWRGcm9tUGFn
ZUNhY2hlID0gZmFsc2U7CiB2YXIgcmVjZWl2ZWRFcnJvckV2ZW50ID0gZmFsc2U7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3N0b3Atb24t
cmVzdW1lLWluLWVycm9yLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc3RvcC1vbi1yZXN1bWUtaW4tZXJyb3ItaGFuZGxlci5odG1sCmlu
ZGV4IDdmMzM4Y2NiOTRlLi40YWMyMGMwMDNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdG9wLW9uLXJlc3VtZS1pbi1lcnJvci1oYW5k
bGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zdG9wLW9uLXJlc3VtZS1pbi1lcnJvci1oYW5kbGVyLmh0bWwKQEAgLTEsMyArMSw0IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC04LDggKzksNiBAQCBkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCBXZWJTb2NrZXQgY29ycmVjdGx5IGhhbmRsZXMgYmVpbmcgc3RvcHBlZCBpbiB0
aGUgZXJyb3IgZQogdmFyIHdhc1Jlc3RvcmVkRnJvbVBhZ2VDYWNoZSA9IGZhbHNlOwogCiB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAi
IiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LWFkZGVkLXRvLWNsaWVudHMtd2hlbi1yZXN0
b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdl
LWNhY2hlLmh0bWwKaW5kZXggNjJiZDYyOTQxODkuLjViYjBiZWUxZjgxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xp
ZW50cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4t
cmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGxvZygiKiBUZXN0cyB0aGF0IGEg
Y2xpZW50IGlzIHJlLWFkZGVkIHRvIHRoZSBsaXN0IG9mIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMg
d2hlbiBpdCBpcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlIik7CiBsb2coIiIpOwogCi1p
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLX0KIAogbGV0IHRyaWVz
ID0gMDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZp
Y2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZy
b20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggYjEwOTE5YWM3M2QuLmJl
YzExZWE5MTE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1v
dmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBA
Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGxvZygiKiBU
ZXN0cyB0aGF0IGEgY2xpZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiBzZXJ2aWNlIHdv
cmtlciBjbGllbnRzIHdoaWxlIGl0IGlzIGluIHRoZSBwYWdlIGNhY2hlIik7CiBsb2coIiIpOwog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgdGVz
dFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLX0KIAogbGV0IHRv
cENsaWVudElkZW50aWZpZXIgPSBudWxsOwogbGV0IHdpbmRvd0NsaWVudElkZW50aWZpZXIgPSBu
dWxsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvYmVhY29uL3N1cHBvcnQvc2Vu
ZEJlYWNvbi1vbnBhZ2VoaWRlLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvYmVh
Y29uL3N1cHBvcnQvc2VuZEJlYWNvbi1vbnBhZ2VoaWRlLXdpbmRvdy5odG1sCmluZGV4IGJhMTMx
NzY5ZDZkLi5jYmUxOTUwOWM1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvYmVh
Y29uL3N1cHBvcnQvc2VuZEJlYWNvbi1vbnBhZ2VoaWRlLXdpbmRvdy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2JlYWNvbi9zdXBwb3J0L3NlbmRCZWFjb24tb25wYWdlaGlkZS13aW5k
b3cuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAg
LTYsOSArNyw2IEBACiA8c2NyaXB0PgogY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIvYmVhY29uL3Jl
c291cmNlcy8iOwogdmFyIGlkID0gc2VsZi50b2tlbigpOwotCi1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5IiwgMSk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbGVnYWN5LWFuaW1hdGlvbi1lbmdpbmUvYW5pbWF0aW9ucy9yZXN1
bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvbGVnYWN5LWFuaW1hdGlvbi1l
bmdpbmUvYW5pbWF0aW9ucy9yZXN1bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sCmluZGV4IGQwZTc5
ZDg3NTY1Li5kZWQzODc1NmYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbGVnYWN5LWFuaW1h
dGlvbi1lbmdpbmUvYW5pbWF0aW9ucy9yZXN1bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2xlZ2FjeS1hbmltYXRpb24tZW5naW5lL2FuaW1hdGlvbnMvcmVzdW1lLWFm
dGVyLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZXhwZXJpbWVudGFsOldlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFs
c2UgXSAtLT4KKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOldlYkFuaW1h
dGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFsc2UgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDxzdHlsZT4KIEAtd2Via2l0LWtleWZyYW1lcyBib3VuY2UgewogICAgIGZyb20gewpAQCAt
MjYsNyArMjYsNiBAQCB2YXIgaGFzTmF2aWdhdGVkID0gZmFsc2U7CiBmdW5jdGlvbiBzYXdJdGVy
YXRpb24oZXZlbnQpIHsKICAgICBpZiAoaGFzTmF2aWdhdGVkKSB7CiAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIikuaW5uZXJUZXh0ID0gIlBBU1M6IFNhdyBpdGVyYXRp
b24gYWZ0ZXIgbmF2aWdhdGlvbiI7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAwKTsKICAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfQogfQpAQCAtNDMsNyArNDIsNiBAQCBm
dW5jdGlvbiBzdGFydFRlc3QoKSB7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBzdGFydFRlc3QsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2xvYWRlci9nby1iYWNrLWNhY2hlZC1tYWluLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9sb2FkZXIvZ28tYmFjay1jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCmluZGV4IDc1M2Q1YjAx
N2ViLi45ODRmNjQwNmE5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2st
Y2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFj
ay1jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4K
ICAgICA8dGl0bGU+VGVzdCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrcyBnb2luZyBiYWNrIHRvIGEg
Y2FjaGVkIG1haW4gcmVzb3VyY2U8L3RpdGxlPgpAQCAtNyw3ICs4LDYgQEAKICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7CiAgICAgICAgIHRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KIAogICAgIC8vIFdpbmRvdyB3ZSB3aWxsIGJl
IGNvbnRyb2xsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2stdG8t
ZGlmZmVyZW50LXdpbmRvdy1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFjay10
by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbAppbmRleCA4YWMzYWIzYzhiNS4uNTg0M2U3ZjU4
YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLXRvLWRpZmZlcmVudC13
aW5kb3ctc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLXRvLWRpZmZl
cmVudC13aW5kb3ctc2l6ZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0PgogCkBA
IC0yOSw3ICszMCw2IEBAIGZ1bmN0aW9uIHJ1blRlc3RTdGVwKCkgewogICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICB3
aW5kb3cucmVzaXplVG8oMzAwLCAzMDApOwogICAgIC8vIFdhaXQgYSBiaXQgYmVmb3JlIG5hdmln
YXRpbmcgYXdheSB0byBtYWtlIHN1cmUgd2UgaGF2ZSBkb25lIGxheW91dCBkdWUgdG8gdGhlIHJl
c2l6aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gtY2xvc2luZy1wYWdl
LXdpdGgtbWVkaWEtYXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9j
cmFzaC1jbG9zaW5nLXBhZ2Utd2l0aC1tZWRpYS1hcy1wbHVnaW4tZmFsbGJhY2suaHRtbAppbmRl
eCA4OTRjODc0MjQ3Zi4uODE5NTkxZWRiZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlh
L2NyYXNoLWNsb3NpbmctcGFnZS13aXRoLW1lZGlhLWFzLXBsdWdpbi1mYWxsYmFjay5odG1sCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL2NyYXNoLWNsb3NpbmctcGFnZS13aXRoLW1lZGlhLWFzLXBs
dWdpbi1mYWxsYmFjay5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHNjcmlwdD4KIHZhciBjaGlsZFdpbmRv
dzsKIDwvc2NyaXB0PgpAQCAtMTIsNyArMTMsNiBAQCBJZiBpdCBkb2Vzbid0IGNyYXNoLCBpdCBw
YXNzZXMuPGJyPgogaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFnZUNh
Y2hlU3VwcG9ydHNQbHVnaW5zKHRydWUpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRv
d3ModHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29t
cGxldGUodHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9yZXN0b3JlLWZyb20t
cGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvcmVzdG9yZS1mcm9tLXBhZ2UtY2Fj
aGUuaHRtbAppbmRleCA1YzE0NTRjOTZlYy4uZTk1MDUxODMyYjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3Jlc3RvcmUtZnJvbS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvcmVzdG9yZS1mcm9tLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1s
PgogICAgIDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0
PgpAQCAtOSw3ICsxMCw2IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gcGFnZXNob3coZXZ0KSAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFj
ay1mb3J3YXJkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW9zL2ZpeGVkL2ZpeGVk
LWJhY2stZm9yd2FyZC5odG1sCmluZGV4IDdhNzc4ZjkyYWY0Li5kMDY0MDQzM2QwYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2lvcy9maXhlZC9maXhlZC1iYWNrLWZvcndh
cmQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW9zL2ZpeGVkL2ZpeGVkLWJh
Y2stZm9yd2FyZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxo
ZWFkPgpAQCAtMzUsOSArMzYsNiBAQCBmdW5jdGlvbiBvblBhZ2VIaWRlKCkKIAogZnVuY3Rpb24g
b25QYWdlTG9hZCgpCiB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7Ci0KICAgICAvLyBOYXZpZ2F0ZSBpbiBhIHRpbWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNy
ZWF0ZSBhIGhpc3RvcnkgZW50cnkuCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAg
IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ3Jlc291cmNlcy9qdW1wLWJhY2suaHRtbCc7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4tcGFnZS1m
cm9tLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvY3Jhc2gtcmVzdG9yaW5n
LXBsdWdpbi1wYWdlLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDI5ZWNjZjg5MjdjLi42Zjg4
NGYzNTZjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9jcmFzaC1yZXN0b3Jpbmct
cGx1Z2luLXBhZ2UtZnJvbS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lu
cy9jcmFzaC1yZXN0b3JpbmctcGx1Z2luLXBhZ2UtZnJvbS1wYWdlLWNhY2hlLmh0bWwKQEAgLTEs
OSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8aGVhZD4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1ZSk7CiB9CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbAppbmRleCA0
YmI1MzJmZjA1Mi4uY2E4NWJkY2I2MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMv
ZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5z
L2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgog
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmcoIkZ1bGx5RW5hYmxl
ZCIpCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zKHRydWUpOwogICAgIH0KIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13b3Jr
cy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13
b3Jrcy5odG1sCmluZGV4IGUxNjY2YWZiZmRhLi40ZjgyMzQxNzZjMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13b3Jrcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLXBhZ2UtY2FjaGUtd29ya3Mu
aHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucyh0cnVlKTsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvYmFzaWMtY2FjaGVkLWJhY2stc3dpcGUuaHRt
bCBiL0xheW91dFRlc3RzL3N3aXBlL2Jhc2ljLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwKaW5kZXgg
ODcxYTJiYzY0NmIuLjY1NjViMDc4ZDBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9i
YXNpYy1jYWNoZWQtYmFjay1zd2lwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N3aXBlL2Jhc2lj
LWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aGVhZD4KIDxzdHlsZT4KIGh0
bWwgewpAQCAtNTgsNyArNTksNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAg
ICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRFbmRTd2lwZUNhbGxiYWNrKGRpZEVuZFN3aXBlQ2Fs
bGJhY2spOwogICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRSZW1vdmVTd2lwZVNuYXBzaG90
Q2FsbGJhY2soZGlkUmVtb3ZlU3dpcGVTbmFwc2hvdENhbGxiYWNrKTsKIAotICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogCkBAIC03Myw0ICs3Myw0IEBAIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPC9ib2R5PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N3aXBlL21haW4tZnJhbWUtcGlubmluZy1yZXF1aXJlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMv
c3dpcGUvbWFpbi1mcmFtZS1waW5uaW5nLXJlcXVpcmVtZW50Lmh0bWwKaW5kZXggYTM2OWI4MjFi
OWQuLmM4MWYzZTY0ZGY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZyYW1l
LXBpbm5pbmctcmVxdWlyZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZy
YW1lLXBpbm5pbmctcmVxdWlyZW1lbnQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHN0eWxl
PgogaHRtbCB7CkBAIC04MSw3ICs4Miw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7
CiAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEVuZFN3aXBlQ2FsbGJhY2soZGlkRW5kU3dp
cGVDYWxsYmFjayk7CiAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZFJlbW92ZVN3aXBlU25h
cHNob3RDYWxsYmFjayhkaWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2spOwogCi0gICAgICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKQEAgLTEwMCw0ICsxMDAsNCBAQCB3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24gKCkgewogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJsYXJnZSIg
c3R5bGU9IndpZHRoOiAyMDAwcHg7IGhlaWdodDogMjAwMHB4OyI+PC9kaXY+Ci08L2JvZHk+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3dpcGUvcHVzaFN0YXRlLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9z
d2lwZS9wdXNoU3RhdGUtY2FjaGVkLWJhY2stc3dpcGUuaHRtbAppbmRleCA5YThkYzlkN2Q5YS4u
YTAxMTlmMTYzMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1jYWNo
ZWQtYmFjay1zd2lwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1jYWNo
ZWQtYmFjay1zd2lwZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGhlYWQ+CiA8c3R5bGU+CiBodG1sIHsK
QEAgLTYzLDcgKzY0LDYgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICB0ZXN0
UnVubmVyLmluc3RhbGxEaWRFbmRTd2lwZUNhbGxiYWNrKGRpZEVuZFN3aXBlQ2FsbGJhY2spOwog
ICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhkaWRS
ZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2spOwogCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAK
QEAgLTgzLDQgKzgzLDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKIDwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRlLXByb2dyYW1t
YXRpYy1iYWNrLXdoaWxlLXN3aXBpbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N3aXBlL3B1
c2hTdGF0ZS1wcm9ncmFtbWF0aWMtYmFjay13aGlsZS1zd2lwaW5nLWNyYXNoLmh0bWwKaW5kZXgg
M2Y4N2EwMzllZTcuLjAyZmQ0NGU0MWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9w
dXNoU3RhdGUtcHJvZ3JhbW1hdGljLWJhY2std2hpbGUtc3dpcGluZy1jcmFzaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1wcm9ncmFtbWF0aWMtYmFjay13aGlsZS1zd2lw
aW5nLWNyYXNoLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aGVhZD4KIDxzdHlsZT4KIGh0bWwgewpAQCAt
OTYsNyArOTcsNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogCiAgICAgdGVzdFJ1
bm5lci5pbnN0YWxsRGlkQmVnaW5Td2lwZUNhbGxiYWNrKGRpZEJlZ2luU3dpcGVDYWxsYmFjayk7
CiAKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIApAQCAtMTE2LDQgKzExNiw0IEBAIHdpbmRvdy5v
bmxvYWQgPSBmdW5jdGlvbiAoKSB7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPC9ib2R5
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N3aXBlL3B1c2hzdGF0ZS13aXRoLW1hbnVhbC1zY3JvbGxyZXN0b3JhdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaHN0YXRlLXdpdGgtbWFudWFsLXNjcm9sbHJlc3RvcmF0
aW9uLmh0bWwKaW5kZXggM2VmMjhhOTI1NGQuLjFmMWQ3YWUwNzcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zd2lwZS9wdXNoc3RhdGUtd2l0aC1tYW51YWwtc2Nyb2xscmVzdG9yYXRpb24uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoc3RhdGUtd2l0aC1tYW51YWwtc2Nyb2xscmVz
dG9yYXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
ZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC00
Myw3ICs0NCw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsRGlkRW5kU3dpcGVDYWxsYmFjayhkaWRFbmRTd2lwZUNhbGxiYWNrKTsKICAgICB0
ZXN0UnVubmVyLmluc3RhbGxEaWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2soZGlkUmVtb3Zl
U3dpcGVTbmFwc2hvdENhbGxiYWNrKTsKIAotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCkBAIC01
Nyw0ICs1Nyw0IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiA8L2hlYWQ+CiA8Ym9k
eT4KIGZpcnN0Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1wYXJl
bnQtYmFjay1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
bnVsbC1wYXJlbnQtYmFjay1jcmFzaC5odG1sCmluZGV4IGQ2NGVmNmI4M2MxLi43N2MzYzBhODYy
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1w
YXJlbnQtYmFjay1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL251bGwtcGFyZW50LWJhY2stY3Jhc2guaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTEzLDcgKzE0LDYgQEAKICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBwYWdlSGlkZGVuKCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvdGlsZWQtZHJhd2luZy1zY3JvbGwt
cG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy90aWxlZC1kcmF3aW5nLXNjcm9sbC1wb3NpdGlvbi1wYWdlLWNhY2hlLXJlc3RvcmF0
aW9uLmh0bWwKaW5kZXggNmEyODUxZjM0YTMuLmJkZDA4NzUyNWY0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xsLXBvc2l0aW9uLXBhZ2Ut
Y2FjaGUtcmVzdG9yYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Rp
bGVkLWRyYXdpbmctc2Nyb2xsLXBvc2l0aW9uLXBhZ2UtY2FjaGUtcmVzdG9yYXRpb24uaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTYsNyArNyw2
IEBACiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5P
cGVuV2luZG93cygpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KIAogICAg
ICAgICB3aW5kb3cuZmluaXNoZWRUZXN0ID0gZnVuY3Rpb24gKGxheWVyVHJlZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379659</attachid>
            <date>2019-09-26 10:52:25 -0700</date>
            <delta_ts>2019-09-26 10:59:16 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>202274_wip.patch</filename>
            <type>text/plain</type>
            <size>114590</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2Fj
aGUuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUu
aHRtbAppbmRleCBhZjFkZTAzYzIwYS4uYTY2MjJlZTMwODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8c3R5bGU+CiBALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHsKICAgICBmcm9tIHsKQEAgLTI1
LDcgKzI2LDYgQEAgdmFyIGhhc05hdmlnYXRlZCA9IGZhbHNlOwogZnVuY3Rpb24gc2F3SXRlcmF0
aW9uKGV2ZW50KSB7CiAgICAgaWYgKGhhc05hdmlnYXRlZCkgewogICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmlubmVyVGV4dCA9ICJQQVNTOiBTYXcgaXRlcmF0aW9u
IGFmdGVyIG5hdmlnYXRpb24iOwotICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMCk7CiAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgIH0KIH0KQEAgLTQyLDcgKzQyLDYgQEAgZnVu
Y3Rpb24gc3RhcnRUZXN0KCkgewogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgc3RhcnRUZXN0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9hY2NlbGVyYXRlZC1sYXllcnMtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtbGF5ZXJzLWFmdGVyLWJhY2suaHRtbAppbmRl
eCA3Nzg1NDczMWUyNi4uM2I2MWE0NGMzYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2FjY2VsZXJhdGVkLWxheWVycy1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYWNjZWxlcmF0ZWQtbGF5ZXJzLWFmdGVyLWJhY2suaHRtbApAQCAtMSw0
ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUFj
Y2VsZXJhdGVkRHJhd2luZz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyB1c2VBY2NlbGVyYXRlZERyYXdpbmc9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogCiA8aHRtbD4KIDxoZWFkPgpAQCAtMTksNyArMTksNiBAQAogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAg
ICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGZ1bmN0
aW9uIGRvT25GaXJzdExvYWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aWZyYW1lcy9wYWdlLWNhY2hlLWxheWVyLXRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwKaW5kZXggNDIzZGNjMzA1ZjQu
Ljk2YzY5OGYzNzQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVz
L3BhZ2UtY2FjaGUtbGF5ZXItdHJlZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2lmcmFtZXMvcGFnZS1jYWNoZS1sYXllci10cmVlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC00OSw3ICs1MCw2IEBACiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3BhZ2UtY2FjaGUtYmFjay1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGFnZS1jYWNoZS1iYWNrLWNyYXNoLmh0bWwK
aW5kZXggMTQ2MGU3Njc0ODYuLjhmNjhiY2Q4ZmE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wYWdlLWNhY2hlLWJhY2stY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9wYWdlLWNhY2hlLWJhY2stY3Jhc2guaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzdHls
ZT4KIC5vdXRlciB7IHBvc2l0aW9uOiBmaXhlZDsgfQogLmlubmVyIHsgcG9zaXRpb246IGFic29s
dXRlOyB9CkBAIC04LDcgKzksNiBAQCBUZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0IGNyYXNoLgog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwogICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB3aW5kb3cu
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1
bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaG93
LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9zaG93LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwKaW5kZXgg
NjVhOGIxMDUyMTIuLjU2OTVlNzRmMzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9zaG93LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFtZS1vbi1iYWNrLWJ1dHRv
bi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAt
MTUsMTEgKzE2LDggQEAgZnVuY3Rpb24gaGFuZGxlT25QYWdlU2hvdyhwYWdlVHJhbnNpdGlvbkV2
ZW50KQogICAgIHRlc3RSdW5uZXIucXVldWVCYWNrTmF2aWdhdGlvbigxKTsKIH0KIAotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB3aW5kb3cub25wYWdlc2hvdyA9IGhhbmRsZU9uUGFnZVNob3c7Ci19CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9t
YWMvaW5wdXQvdW5jb25maXJtZWQtdGV4dC1uYXZpZ2F0aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvaW5wdXQvdW5jb25maXJtZWQtdGV4dC1uYXZpZ2F0
aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1sCmluZGV4IDRhZjMzYWIxYTFjLi4zODg3N2NiZDBlOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvaW5wdXQvdW5jb25maXJtZWQtdGV4
dC1uYXZpZ2F0aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvbWFjL2lucHV0L3VuY29uZmlybWVkLXRleHQtbmF2aWdhdGlvbi13aXRoLXBhZ2UtY2FjaGUu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8dGl0bGU+VGVzdCB3aGF0IGhhcHBl
bnMgd2hlbiBuYXZpZ2F0aW5nIGZyb20gYSBwYWdlIHdpdGggdW5jb25maXJtZWQgaW5saW5lIGlu
cHV0IHdoZW4gdGhlIHBhZ2UgaXMgY2FjaGVhYmxlPC90aXRsZT4KQEAgLTcsMTAgKzgsOCBAQAog
PHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5k
b3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci19CiAKIC8vIFdpbmRvdyB3ZSB3aWxsIGJlIGNvbnRy
b2xsaW5nLgogdmFyIHRhcmdldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Zv
bnRsb2FkZXItcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9udGxvYWRl
ci1wYWdlLWNhY2hlLmh0bWwKaW5kZXggOGQ0NzJmMTBjNDMuLjdhMjBhMGMxYTI5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250bG9hZGVyLXBhZ2UtY2FjaGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250bG9hZGVyLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8c3R5bGU+CkBAIC0yMiw3ICsyMyw2IEBA
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogICAgIGRvY3VtZW50LmZvbnRz
LmxvYWRGb250KHsgZm9udDogJzEwcHggVGVzdEZvbnQnLCBvbnN1Y2Nlc3M6IG9uc3VjY2Vzcywg
b25lcnJvcjogb25lcnJvciB9KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RldmljZU1vdGlvbi9uby1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vbm8tcGFnZS1jYWNoZS5odG1sCmluZGV4IGNmNzQ5N2YyODg5Li41OWU3Mzgz
MTkxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL25vLXBh
Z2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vbm8t
cGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtOSw3ICsx
MCw2IEBAIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZU1vdGlv
biBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9w
ZW5XaW5kb3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7CiB9IGVsc2UKICAgICBkZWJ1ZygnVGhpcyB0
ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIFRlc3RSdW5uZXInKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQtYWZ0ZXItbmF2
aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZl
bnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sCmluZGV4IDlmOTc3NGFmNGZmLi4yMzhiMzcxNGYwMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQt
YWZ0ZXItbmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9y
aWVudGF0aW9uL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1s
PgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KQEAgLTYsMTEgKzcsNiBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCdUZXN0
cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMg
YmVlbiBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGluIHRoZSBwYWdl
IGNhY2hlLicpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7Ci1l
bHNlCi0gICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0
UnVubmVyJyk7Ci0KIGRvY3VtZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0aW9uJywgZnVuY3Rpb24oKSB7IH0g
KTsKICAgICB3aW5kb3cubG9jYXRpb24gPSAicmVzb3VyY2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRp
b24tbmV3Lmh0bWwiOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3Jp
ZW50YXRpb24vbm8tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24vbm8tcGFnZS1jYWNoZS5odG1sCmluZGV4IGM2YTIxNWI5NTVmLi42NjUxZjUx
NmRlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24v
bm8tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVu
dGF0aW9uL25vLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhlYWQ+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
QEAgLTksNyArMTAsNiBAQCBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBwYWdlcyB0aGF0IHVzZSBE
ZXZpY2VPcmllbnRhdGlvbiBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZQogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5l
ci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOwogfSBlbHNlCiAgICAgZGVi
dWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy90aW1lci1yZXN1bWUtb24t
bmF2aWdhdGlvbi1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvdGltZXIt
cmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCmluZGV4IGUwOTA1YWY5NjI3Li4zMDJhNDI0
MGI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3RpbWVyLXJlc3Vt
ZS1vbi1uYXZpZ2F0aW9uLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvdGltZXItcmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0
bWw+CiA8c2NyaXB0PgogdmFyIHRpbWVvdXRWYWx1ZSA9IDEwMDsgLy9tcwpAQCAtMjgsNyArMjks
NiBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICAvLyBMb2NhdGlvbiBjaGFu
Z2VzIG5lZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRl
IGhpc3RvcnkgZW50cmllcy4KICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb251bmxvYWQtYmFjay10by1wYWdlLWNhY2hlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUu
aHRtbAppbmRleCAzOGM0YjYyM2JkMy4uZjAxODRmMzdjNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL29udW5sb2FkLWJhY2stdG8tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL29udW5sb2FkLWJhY2stdG8tcGFnZS1jYWNoZS5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgogPGh0bWw+CiA8aGVhZD4KQEAgLTExLDExICsxMiw4IEBAIG9ucGFnZXNob3cgPSBmdW5jdGlv
bihldmVudCkgewogICAgIGlmICh3aW5kb3cuaGlzdG9yeS5zdGF0ZSA9PSAnbmF2aWdhdGVkJykg
ewogICAgICAgICB0ZXN0UGFzc2VkKCdXZWJUaW1pbmcgYXNzZXJ0cyBpbiBGcmFtZUxvYWRlci5j
cHAgZGlkIG5vdCBmaXJlJyk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEp
OworICAgIH0gZWxzZQogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3dpbmRvdy5oaXN0
b3J5LnJlcGxhY2VTdGF0ZSgnbmF2aWdhdGVkJywgJycpOyBsb2NhdGlvbi5ocmVmID0gJ2RhdGE6
dGV4dC9odG1sLDxzY3JpcHQ+b251bmxvYWQ9ZnVuY3Rpb24oKSB7fSxvbmxvYWQ9ZnVuY3Rpb24o
KXtoaXN0b3J5LmJhY2soKTt9PCcgKyAnL3NjcmlwdD4nO30sIDApOwotICAgIH0KIH0KIAogdmFy
IGpzVGVzdElzQXN5bmMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcGFnZWhpZGUtdGltZW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9wYWdlaGlkZS10aW1lb3V0LWV4cGVjdGVkLnR4dAppbmRleCA1Y2MzM2Q1YjI5Yy4uOTljYzA2
MmFmYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVv
dXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRp
bWVvdXQtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE2OiBDcmVhdGluZyB0aW1lb3V0IGluIHBhZ2VoaWRlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQ6IENyZWF0aW5nIHRpbWVvdXQgaW4gcGFnZWhpZGUKIENPTlNPTEUgTUVTU0FHRTogbGluZSA1
OiBMb2FkZWQgcGFnZWhpZGUtdGltZW91dC1nby1iYWNrLmh0bWwsIGdvaW5nIGJhY2sKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyOTogUmVzdG9yZWQgcGFnZSBmcm9tIHBhZ2UgY2FjaGUuCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjA6IFRpbWVvdXQgY3JlYXRlZCBpbiBwYWdlaGlkZSBmaXJlZAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBSZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxODogVGltZW91dCBjcmVhdGVkIGluIHBhZ2VoaWRlIGZp
cmVkCiBUZXN0cyB0aGF0IEpTIGV4ZWN1dGlvbiBpcyBzdXNwZW5kZWQgYWZ0ZXIgdGhlIHBhZ2Vo
aWRlIGV2ZW50IGlzIGZpcmVkLCBzbyB0aGF0IHRpbWVycyBjcmVhdGVkIHdpdGhpbiBpdCB3aWxs
IG5vdCBmaXJlIHdoaWxlIHRoZSBkb2N1bWVudCBpcyBpbiB0aGUgcGFnZSBjYWNoZS4KIAogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcGFnZWhpZGUtdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhp
ZGUtdGltZW91dC5odG1sCmluZGV4IGQ5ZjI0ZDdkZjBkLi40ODAxZWU4ODY5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVvdXQuaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxodG1sPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CiA8Ym9keT4KQEAgLTUsOSArNiw2IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBKUyBleGVjdXRpb24gaXMgc3VzcGVuZGVk
IGFmdGVyIHRoZSBwYWdlaGlkZSBldmVudCBpcyBmaXJlZCwgc28gdGhhdCB0aW1lcnMgY3JlYXRl
ZCB3aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3aGlsZSB0aGUgZG9jdW1lbnQgaXMgaW4gdGhlIHBh
Z2UgY2FjaGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsK
LSAgICAKIG9ucGFnZWhpZGUgPSBmdW5jdGlvbigpCiB7CiAgICAgLy8gRG9uJ3QgdHJ5IHRvIGNy
ZWF0ZSB0aGUgdGltZW91dCBhZ2FpbiBpZiB0aGUgdGVzdCBpcyBjb21wbGV0ZSBhbmQgd2UncmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLWV4
cGVjdGVkLnR4dAppbmRleCAzMzQzOTJmZDE1ZS4uZjg4MzI5MjcxZGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS14aHItb3Blbi1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSw2IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogWE1MSHR0cFJlcXVlc3Qg
aW4gc3ViZnJhbWUtMSBjcmVhdGVkCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogTG9hZGVkIHBh
Z2VoaWRlLXRpbWVvdXQtZ28tYmFjay5odG1sLCBnb2luZyBiYWNrCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTc6IFJlc3RvcmVkIHBhZ2UgZnJvbSBwYWdlIGNhY2hlLgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0OiBSZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4KIFRyaWVzIHRvIHRyaWdn
ZXIgYW4gYXNzZXJ0IGluIHhtbGh0dHByZXF1ZXN0IGR1cmluZyBwYWdlaGlkZS4KIAogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
cGFnZWhpZGUteGhyLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRl
LXhoci1vcGVuLmh0bWwKaW5kZXggMmJlODEwMThmNWMuLmEzYjliNWNlMzdlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS14aHItb3Blbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8aHRtbD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgogPGJvZHk+CkBAIC03LDEwICs4LDYgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KIGRlc2NyaXB0aW9uKCdUcmllcyB0byB0cmlnZ2VyIGFuIGFzc2VydCBpbiB4bWxo
dHRwcmVxdWVzdCBkdXJpbmcgcGFnZWhpZGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVBy
ZWZlcmVuY2VLZXknLCAxKTsKLQotCiBvbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAg
ICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQtd2l0aC1mcmFtZXMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVk
LXdpdGgtZnJhbWVzLmh0bWwKaW5kZXggYzM5OWM1ODJkNDguLjQyMTI4NmQ1MDAwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNh
Y2hlZC13aXRoLWZyYW1lcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2Vz
aG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLXdpdGgtZnJhbWVzLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8aHRtbD4KIDxib2R5PgogVGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3
aGVuIG5hdmlnYXRpbmcgYXdheSBmcm9tIGEgcGFnZSB3aXRoIGZyYW1lcywgcHV0dGluZyB0aGUg
cGFnZSBpbiB0aGUgcGFnZSBjYWNoZSwgdGhlbiBiYWNrIHRvIGl0LgpAQCAtOCw3ICs5LDYgQEAg
VGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3aGVuIG5hdmlnYXRpbmcgYXdh
eSBmcm9tIGEgcGFnZSB3aXRoIGZyYW0KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwogfQogCiAvLyBXZSBleHBsaWNpdGx5IGNoYWluIHRoZSBsb2FkaW5n
IG9mIHRoZSBzdWJmcmFtZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgdGVzdCByZXN1bHRzIGJldHdl
ZW4gcnVucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBh
Z2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdl
c2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC5odG1sCmluZGV4IGU5OTgxNWI2Y2NhLi5jZjky
MWJmY2Q4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFn
ZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9w
YWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC5odG1sCkBAIC0xLDkgKzEsOSBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHA+VGVz
dCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3aGVuIG5hdmlnYXRpbmcgYmFjayB0
byBhbiBjYWNoZWQgcGFnZS48L3A+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KGV2dCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1l
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1lcnMt
ZXhwZWN0ZWQudHh0CmluZGV4IDQ3ZjA0YzcxODdjLi5lNTdiYzg2Mzg5MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1lcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJzLWV4cGVjdGVkLnR4dApAQCAt
MSw2ICsxLDYgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBUaW1lb3V0IGluIHN1YmZyYW1l
LTEgY3JlYXRlZAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IExvYWRlZCBwYWdlaGlkZS10aW1l
b3V0LWdvLWJhY2suaHRtbCwgZ29pbmcgYmFjawotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMwOiBS
ZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzog
UmVzdG9yZWQgcGFnZSBmcm9tIHBhZ2UgY2FjaGUuCiBBTEVSVDogVGltZW91dCBjcmVhdGVkIGlu
IHN1YmZyYW1lLTEuaHRtbCBmaXJlZAogVGVzdHMgdGhhdCBhbGwgSlMgdGltZXJzIGFyZSBzdXNw
ZW5kZWQgYWZ0ZXIgdGhlIHBhZ2VoaWRlIGV2ZW50IGlzIGZpcmVkLCBzbyB0aGF0IHRpbWVycyBj
cmVhdGVkIHdpdGhpbiBpdCB3aWxsIG5vdCBmaXJlIHdoaWxlIHRoZSBkb2N1bWVudCBpcyBpbiB0
aGUgcGFnZSBjYWNoZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3Vz
cGVuZC10aW1lcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJz
Lmh0bWwKaW5kZXggODk3OWUyOWVlYjAuLjNjODVmNDgxZTQzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9zdXNwZW5kLXRpbWVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3N1c3BlbmQtdGltZXJzLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+CkBAIC0yMCwxMCArMjEsNiBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYWxsIEpTIHRpbWVycyBhcmUg
c3VzcGVuZGVkIGFmdGVyIHRoZSBwYWdlaGlkZSBldmVudCBpcyBmaXJlZCwgc28gdGhhdCB0aW1l
cnMgY3JlYXRlZCB3aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3aGlsZSB0aGUgZG9jdW1lbnQgaXMg
aW4gdGhlIHBhZ2UgY2FjaGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXknLCAxKTsKLQotCiBvbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgaWYgKGV2
ZW50LnBlcnNpc3RlZCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRv
Y29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1k
b2VzLW5vdC1jbGVhci5odG1sCmluZGV4IDQ0ZDA3NjJmYjg2Li5iM2ZkZDJhZTg1ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVs
dC12YWx1ZS1kb2VzLW5vdC1jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
YXV0b2NvbXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXIuaHRtbApA
QCAtMSw3ICsxLDcgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDxzY3JpcHQ+CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotCXRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOwogCXRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogCXRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtY3Jh
c2gtd2l0aC1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS1j
cmFzaC13aXRoLXBhZ2UtY2FjaGUuaHRtbAppbmRleCAxZTE0OWZmYmY3ZC4uYTI5OWNmODUzZjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLWNyYXNoLXdpdGgtcGFn
ZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLWNyYXNoLXdp
dGgtcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0Pgogd2luZG93
LmZpbmlzaCA9IGZ1bmN0aW9uKCkKQEAgLTIwLDcgKzIxLDYgQEAgZnVuY3Rpb24gdGVzdCgpIHsK
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICBsb2coIm9wZW4gcGFnZS0xIik7CiAgICAg
d2luZG93Lm9wZW4oInJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1uYXZpZ2F0ZS1hbmQtc2V0VGlt
ZW91dC1hc3NlcnQtZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtdW5s
b2FkLW5hdmlnYXRlLWFuZC1zZXRUaW1lb3V0LWFzc2VydC1mYWlsLmh0bWwKaW5kZXggMTIwOTFl
ZmVlZTkuLjM4MzJkNjdkZjUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
cmFtZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRpbWVvdXQtYXNzZXJ0LWZhaWwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRp
bWVvdXQtYXNzZXJ0LWZhaWwuaHRtbApAQCAtMSwxMCArMSwxMCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxib2R5PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9wYWdlLWhpZGUtZG9jdW1lbnQtb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvcGFnZS1oaWRlLWRvY3VtZW50LW9wZW4uaHRtbAppbmRleCA1ZmRlZmY2ZDIwNS4u
OTVjMTRhYjNhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3BhZ2UtaGlk
ZS1kb2N1bWVudC1vcGVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcGFnZS1o
aWRlLWRvY3VtZW50LW9wZW4uaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogUGFz
c2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOwogICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3Rvcmlu
Zy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5v
dC1ydW4tc2NyaXB0cy12aWEtc3R5bGUtdXBkYXRlLmh0bWwKaW5kZXggYThlNWQ0YzRlZGQuLmRi
MWQxNGU4NmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXN0b3Jpbmct
cGFnZS1jYWNoZS1zaG91bGQtbm90LXJ1bi1zY3JpcHRzLXZpYS1zdHlsZS11cGRhdGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQt
bm90LXJ1bi1zY3JpcHRzLXZpYS1zdHlsZS11cGRhdGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTksNyArMTAsNiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFBhZ2VDYWNoZVN1cHBv
cnRzUGx1Z2lucyh0cnVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5vdC1ydW4tc2NyaXB0cy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5vdC1ydW4t
c2NyaXB0cy5odG1sCmluZGV4IGMwMDgzYmRjODVkLi5jMTQ1YjUwOTViMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hvdWxkLW5vdC1y
dW4tc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3RvcmluZy1w
YWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTksNyArMTAsNiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiB9CiAKIGxldCBuZXdXaW5kb3c7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2hhcm5lc3MvcGFnZS1jYWNoZS1jcmFzaC1vbi1kYXRhLXVybHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNhY2hlLWNyYXNoLW9uLWRhdGEtdXJscy5odG1s
CmluZGV4IDczN2U0Y2E2ZjUwLi4xMTg3YzYwZTUzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oYXJuZXNzL3BhZ2UtY2FjaGUtY3Jhc2gtb24tZGF0YS11cmxzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3BhZ2UtY2FjaGUtY3Jhc2gtb24tZGF0YS11cmxzLmh0bWwK
QEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNo
ZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxzY3JpcHQ+CiB3aW5kb3cuZmluaXNoID0gZnVuY3Rpb24o
KQpAQCAtMjEsNyArMjIsNiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAg
ICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgIH0KICAgICBsb2coIm9wZW4gcGFnZSB3aXRoIGRhdGEgdXJscyIpOwogICAgIHdpbmRvdy5v
cGVuKCJyZXNvdXJjZXMvY2FjaGVkLXBhZ2Utd2l0aC1kYXRhLXVybHMuaHRtbCIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS1leHBlY3RlZC50eHQK
aW5kZXggZGJiNmZhMWZlYTQuLmFiYTIyZDhiNjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBA
Ci1UaGlzIHRlc3QgdXNlcyB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsgdG8gZW5hYmxlIGJhY2stZm9yd2FyZCBXZWJL
aXQgcGFnZSBjYWNoZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0LiBUaGUgdGVzdCBlbmFi
bGVzIGNhY2hlLCBuYXZpZ2F0ZXMgdG8gcGFnZS0xLCB0aGVuIHRvIHBhZ2UtMiBhbmQgdGhlbiBk
b2VzIGhpc3RvcnkuYmFjaygpIHRvIHBhZ2UtMS4gT24gbmF2aWdhdGlvbiBiYWNrIHRvIHBhZ2Ut
MSwgdGVzdCB2ZXJpZmllcyB0aGF0IHByZXZpb3VzbHktaW5pdGlhbGl6ZWQgdGltZXIgY29udGlu
dWVzIHRvIGZpcmUgYW5kIG9ubG9hZCBpcyBub3QgY2FsbGVkIGFnYWluLiBJZiB0ZXN0IGZhaWxz
IGl0IGhhbmdzIG9yIG91dHB1dHMgJ0ZBSUwnIGJlbG93LgorVGhpcyB0ZXN0IGVuYWJsZXMgYmFj
ay1mb3J3YXJkIFdlYktpdCBwYWdlIGNhY2hlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHRlc3Qu
IFRoZSB0ZXN0IGVuYWJsZXMgY2FjaGUsIG5hdmlnYXRlcyB0byBwYWdlLTEsIHRoZW4gdG8gcGFn
ZS0yIGFuZCB0aGVuIGRvZXMgaGlzdG9yeS5iYWNrKCkgdG8gcGFnZS0xLiBPbiBuYXZpZ2F0aW9u
IGJhY2sgdG8gcGFnZS0xLCB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJldmlvdXNseS1pbml0aWFsaXpl
ZCB0aW1lciBjb250aW51ZXMgdG8gZmlyZSBhbmQgb25sb2FkIGlzIG5vdCBjYWxsZWQgYWdhaW4u
IElmIHRlc3QgZmFpbHMgaXQgaGFuZ3Mgb3Igb3V0cHV0cyAnRkFJTCcgYmVsb3cuCiAKIG9wZW4g
cGFnZS0xCiBwYWdlLTEsIGFib3V0IHRvIG5hdmlnYXRlIHRvIHBhZ2UtMi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwKaW5kZXggMjU2NGI2MGUwYjQuLmEw
MjNiY2E5MWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNlLXBhZ2Ut
Y2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPHNjcmlwdD4KIHdpbmRvdy5maW5pc2ggPSBmdW5j
dGlvbigpCkBAIC0yNyw3ICsyOCw2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5Iiwg
MSk7CiAgICAgfQogICAgIGxvZygib3BlbiBwYWdlLTEiKTsKICAgICB3aW5kb3cub3BlbigicmVz
b3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCIpOwpAQCAtMzUsNyArMzUsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIDwvc2NyaXB0PgogCiA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Ci08cD5UaGlzIHRlc3Qg
dXNlcyB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVBy
ZWZlcmVuY2VLZXkiLCAxKTsgdG8gZW5hYmxlCis8cD5UaGlzIHRlc3QgIGVuYWJsZXMKIGJhY2st
Zm9yd2FyZCBXZWJLaXQgcGFnZSBjYWNoZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0Lgog
VGhlIHRlc3QgZW5hYmxlcyBjYWNoZSwgbmF2aWdhdGVzIHRvIHBhZ2UtMSwgdGhlbiB0byBwYWdl
LTIgYW5kIHRoZW4gZG9lcyBoaXN0b3J5LmJhY2soKSB0byBwYWdlLTEuCiBPbiBuYXZpZ2F0aW9u
IGJhY2sgdG8gcGFnZS0xLCB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJldmlvdXNseS1pbml0aWFsaXpl
ZCB0aW1lciBjb250aW51ZXMgdG8gZmlyZSBhbmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvYmFjay1mcm9tLXBhZ2Utd2l0aC1mb2N1c2VkLWlmcmFtZS5o
dG1sCmluZGV4IDRkNGZjYTk3NDlkLi42ZDNmODRiMzVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L2JhY2stZnJvbS1wYWdlLXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvYmFjay1mcm9tLXBhZ2Utd2l0aC1mb2N1c2Vk
LWlmcmFtZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
bmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgpAQCAtMzAsNyArMzEsNiBAQCB3aW5kb3cub25wYWdlc2hvdyA9IGZ1bmN0aW9uIChwYWdlVHJh
bnNpdGlvbkV2ZW50KQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE5ld2x5IGxvYWRlZAogICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2dvLWJhY2st
dG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZ28t
YmFjay10by1pZnJhbWUtd2l0aC1wbHVnaW4uaHRtbAppbmRleCBiMzUzMGRiODU0Yi4uM2M0NGFk
NTI2NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLWlm
cmFtZS13aXRoLXBsdWdpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1i
YWNrLXRvLWlmcmFtZS13aXRoLXBsdWdpbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KICAgPGhlYWQ+CkBAIC0xMyw3ICsxNCw2IEBACiAKICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAgICAg
d2luZG93Lm9ucGFnZXNob3cgPSBydW5UZXN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2dvLWJhY2stdG8tb2JqZWN0LXN1YmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvZ28tYmFjay10by1vYmplY3Qtc3ViZnJhbWUuaHRtbAppbmRleCA1ODBhNDJm
ODNlNS4uZjA4ZDA1NjFkMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9n
by1iYWNrLXRvLW9iamVjdC1zdWJmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9nby1iYWNrLXRvLW9iamVjdC1zdWJmcmFtZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9oaXN0b3J5LWJhY2std2hpbGUtcGRmLWluLXBhZ2VjYWNoZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aGlsZS1wZGYtaW4tcGFn
ZWNhY2hlLmh0bWwKaW5kZXggMzcxNThhNjNhYjkuLjFiNTgxZmE5MWQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdoaWxlLXBkZi1pbi1wYWdlY2Fj
aGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvaGlzdG9yeS1iYWNrLXdoaWxl
LXBkZi1pbi1wYWdlY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KQEAgLTExLDEwICsxMiw4IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkg
ewogICAgICAgICBpZiAobG9jYXRpb24uaGFzaCA9PSAiIikgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGhpc3RvcnkucHVz
aFN0YXRlKHsgfSwgIiIsIHdpbmRvdy5sb2NhdGlvbiArICIjMSIpOwogICAgICAgICAgICAgc2V0
VGltZW91dCgid2luZG93LmxvY2F0aW9uLmhyZWYgPSAncmVzb3VyY2VzL2hpc3RvcnktYmFjay1m
b3ItcGZkLXRlc3QuaHRtbCciLCAwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLU1lc3NhZ2VQb3J0LXBlbmRpbmctbWVzc2FnZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtTWVzc2FnZVBvcnQtcGVuZGluZy1tZXNzYWdl
Lmh0bWwKaW5kZXggYzlhMTg2NzVmYzUuLmNlY2Y2MDQwYmFjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1NZXNzYWdlUG9ydC1wZW5kaW5nLW1lc3NhZ2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1NZXNzYWdlUG9y
dC1wZW5kaW5nLW1lc3NhZ2UuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBh
Z2UgdGhhdCBoYXMgYSBNZXNzYWdlUG9ydCB3aXRoIGEgcGVuZGluZyBtZXNzYWdlIGNhbiBlbnRl
ciBQYWdlQ2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogbGV0IGFmdGVyUGFnZUNhY2hlUmVz
dG9yZSA9IGZhbHNlOwogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5j
dGlvbihldmVudCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtYWZ0ZXItd2luZG93LW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLWFmdGVyLXdpbmRvdy1vcGVuLmh0bWwKaW5kZXggNTk1ZWE0MWI3MjQuLmZjZDVk
ZTQwZDFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1h
ZnRlci13aW5kb3ctb3Blbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWFmdGVyLXdpbmRvdy1vcGVuLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRlc2NyaXB0aW9uKCJUZXN0cyB0
aGF0IGEgcGFnZSB0aGF0IGhhcyBjYWxsZWQgd2luZG93Lm9wZW4oKSBnb2VzIGludG8gdGhlIHBh
Z2UgY2FjaGUuIik7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQog
ICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLX0KIAogd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBpZiAoIXdpbmRvdy5z
ZXNzaW9uU3RvcmFnZS5kaWRTdGFydFBhZ2VDYWNoZUFmdGVyV2luZG93T3BlblRlc3QpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWJhY2stbmF2aWdh
dGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtYmFj
ay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwKaW5kZXggN2E1OTg0MTA2YTguLjAyZjgxNzA4YjlmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1iYWNrLW5hdmln
YXRpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1iYWNrLW5hdmlnYXRpb24tY3Jhc2guaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRo
YXQgcmVtb3ZpbmcgYSBmcmFtZSBpbiBhIGRldGFjaGVkIGRvY3VtZW50IGFmdGVyIG5hdmlnYXRp
b24gZG9lcyBub3QgY2F1c2UgYSBjcmFzaCBvbiBuYXZpZ2F0aW5nIGJhY2snKTsKIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5zZXRDYW5P
cGVuV2luZG93cygpOwotfQogCiBmdW5jdGlvbiByZW1vdmVGcmFtZUluQ2hpbGQoKQogewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xlYXJpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xlYXJpbmct
ZXhwZWN0ZWQudHh0CmluZGV4IDRmNDdjN2I1YjZiLi42Mjc5ZGE5MjZlOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xlYXJpbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsZWFyaW5nLWV4cGVj
dGVkLnR4dApAQCAtNiw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIHBhZ2VzaG93
IC0gbm90IGZyb20gY2FjaGUKIHBhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKIHBhZ2VzaG93IC0g
ZnJvbSBjYWNoZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VDYWNoZVNpemUoKSBpcyAxCitQ
QVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZUNhY2hlU2l6ZSgpID4gMCBpcyB0cnVlCiB3aW5kb3cu
aW50ZXJuYWxzLmNsZWFyUGFnZUNhY2hlKCkKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlQ2Fj
aGVTaXplKCkgaXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xlYXJpbmcuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsZWFyaW5nLmh0bWwKaW5kZXggNGQx
MGM1YTk2NWYuLjhhYTk3MmEyYzk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1jbGVhcmluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLWNsZWFyaW5nLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGJvZHk+CkBAIC02LDE3ICs3LDEzIEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhh
dCBjbGVhcmluZyB0aGUgcGFnZSBjYWNoZSBkb2Vzbid0IGxlYXZlIHBhZ2VzIGluIHRoZSBjYWNo
ZS4iKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotLy8gRW5hYmxlIHBhZ2UgY2Fj
aGUuCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBp
ZiAoIXdpbmRvdy5pbnRlcm5hbHMpCiAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyB3aW5k
b3cuaW50ZXJuYWxzIik7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1
bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0
ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogICAgIGlmIChldmVudC5wZXJzaXN0
ZWQpIHsKLSAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5pbnRlcm5hbHMucGFnZUNhY2hlU2l6ZSgp
IiwgIjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaW50ZXJuYWxzLnBhZ2VDYWNo
ZVNpemUoKSA+IDAiKTsKICAgICAgICAgZXZhbEFuZExvZygid2luZG93LmludGVybmFscy5jbGVh
clBhZ2VDYWNoZSgpIik7CiAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuaW50ZXJuYWxzLnBhZ2VD
YWNoZVNpemUoKSIsICIwIik7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xvc2VkLWF1ZGlvY29udGV4dC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xvc2VkLWF1ZGlvY29u
dGV4dC5odG1sCmluZGV4IDA2MDg0MmQ2Nzg3Li5mZmU1YjI5OWE1NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xvc2VkLWF1ZGlvY29udGV4dC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsb3NlZC1hdWRpb2Nv
bnRleHQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTEwLDkgKzExLDYgQEAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIHNhbXBs
ZVJhdGUgPSA0NDEwMC4wOwogdmFyIGxlbmd0aEluU2Vjb25kcyA9IDI7CiAKLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsg
KGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVS
TC11c2luZy1vcGVuLXBhbmVsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1jcmVhdGVPYmplY3RVUkwtdXNpbmctb3Blbi1wYW5lbC5odG1sCmluZGV4IDc3YWJlZDZk
OGY5Li5iZmNjMmU5ZGE4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtY3JlYXRlT2JqZWN0VVJMLXVzaW5nLW9wZW4tcGFuZWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVPYmplY3RVUkwtdXNpbmctb3Bl
bi1wYW5lbC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
bmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5
PgpAQCAtMTMsOSArMTQsNiBAQCBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2UgY2FsbGlu
ZyBVUkwuY3JlYXRlT2JqZWN0VVJMKCkgY2FuIHVzZSB0aGUgcGFnZSBjYQogd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOwogdmFyIGJsb2JVUkwgPSBudWxsOwogCi1pZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBmdW5jdGlvbiBvbklucHV0RmlsZUNo
YW5nZSgpCiB7CiAgICAgdmFyIGZpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZSIp
LmZpbGVzWzBdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2Fj
aGUtY3JlYXRlT2JqZWN0VVJMLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1jcmVhdGVPYmplY3RVUkwuaHRtbAppbmRleCBmY2I1OTAxMjhkMi4uYTYyOGM4MmFjMzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9i
amVjdFVSTC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNy
ZWF0ZU9iamVjdFVSTC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxib2R5PgpAQCAtMTIsOSArMTMsNiBAQCBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ug
Y2FsbGluZyBVUkwuY3JlYXRlT2JqZWN0VVJMKCkgY2FuIHVzZSB0aGUgcGFnZSBjYQogd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIGJsb2JVUkwgPSBudWxsOwogCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBmdW5jdGlvbiBvbklucHV0
RmlsZUNoYW5nZSgpCiB7CiAgICAgdmFyIGZpbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZmlsZSIpLmZpbGVzWzBdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZGVzdHJveS1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtZGVzdHJveS1kb2N1bWVudC5odG1sCmluZGV4IGI1ZjBiZWIzMTNhLi42ZDFk
N2JmNzMyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
ZGVzdHJveS1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWRlc3Ryb3ktZG9jdW1lbnQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+CkBAIC04LDEw
ICs5LDggQEAKIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdD4KIGRlc2NyaXB0aW9u
KCdUZXN0cyB0aGF0IHBhZ2UgY2FuIHNhZmVseSByZW1vdmUgYW4gaWZyYW1lIGR1cmluIHBhZ2Vo
aWRlIGV2ZW50LicpOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgd2luZG93LnRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHdpbmRvdy50ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwg
ZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZWhpZGUgLSBlbnRlcmluZyBjYWNoZSIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZWxlbWVu
dC1zdGF0ZS1mb2N1c2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1lbGVtZW50LXN0YXRlLWZvY3VzZWQuaHRtbAppbmRleCBhNDBlOTM0Zjc0YS4uZmRlZjVlZjYz
YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWVsZW1l
bnQtc3RhdGUtZm9jdXNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWVsZW1lbnQtc3RhdGUtZm9jdXNlZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtOCwxMCArOSw4IEBACiA8L3N0eWxlPgogPHNjcmlw
dD4KICAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
fQogCiAgICAgICAgIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZSkgewogICAgICAgICAg
ICAgaWYgKGUucGVyc2lzdGVkKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1leGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3Rv
cmUuaHRtbAppbmRleCA0NjYyMWQxMWQ0Mi4uMmUzNGY0OTYyYzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0
b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0
ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8Ym9keT4KQEAgLTksNyArMTAsNiBAQAogPHNjcmlwdD4KIAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci5jbGVhckJh
Y2tGb3J3YXJkTGlzdCgpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24tYWN0aXZlLW9uZXNob3QuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLWFjdGl2ZS1vbmVzaG90Lmh0
bWwKaW5kZXggZDZkYjMwZjRjNjIuLjBjZTQ4MDM4ZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3RpdmUtb25lc2hvdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLWFj
dGl2ZS1vbmVzaG90Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGJvZHk+CkBAIC0xMiwxMCArMTMsOCBAQCB2YXIgbW9ja0FjY3VyYWN5ID0gMTAwLjA7CiAKIHZh
ciBzdGFnZSA9ICJiZWZvcmVfcmVzdG9yZSI7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIu
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0dWRlLCBtb2NrTG9uZ2l0dWRlLCBt
b2NrQWNjdXJhY3kpOwotfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBm
dW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lz
dGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLWFjdGl2ZS13YXRjaGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3Rp
dmUtd2F0Y2hlci5odG1sCmluZGV4IGE4NzNjNGRiNDBhLi45NGMwNzcyZTRmOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24tYWN0aXZl
LXdhdGNoZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1n
ZW9sb2NhdGlvbi1hY3RpdmUtd2F0Y2hlci5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtMTMsNyArMTQsNiBAQCB2YXIgbW9ja0FjY3VyYWN5ID0g
MTAwLjA7CiB2YXIgc3RhZ2UgPSAiYmVmb3JlX3Jlc3RvcmUiOwogCiBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLnNldEdlb2xvY2F0aW9u
UGVybWlzc2lvbih0cnVlKTsKICAgICB0ZXN0UnVubmVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0
aW9uKG1vY2tMYXRpdHVkZSwgbW9ja0xvbmdpdHVkZSwgbW9ja0FjY3VyYWN5KTsKIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi5odG1s
CmluZGV4IDNiZmZhNzdhMGQzLi40ODQ2YWI2NDc4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8
aGVhZD4KQEAgLTI4LDEyICsyOSw4IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlk
ZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiB9LCBmYWxzZSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0KLSAgICAvLyBFbmFibGUgdGhlIFBhZ2VDYWNoZSBh
bmQgbWFrZSB0aGlzIGFuIGFzeW5jIHRlc3QuCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9CiAKICAg
ICAvLyBBY2Nlc3MgZ2VvbG9jYXRpb24uIEl0IGlzIGVub3VnaCB0byBjcmVhdGUgdGhlIGdlb2xv
Y2F0aW9uIG9iamVjdC4KICAgICBkZWJ1ZyhuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtaW5kZXhlZC1jbG9zZWQt
ZGIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtY2xv
c2VkLWRiLmh0bWwKaW5kZXggNmZkMDYwMTAxMWYuLmNjMDk3NjE1ZmNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1pbmRleGVkLWNsb3NlZC1kYi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtY2xvc2Vk
LWRiLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC02LDkgKzcsNiBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBjbG9z
ZWQgSW5kZXhlZERCIGRhdGFiYXNlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlv
bihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8g
IiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtaW5kZXhlZC1vcGVuZWQtZGIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtb3BlbmVkLWRiLmh0bWwKaW5kZXgg
ZGZkZGU2NmI4MjIuLjEzZjYxZDg4NjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1pbmRleGVkLW9wZW5lZC1kYi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtb3BlbmVkLWRiLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAogZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gb3BlbiBJbmRleGVkREIgZGF0YWJh
c2UgZG9lcyBub3QgZ28gaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwot
CiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIp
ICsgImZyb20gY2FjaGUiKTsKICAgICBpZiAoIXdpbmRvdy5zZXNzaW9uU3RvcmFnZS5wYWdlX2Nh
Y2hlX29wZW5faW5kZXhlZGRiX3Rlc3Rfc3RhcnRlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1jbG9zZWQtMi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLWNsb3NlZC0yLmh0
bWwKaW5kZXggODgyODM5OTk5NjAuLmQ4ZTNjNGYzMDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLTIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2Vk
LTIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAg
LTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGNsb3Nl
ZCBNZWRpYVNvdXJjZSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1jbG9zZWQuaHRtbAppbmRleCBmNzdh
ZTVmYmMwMy4uODE4ZjAyNjUyZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1jbG9zZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAogZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBjbG9zZWQgTWVkaWFTb3VyY2UgZ29l
cyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBh
Z2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNo
ZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1t
ZWRpYS1zb3VyY2Utb3BlbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1tZWRpYS1zb3VyY2Utb3BlbmVkLmh0bWwKaW5kZXggMjA4Mzk2ZjhhZTUuLjk1NWFmOTVi
MmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRp
YS1zb3VyY2Utb3BlbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtbWVkaWEtc291cmNlLW9wZW5lZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0
aGF0IGEgcGFnZSB3aXRoIGEgY2xvc2VkIE1lZGlhU291cmNlIGdvZXMgaW50byB0aGUgcGFnZSBj
YWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFn
ZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZl
bnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKICAgICBpZiAoIXdp
bmRvdy5zZXNzaW9uU3RvcmFnZS5wYWdlX2NhY2hlX29wZW5fbWVkaWFzb3VyY2VfdGVzdF9zdGFy
dGVkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbmF2
aWdhdGUtZHVyaW5nLXJlc3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLW5hdmlnYXRlLWR1cmluZy1yZXN0b3JlLmh0bWwKaW5kZXggYzNhNmNlYzY0ZGIuLjk3
OTY3YWUzOGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1uYXZpZ2F0ZS1kdXJpbmctcmVzdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLW5hdmlnYXRlLWR1cmluZy1yZXN0b3JlLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC05LDcgKzEwLDYgQEAKIDxzY3Jp
cHQ+CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRl
c3RSdW5uZXIuY2xlYXJCYWNrRm9yd2FyZExpc3QoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFi
bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlv
bi1ub24tc3VzcGVuZGFibGUuaHRtbAppbmRleCA1ZDdmNWNhMWU2Mi4uYTYyZTk3YjRjOGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlv
bi1ub24tc3VzcGVuZGFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0bWwKQEAgLTEsMyArMSw0IEBA
Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbm90aWZpY2F0aW9uIHRoYXQgaXMgc2hvd2lu
ZyBkb2VzIG5vdCBlbnRlciBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbigiZmlsZTovLyIpOwotfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNo
b3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQu
cGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJs
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LXN1c3BlbmRhYmxlLmh0bWwKaW5kZXggM2Y4YzRlNTAyMWYuLjUxY2JhNWQ0YTAxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3Vz
cGVuZGFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1u
b3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRo
YXQgbm90aWZpY2F0aW9ucyBkbyBub3QgcHJldmVudCB0aGUgUGFnZSBmcm9tIGVudGVyaW5nIHBh
Z2UgY2FjaGUgaWYgdGhleSBhcmUgaWRsZSBvciBjbG9zZWQuJyk7CiB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtcmVtb3ZlZC1zb3VyY2Ut
YnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1yZW1vdmVk
LXNvdXJjZS1idWZmZXIuaHRtbAppbmRleCBlM2MxMGNhMWVkMS4uMGUyOGFjZjU0YTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJlbW92ZWQtc291cmNl
LWJ1ZmZlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJl
bW92ZWQtc291cmNlLWJ1ZmZlci5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEg
U291cmNlQnVmZmVyIHJlbW92ZWQgZnJvbSBpdHMgTWVkaWFTb3VyY2UgZG9lcyBub3QgcHJldmVu
dCBhIFBhZ2UgZnJvbSBlbnRlcmluZyBQYWdlQ2FjaGUnKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAg
IGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsg
ImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtcnVubmluZy1hdWRpb2NvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLXJ1bm5pbmctYXVkaW9jb250ZXh0Lmh0bWwKaW5kZXggZWMyZmVlOTZm
MDUuLjc5YjUyNTU2YWYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1ydW5uaW5nLWF1ZGlvY29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9wYWdlLWNhY2hlLXJ1bm5pbmctYXVkaW9jb250ZXh0Lmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAogZGVzY3Jp
cHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBydW5uaW5nIEF1ZGlvQ29udGV4dCBkb2Vz
IG5vdCBnbyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVi
dWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJv
bSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1zdXNwZW5kZWQtYXVkaW9jb250ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1zdXNwZW5kZWQtYXVkaW9jb250ZXh0Lmh0bWwKaW5kZXggNDRmNGM2MDVl
YzEuLjMxNTQ0MDFjZTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1zdXNwZW5kZWQtYXVkaW9jb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtc3VzcGVuZGVkLWF1ZGlvY29udGV4dC5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgc3VzcGVuZGVkIEF1ZGlvQ29udGV4
dCBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1
ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9t
IGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRiLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRi
LWV4cGVjdGVkLnR4dAppbmRleCA2NmMwYWJhY2Q3Yy4uMWRkMzYzNmE3OWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5z
YWN0aW9uLWRiLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdlYiBTUUwgaXMgZGVwcmVjYXRl
ZC4gUGxlYXNlIHVzZSBJbmRleGVkREIgaW5zdGVhZC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
MTogV2ViIFNRTCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIEluZGV4ZWREQiBpbnN0ZWFkLgog
VGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIHdpdGggbm8gcGVuZGlu
ZyB0cmFuc2FjdGlvbiBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCiAKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRiLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi5odG1sCmlu
ZGV4IDcyZjZhNWZhMWI3Li5hNGY1NjU1NTAxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10
cmFuc2FjdGlvbi1kYi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxib2R5PgpAQCAtNiwxMCArNyw4IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ug
d2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIHdpdGggbm8gcGVuZGluZyB0cmFuc2FjdGlvbiBnb2Vz
IGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLX0KIAogd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBk
ZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJm
cm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS13ZWJkYXRhYmFzZS1wZW5kaW5nLXRyYW5zYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1wZW5kaW5nLXRyYW5zYWN0aW9uLmh0
bWwKaW5kZXggZjM0ZWI0MjdjYTYuLjBlYWIyM2RmYjg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1wZW5kaW5nLXRyYW5zYWN0aW9u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJh
c2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxib2R5PgpAQCAtNiwxMCArNyw4IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhh
dCBhIHBhZ2Ugd2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIHRoYXQgaGFzIHBlbmRpbmcgdHJhbnNh
Y3Rpb25zIGRvZXMgbm90IGdvIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIs
IDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuY2xlYXJBbGxEYXRh
YmFzZXMoKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rp
b24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/
ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13aXRoLW9wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2l0aC1vcGVuZXIuaHRtbAppbmRleCAyMDk4NTgxODhjOC4u
ZjhlNDBlNDZmYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLXdpdGgtb3BlbmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtd2l0aC1vcGVuZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBw
YWdlIHRoYXQgaGFzIGEgd2luZG93IG9wZW5lciBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuIik7
CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5u
ZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBmdW5jdGlvbigpIHsKICAgICBuZXdXaW5kb3cgPSBvcGVuKCJyZXNvdXJjZXMvcGFnZS1j
YWNoZS13aW5kb3ctd2l0aC1vcGVuZXIuaHRtbCIsICJvbmUiKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlaGlkZS1yZW1vdmUtaWZyYW1lLWNyYXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZWhpZGUtcmVtb3ZlLWlmcmFtZS1jcmFzaC5odG1s
CmluZGV4IGM0MjliMzY0YmNiLi41Y2M1MTQzZmNmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3BhZ2VoaWRlLXJlbW92ZS1pZnJhbWUtY3Jhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZWhpZGUtcmVtb3ZlLWlmcmFtZS1jcmFzaC5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw4ICs3LDYg
QEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkbyBub3QgY3Jhc2ggd2hl
biBkZWxldGluZyBhIHN1YmZyYW1lIGZyb20gdGhlIHBhZ2VoaWRlIGV2ZW50IGhhbmRsZXIuIik7
CiBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24o
ZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIi
IDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2luZG93LXdpdGgtaWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2luZG93LXdpdGgt
aWZyYW1lLmh0bWwKaW5kZXggYzMzMGU0ZWVkODYuLmZkNjJiZDM4Mjg2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2luZG93LXdpdGgt
aWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdl
LWNhY2hlLXdpbmRvdy13aXRoLWlmcmFtZS5odG1sCkBAIC0xLDEyICsxLDEwIEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxpZnJhbWUgc3JjPSJhYm91dDpibGFuayI+PC9pZnJh
bWU+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwot
CiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIp
ICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLW9wZW5lci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLW9wZW5lci5o
dG1sCmluZGV4IDRiNWRjNzE4MTIzLi5iYTYzMDExZjEwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLW9wZW5lci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13
aW5kb3ctd2l0aC1vcGVuZXIuaHRtbApAQCAtMSwxMSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGJvZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgaWYgKCF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZGlkU3RhcnRQYWdlQ2Fj
aGVXaW5kb3dXaXRoT3BlbmVyVGVzdCkgewogICAgICAgICBpZiAoZXZlbnQucGVyc2lzdGVkKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3RpbWVkLXJlZnJlc2gtaW4tY2Fj
aGVkLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVmcmVzaC1p
bi1jYWNoZWQtZnJhbWUuaHRtbAppbmRleCBmY2Q1MDljMDBkYS4uMjQyODAxNmNhNjYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS90aW1lZC1yZWZyZXNoLWluLWNhY2hlZC1m
cmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS90aW1lZC1yZWZyZXNoLWlu
LWNhY2hlZC1mcmFtZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGJvZHkgb25sb2FkPSJyZWRpcmVjdCgp
Ij4KIDwhLS0gTmVlZHMgdG8gdGFrZSB0d28gc2Vjb25kcywgYmVjYXVzZSBhIGZhc3RlciByZWZy
ZXNoIHdvdWxkIHJlc3VsdCBpbiBub3QgY3JlYXRpbmcgYSBiL2YgaXRlbSBmb3IgdGhlIG5hdmln
YXRpb24gLS0+CiA8aWZyYW1lIHNyYz0nZGF0YTp0ZXh0L2h0bWwsPG1ldGEgaHR0cC1lcXVpdj0i
UmVmcmVzaCIgY29udGVudD0iMjsgVVJMPWFib3V0OmJsYW5rIj48c2NyaXB0PmlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeyB3aW5kb3cub25wYWdlaGlkZT1mdW5jdGlvbihlKXthbGVydCgmYXBvcztw
YWdlaGlkZSAmYXBvczsgKyBlLnBlcnNpc3RlZCl9OyB9PC9zY3JpcHQ+Jz48L2lmcmFtZT4KQEAg
LTYsNyArNyw2IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXki
LCAxKTsKIH0KIAogZnVuY3Rpb24gcmVkaXJlY3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXJlc3RvcmVkLWZyb20tYmZjYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXJlc3RvcmVkLWZyb20tYmZjYWNoZS5o
dG1sCmluZGV4IGFiMTQzNTFlYTgyLi44MjhiY2JhYWViYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXJlc3RvcmVkLWZyb20tYmZjYWNoZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJm
Y2FjaGUuaHRtbApAQCAtMSw4ICsxLDcgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0gICAgfQogCiAgICAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMgJiYgd2luZG93LnRlc3RS
dW5uZXIpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2ZyYW1lcy13aXRo
LXVubG9hZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9mcmFtZXMtd2l0aC11bmxvYWQtaGFuZGxlcnMtaW4tcGFnZS1jYWNoZS5odG1sCmluZGV4
IDgyOTc3MzM4Mjg3Li5iODFmODc3M2EyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvZnJhbWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9mcmFtZXMtd2l0aC11bmxvYWQtaGFuZGxlcnMtaW4t
cGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+CkBA
IC01LDcgKzYsNiBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7CiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL2ltYWdlLWluLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL2ltYWdlLWluLXBhZ2UtY2FjaGUuaHRtbAppbmRleCBjNWIwMmViNjUy
Yi4uN2Q0MzEwM2IzMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2ltYWdl
LWluLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZS1p
bi1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+CkBAIC0xMCw3ICsxMSw2IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAJCXRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogCQl0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIAkJdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotCQl0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIAl9CiAKIAkvLyBUaGlz
IHRlc3Qgb3BlbiB0d28gd2luZG93cy4gT25lIHByaW1hcnkgd2luZG93IHdpbGwgbG9hZCBhbmlt
YXRlZC1pbWFnZS5odG1sLgpAQCAtNjcsNCArNjcsNCBAQCBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW5wdXQt
ZWxlbWVudC1wYWdlLWNhY2hlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9p
bnB1dC1lbGVtZW50LXBhZ2UtY2FjaGUtY3Jhc2guaHRtbAppbmRleCBlMzZkYjIwYTQzMy4uYzg2
YjI1ODljZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2lucHV0LWVsZW1l
bnQtcGFnZS1jYWNoZS1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2lu
cHV0LWVsZW1lbnQtcGFnZS1jYWNoZS1jcmFzaC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8
aGVhZD4KIDxzY3JpcHQ+CkBAIC01LDcgKzYsNiBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIGZ1bmN0aW9uIHJ1blRlc3QoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvbmF2aWdhdGUtd2l0aC1uZXctdGFyZ2V0LWFm
dGVyLWJhY2stZm9yd2FyZC1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9uYXZpZ2F0ZS13aXRoLW5ldy10YXJnZXQtYWZ0ZXItYmFjay1mb3J3YXJkLW5hdmlnYXRpb24u
aHRtbAppbmRleCAzNWNjYjM0ZmU3ZS4uYzU4YzcyNmQwYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndh
cmQtbmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRl
LXdpdGgtbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOCw3ICs5LDYgQEAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0
Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9
CiAKIGlmIChsb2NhdGlvbi5zZWFyY2ggPT0gJz90aGlyZCcpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtcG9zdC10by1uZXctdGFyZ2V0LWFmdGVy
LWJhY2stZm9yd2FyZC1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9u
YXZpZ2F0ZS13aXRoLXBvc3QtdG8tbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdh
dGlvbi5odG1sCmluZGV4IDA3NmQ5ZWI5NWY1Li4yZmMyMzk1NDQ2MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvbmF2aWdhdGUtd2l0aC1wb3N0LXRvLW5ldy10YXJnZXQtYWZ0
ZXItYmFjay1mb3J3YXJkLW5hdmlnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9uYXZpZ2F0ZS13aXRoLXBvc3QtdG8tbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQt
bmF2aWdhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxi
b2R5PgpAQCAtOCw3ICs5LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OwogICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKCk7
Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQ
cmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIGlmIChsb2NhdGlvbi5zZWFyY2ggPT0gJz90aGlyZCcp
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Njcm9sbC1wb3NpdGlvbi1y
ZXN0b3JlZC1vbi1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zY3JvbGwtcG9z
aXRpb24tcmVzdG9yZWQtb24tYmFjay5odG1sCmluZGV4IDczZjU4ZGYxZjZiLi43ODBlYzYwNDA5
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc2Nyb2xsLXBvc2l0aW9uLXJl
c3RvcmVkLW9uLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zY3JvbGwt
cG9zaXRpb24tcmVzdG9yZWQtb24tYmFjay5odG1sCkBAIC0xLDEzICsxLDEyIEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxo
ZWFkPgogPHNjcmlwdD4KLQogZnVuY3Rpb24gbmF2aWdhdGUoKQogewogICAgIGlmIChsb2NhdGlv
bi5oYXNoID09ICIiKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9uby1wb3BzdGF0
ZS13aGVuLWJhY2stdG8tc3RhdGVsZXNzLWVudHJ5LXdpdGgtcGFnZS1jYWNoZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL25vLXBvcHN0YXRlLXdoZW4tYmFjay10
by1zdGF0ZWxlc3MtZW50cnktd2l0aC1wYWdlLWNhY2hlLmh0bWwKaW5kZXggNDc2MmNhNTg1ODQu
LmJiMDQ2MGIxMTc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9i
amVjdHMvbm8tcG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2Ut
Y2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvbm8t
cG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2UtY2FjaGUuaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTExLDEw
ICsxMiw4IEBAIHZhciB0ZXN0V2luZG93OwogCiBvbmxvYWQgPSBmdW5jdGlvbigpCiB7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEp
OwotICAgIH0KICAgICB0ZXN0V2luZG93ID0gd2luZG93Lm9wZW4oJ3Jlc291cmNlcy9uby1wb3Bz
dGF0ZS13aGVuLWJhY2stdG8tc3RhdGVsZXNzLWVudHJ5LTEuaHRtbCcpOwogICAgIGlmICghdGVz
dFdpbmRvdykKICAgICAgICAgdGVzdEZhaWxlZCgnQ291bGQgbm90IG9wZW4gdGVzdCB3aW5kb3cn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wb3Bz
dGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3N0YXRlb2JqZWN0cy9wb3BzdGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA2
MWRmMDliMGE1Ni4uNTQwM2MxZjdkOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL3N0YXRlb2JqZWN0cy9wb3BzdGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUtZmlyZXMtd2l0
aC1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGJvZHk+CkBAIC0xMSwxMCArMTIsOCBAQCB2YXIgdGVzdFdpbmRvdzsKIAogb25sb2FkID0gZnVu
Y3Rpb24oKQogewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAg
ICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVBy
ZWZlcmVuY2VLZXknLCAxKTsKLSAgICB9CiAgICAgdGVzdFdpbmRvdyA9IHdpbmRvdy5vcGVuKCdy
ZXNvdXJjZXMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLTEuaHRtbCcpOwogICAgIGlm
ICghdGVzdFdpbmRvdykKICAgICAgICAgdGVzdEZhaWxlZCgnQ291bGQgbm90IG9wZW4gdGVzdCB3
aW5kb3cnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Vuc2NoZWR1bGUt
cmVsYXlvdXQtYWZ0ZXItdW5sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci91bnNj
aGVkdWxlLXJlbGF5b3V0LWFmdGVyLXVubG9hZC5odG1sCmluZGV4IGI4NDE4OGMyMDllLi42OTJj
NzA2ZWE0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvdW5zY2hlZHVsZS1y
ZWxheW91dC1hZnRlci11bmxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci91
bnNjaGVkdWxlLXJlbGF5b3V0LWFmdGVyLXVubG9hZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+
CiA8Ym9keT4KIDxwcmUgaWQ9ImxvZyI+PC9wcmU+CkBAIC03LDcgKzgsNiBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5vbnBh
Z2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci93aW5kb3ctcHJvcGVydGllcy1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1wcm9wZXJ0aWVzLXJlc3RvcmVkLWZyb20tcGFn
ZS1jYWNoZS5odG1sCmluZGV4IDQyYjBlN2ZjODg3Li45MzQzNWE1MTc1OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LXByb3BlcnRpZXMtcmVzdG9yZWQtZnJvbS1w
YWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LXByb3Bl
cnRpZXMtcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsOCArMSw4IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0
PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAJ
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0JdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHZhciBjYWNo
ZWRBcHBsaWNhdGlvbkNhY2hlID0gd2luZG93LmFwcGxpY2F0aW9uQ2FjaGU7CkBAIC0xMDcsNCAr
MTA3LDQgQEAgd2luZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihldnQpIHsKIFRoaXMgdGVzdCBt
YWtlcyBzdXJlIHRoYXQgdmFyaW91cyBwcm9wZXJ0aWVzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IGFy
ZSBjb3JyZWN0bHkgcmVjb25uZWN0ZWQgYWZ0ZXIgcmVzdG9yaW5nIGEgcGFnZSBmcm9tIHRoZSBw
YWdlIGNhY2hlLjxicj4KIDxkaXYgaWQ9Im91dHB1dERpdiI+PC9kaXY+PGJyPgogPGRpdiBpZD0i
ZXJyb3JEaXYiPjwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvaG9yaXpvbnRhbC1z
Y3JvbGwtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9ob3Jpem9u
dGFsLXNjcm9sbC1hZnRlci1iYWNrLmh0bWwKaW5kZXggOGE2Nzk5YjBmNTAuLjE0YTdkOWIwNDQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2hvcml6b250YWwtc2Nyb2xs
LWFmdGVyLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2hvcml6b250
YWwtc2Nyb2xsLWFmdGVyLWJhY2suaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPHNjcmlwdD4K
IApAQCAtMjgsNyArMjksNiBAQCBmdW5jdGlvbiBydW5UZXN0U3RlcCgpCiAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAg
fQogICAgIHdpbmRvdy5zZXRUaW1lb3V0KCJuYXZpZ2F0ZUF3YXlBbmRCYWNrKCkiLCAyMDApOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaWZyYW1lLXNjcm9sbGFi
bGUtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaWZyYW1lLXNj
cm9sbGFibGUtYWZ0ZXItYmFjay5odG1sCmluZGV4IDg3NTEyZGE5ZDEyLi5mMDA2NWZkMzZmYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaWZyYW1lLXNjcm9sbGFibGUt
YWZ0ZXItYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lmcmFtZS1z
Y3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbApAQCAtMSw1ICsxLDUgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgot
CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4KQEAgLTIwLDcgKzIwLDYgQEAKICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGZ1bmN0aW9uIGxv
Z1Jlc3VsdChzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Nj
cm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLWFmdGVyLXBhZ2VzaG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQtYWZ0ZXItcGFn
ZXNob3cuaHRtbAppbmRleCAwZDk2YTY3MWE4Yy4uNWE2YmQ4OWJhYjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC1h
ZnRlci1wYWdlc2hvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9z
Y3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC1hZnRlci1wYWdlc2hvdy5odG1sCkBAIC0xLDMgKzEs
NCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0t
PgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtNDMsOSArNDQsNiBAQCBmdW5j
dGlvbiBvblBhZ2VTaG93KCkKIAogZnVuY3Rpb24gb25QYWdlTG9hZCgpCiB7Ci0gICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICAvLyBOYXZpZ2F0ZSBp
biBhIHRpbWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNyZWF0ZSBhIGhpc3RvcnkgZW50cnkuCiAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ3Jl
c291cmNlcy9qdW1wLWJhY2suaHRtbCc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC5odG1sCmluZGV4
IGFlYzc0Y2RkNmMwLi5lMmY5ODY2ODQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvaW9zL3Njcm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLmh0bWwK
QEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNo
ZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC00MCw5ICs0
MSw2IEBAIGZ1bmN0aW9uIG9uUGFnZVNob3coKQogCiBmdW5jdGlvbiBvblBhZ2VMb2FkKCkKIHsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAgIC8v
IE5hdmlnYXRlIGluIGEgdGltZW91dCB0byBtYWtlIHN1cmUgd2UgY3JlYXRlIGEgaGlzdG9yeSBl
bnRyeS4KICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAncmVzb3VyY2VzL2p1bXAtYmFjay5odG1sJzsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy90b3VjaC1zY3JvbGwtYmFjay1mb3J3YXJkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsLWJhY2stZm9yd2FyZC5o
dG1sCmluZGV4IDFmYmMwODBhM2YyLi4xMTY1NDQ3NTFmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXNjcm9sbC1iYWNrLWZvcndhcmQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsLWJhY2stZm9yd2Fy
ZC5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgaW50ZXJuYWw6QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0t
PgorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6QXN5
bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQ9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0t
PgogPGh0bWw+CiA8aGVhZD4KICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CkBAIC00Miw5ICs0Miw2IEBAIGZ1bmN0aW9uIG9uUGFnZVNo
b3coKQogCiBmdW5jdGlvbiBvblBhZ2VMb2FkKCkKIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAgIC8vIE5hdmlnYXRlIGluIGEgdGltZW91dCB0
byBtYWtlIHN1cmUgd2UgY3JlYXRlIGEgaGlzdG9yeSBlbnRyeS4KICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewogICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAncmVzb3VyY2VzL2p1bXAt
YmFjay5odG1sJzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL292ZXJm
bG93LXNjcm9sbGFibGUtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvb3ZlcmZsb3ctc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWwKaW5kZXggZTFhODFmZjczYjUu
LjA3ZTEzNWE5MjMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9vdmVy
Zmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9vdmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbApAQCAtMSw1ICsxLDUg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDwhRE9DVFlQRSBodG1sPgotCiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4KQEAgLTIwLDcg
KzIwLDYgQEAKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGZ1bmN0aW9uIGxvZ1Jlc3VsdChzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcGFnZS1jYWNoZS1iYWNrLW92ZXJmbG93LXNjcm9sbC1yZXN0b3JlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wYWdlLWNhY2hlLWJhY2stb3ZlcmZsb3ctc2Ny
b2xsLXJlc3RvcmUuaHRtbAppbmRleCAxMGY3ODg2NTQ0OS4uNjkxNzZhN2U4MjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3BhZ2UtY2FjaGUtYmFjay1vdmVyZmxvdy1z
Y3JvbGwtcmVzdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3BhZ2Ut
Y2FjaGUtYmFjay1vdmVyZmxvdy1zY3JvbGwtcmVzdG9yZS5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHN0
eWxlPgogI3B1ZmZpbiB7CiAgICAgZm9udDogQWhlbSAxMHB4OwpAQCAtMjMsNyArMjQsNiBAQAog
PHNjcmlwdD4KIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Ci10ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKIAogdmFyIHRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicHVmZmluIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2lvcy90ZXh0LWF1dG9zaXppbmctYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL3RleHQtYXV0b3NpemluZy1hZnRlci1iYWNrLmh0bWwK
aW5kZXggYWE4N2UyNTI3YTUuLmU2MjFjODg1MGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9pb3MvdGV4dC1hdXRvc2l6aW5nLWFmdGVyLWJhY2suaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9pb3MvdGV4dC1hdXRvc2l6aW5n
LWFmdGVyLWJhY2suaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPCFET0NU
WVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10
cnVlIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiAKIDxodG1sPgogPGhlYWQ+CkBAIC0xNywx
MCArMTcsOCBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSAKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0gICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1zaHJpbmstdG8tZml0LW9u
LW5ldy1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L2lvcy92aWV3
cG9ydC1zaHJpbmstdG8tZml0LW9uLW5ldy1uYXZpZ2F0aW9uLmh0bWwKaW5kZXggYzY3ZjliZjhj
NGMuLjliYjNkOWE4NTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L2lv
cy92aWV3cG9ydC1zaHJpbmstdG8tZml0LW9uLW5ldy1uYXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtc2hyaW5rLXRvLWZpdC1vbi1uZXct
bmF2aWdhdGlvbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgc2hvdWxkSWdub3JlTWV0YVZpZXdwb3J0PXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHNob3VsZElnbm9yZU1ldGFW
aWV3cG9ydD10cnVlIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiAKIDxodG1sPgogPGhlYWQ+
CkBAIC00Miw3ICs0Miw2IEBACiAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFjayB0
byB0aGlzIHBhZ2UuCiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlv
bihldmVudCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAi
cmVzb3VyY2VzL2dvLWJhY2suaHRtbCI7CiAgICAgICAgIH0sIDApOwogICAgIH0sIGZhbHNlKTsg
ICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjguaHRtbAppbmRleCAx
ZTg2YWZiZDNiMS4uM2ZlYjAwZDlhOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC0xMjguaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogICAgIDxoZWFkPgogICAgICAg
ICA8dGl0bGU+Vmlld3BvcnQgbWV0YSBkYXRhIHN0b3JlZCBpbiBwYWdlIGNhY2hlLjwvdGl0bGU+
CkBAIC05LDcgKzEwLDYgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBwYWdlc2hvdyhldnQpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc3BsYXktaW1hZ2UtdW5z
ZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWwK
aW5kZXggMDhkNzAzZDUwNGUuLmZmNTgxNWU4OTdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1s
b2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNwbGF5LWltYWdl
LXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+
CiA8aGVhZD4KIDxzY3JpcHQ+CkBAIC0xMCw3ICsxMSw2IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQog
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQ
cmVmZXJlbmNlS2V5IiwgMSk7CiAKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFOiBpbWFnZTEuaHRtbCBub3QgbG9hZGVkJzsKICAg
ICAgICAgd2luZG93Lm9wZW4oInJlc291cmNlcy9pbWFnZTEuaHRtbCIsICJfYmxhbmsiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9tYWluLXJlc291cmNlLWRl
bGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL21haW4tcmVzb3VyY2UtZGVsZWdhdGVzLW9uLWJhY2stbmF2aWdhdGlv
bi1leHBlY3RlZC50eHQKaW5kZXggYTI2ODQwMjQxMDAuLmQ4ZGQyZmJlZTdmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMt
b24tYmFjay1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1uYXZpZ2F0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMTksOCArMTksNiBAQCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGlu
Zy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCAtCiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNr
LW5hdmlnYXRpb24uaHRtbCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNr
LW5hdmlnYXRpb24uaHRtbCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CiBtYWluIGZyYW1lIC0gZGlk
Q29tbWl0TG9hZEZvckZyYW1lCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9tYWluLXJl
c291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCAtIGRpZEZpbmlzaExvYWRp
bmcKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotbWFpbiBmcmFt
ZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCiBtYWluIGZyYW1lIC0gZGlkRmluaXNo
TG9hZEZvckZyYW1lCiBtYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJM
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcGFnZS1nby1iYWNrLW9u
bG9hZC5odG1sIAogbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9tYWluLXJlc291cmNl
LWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRt
bAppbmRleCAwYjNlODViMzBkOC4uMDQ5NDg3NTliYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmln
YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNv
dXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1uYXZpZ2F0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC0zMCw5ICszMSw2IEBAIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdwYWdlc2hvdycsIGZ1bmN0aW9uKCkgewogICAgICAgICBicmVhazsKICAg
ICB9CiAKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIHBhZ2VD
YWNoZUVuYWJsZWQpOwotCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgd2lu
ZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtZ28tYmFjay1vbmxvYWQuaHRtbCI7
CiAgICAgfSwgMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcv
dW5maW5pc2hlZC1sb2FkLWJhY2stdG8tY2FjaGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1sb2FkLWJhY2stdG8tY2FjaGVk
LXBhZ2UtY2FsbGJhY2tzLmh0bWwKaW5kZXggMDYxOTY5YWQ5OTIuLmNhNTc4OGUwNzgzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1sb2FkLWJh
Y2stdG8tY2FjaGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbG9hZC1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNr
cy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHNjcmlwdD4KIAogd2luZG93Lm9ucGFnZXNob3cgPSBmdW5j
dGlvbihldnQpIHsKQEAgLTI1LDcgKzI2LDYgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKGV2
dCkgewogfQogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKIH0gZWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Vu
ZmluaXNoZWQtbWFpbi1yZXNvdXJjZS1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbWFpbi1yZXNvdXJj
ZS1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1sCmluZGV4IGM5NTk1NGFlZmNhLi5m
MmFjNjZhZDFmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3Vu
ZmluaXNoZWQtbWFpbi1yZXNvdXJjZS1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy91bmZpbmlzaGVkLW1haW4tcmVz
b3VyY2UtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3MuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxz
Y3JpcHQ+CiAKIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0KSB7CkBAIC0yNSw3ICsy
Niw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQpIHsKIH0KIAogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9IGVsc2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcmVsb2FkLWFmdGVyLWRpYWxvZy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0bWwKaW5k
ZXggZmMwYjUwNjRkNzMuLjNmZTY4MDBjODhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFsb2cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFsb2cuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiAgICAgPGhlYWQ+CkBAIC05LDcgKzEwLDYgQEAKICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBmdW5jdGlvbiBsb2dFdmVudChldmVudCkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZ28tYmFjay10by1lcnJvci1wYWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZ28tYmFjay10by1lcnJvci1wYWdlLmh0bWwK
aW5kZXggY2Q2MWZiOGFmNzEuLjE4YmQxMzlkYTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vZ28tYmFjay10by1lcnJvci1wYWdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5odG1s
CkBAIC0xLDYgKzEsNiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIu
cXVldWVMb2FkSFRNTFN0cmluZygiPHNjcmlwdD5kb2N1bWVudC53cml0ZSgnPGRpdiBpZD1yZXN1
bHQ+RkFJTDogVGhlIGFsdGVybmF0ZSBIVE1MIHN0cmluZyB3YXMgY2FjaGVkLCBidXQgc2hvdWxk
IG5vdCBoYXZlIGJlZW4gY2FjaGVkIGZvciBhbiBlcnJvciBwYWdlPC9kaXY+Jyk7PFwvc2NyaXB0
PiIsICJyZXNvdXJjZXMiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3Vy
Y2VzL3BhZ2UtdHJlYXRlZC1hcy11bnJlYWNoYWJsZS5odG1sIik7CiAgICAgdGVzdFJ1bm5lci5x
dWV1ZUxvYWQoInJlc291cmNlcy9wYWdlLXRvLWdvLWJhY2stZnJvbS5odG1sIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaHR0cHMtaW4tcGFnZS1jYWNo
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0dHBzLWluLXBhZ2Ut
Y2FjaGUuaHRtbAppbmRleCAzNGI5ZjZlZDY1OS4uZWVlOWIyNjg3YzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRwcy1pbi1wYWdlLWNhY2hlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0dHBzLWluLXBhZ2UtY2Fj
aGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiBpZiAobG9jYXRpb24ucHJvdG9jb2wgIT0g
Imh0dHBzOiIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
aHR0cHMtbm8tc3RvcmUtc3ViZnJhbWUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0dHBzLW5vLXN0b3JlLXN1YmZyYW1lLWluLXBhZ2UtY2Fj
aGUuaHRtbAppbmRleCA5MDcxYmEzZmE5NC4uOTgwZjIwYjYwNjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1w
YWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0
dHBzLW5vLXN0b3JlLXN1YmZyYW1lLWluLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxz
Y3JpcHQ+CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFnZWhpZGUtaGFuZGxlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFn
ZWhpZGUtaGFuZGxlci5odG1sCmluZGV4IDhhYmUyMTFiODllLi5mMDk4ZjE0MGM5YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFn
ZWhpZGUtaGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9pbWFnZS1sb2FkLWluLXBhZ2VoaWRlLWhhbmRsZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1s
PjxoZWFkPgogPHRpdGxlPkltYWdlIGxvYWQgaW4gcGFnZWhpZGUgaGFuZGxlcjwvdGl0bGU+CiA8
c2NyaXB0PgpAQCAtOCw3ICs5LDYgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICBpZiAoIXRlc3RD
YWxsZWQpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KICAgICAgICAgdGVz
dENhbGxlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcGFnZS1jYWNoZS1mcmFnbWVudC1yZWZlcnJlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtZnJhZ21lbnQtcmVmZXJyZXIuaHRtbAppbmRl
eCBmYTAxNzZmMTZmNy4uMDI2N2U1ZGZiMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWZyYWdtZW50LXJlZmVycmVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtZnJhZ21lbnQtcmVm
ZXJyZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4K
QEAgLTcsNyArOCw2IEBAIGRlc2NyaXB0aW9uKCJBIGNhY2hlZCBwYWdlIHdpdGggYSBVUkwgZnJh
Z21lbnQgc2hvdWxkbid0IHNlbmQgdGhlIGZyYWdtZW50IGluIHRoCiAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuY2xlYXJCYWNrRm9yd2FyZExpc3QoKTsKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXknLCAxKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAogICAgIHRlc3RSdW5u
ZXIucXVldWVMb2FkKCdyZXNvdXJjZXMvc3VjY2Vzcy5odG1sJyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtbm8tY3VycmVu
dC1oaXN0b3J5SXRlbS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bh
Z2UtY2FjaGUtaWZyYW1lLW5vLWN1cnJlbnQtaGlzdG9yeUl0ZW0uaHRtbAppbmRleCBhYTBiZjRk
ODllZC4uYmM4ODc2NDYwY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1uby1jdXJyZW50LWhpc3RvcnlJdGVtLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLW5v
LWN1cnJlbnQtaGlzdG9yeUl0ZW0uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbigiQSBmcmFtZSB3aXRo
b3V0IGN1cnJlbnQgaGlzdG9yeSBpdGVtIHNob3VsZCBub3QgcHJldmVudCBwYWdlIGNhY2hpbmcu
Iik7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93
IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBl
cnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92aXNp
b25hbC1sb2FkLWFzeW5jLWRlbGVnYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQtYXN5bmMtZGVsZWdh
dGVzLmh0bWwKaW5kZXggNGUzZDJlMDhhYWQuLjAzOGYwOGEyOTQ1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtcHJvdmlzaW9u
YWwtbG9hZC1hc3luYy1kZWxlZ2F0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtcHJvdmlzaW9uYWwtbG9hZC1hc3luYy1kZWxl
Z2F0ZXMuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTksOCArMTAsNiBAQCB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICBpZiAodGVzdFJ1bm5lci5zZXRTaG91bGREZWNpZGVOYXZpZ2F0
aW9uUG9saWN5QWZ0ZXJEZWxheSkKICAgICAgICAgICB0ZXN0UnVubmVyLnNldFNob3VsZERlY2lk
ZU5hdmlnYXRpb25Qb2xpY3lBZnRlckRlbGF5KHRydWUpOwotCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9
CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNo
ZS1pZnJhbWUtcHJvdmlzaW9uYWwtbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQuaHRtbAppbmRleCA5
ZWI2YTEyM2NjYi4uMDFmNjNiZGE4NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLXBy
b3Zpc2lvbmFsLWxvYWQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbigiQSBmcmFtZSBpbiBwcm92aXNp
b25hbCBsb2FkIHN0YWdlIHNob3VsZCBwcmV2ZW50IHBhZ2UgY2FjaGluZy4iKTsKIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihl
dmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIg
OiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBh
cnRpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2Fj
aGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sCmluZGV4IGIxODNhMWNi
ZjZlLi40ODBiMWNiZjY1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTcsOSArOCw2IEBAIGRlc2NyaXB0aW9uKCdUZXN0
cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2VzIGludG8gdGhlIHBhZ2UgY2Fj
aGUgKHdpCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KCdCbG9ja1RoaXJkUGFydHknKTsKIAotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVu
ZGluZy1pbWFnZS1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbAppbmRleCA1MjBiNTI2YTU3MC4uNDU3
ZTIxNzNlNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
YWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAK
IGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2Vz
IGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFn
ZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hl
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLWNyb3NzLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1waW5nLWxvYWQtY3Jvc3Mt
b3JpZ2luLmh0bWwKaW5kZXggYjczODUzODM0ZDUuLjEzYjBmOTJjYTk3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmct
bG9hZC1jcm9zcy1vcmlnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1jcm9zcy1vcmlnaW4uaHRtbApAQCAt
Niw5ICs2LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIHBlbmRpbmcg
cGluZyBsb2FkcyBjYW4gZW50ZXIgUGFnZUNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGxl
dCBhZnRlclBhZ2VDYWNoZVJlc3RvcmUgPSBmYWxzZTsKIAogd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLXNhbWUt
b3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNo
ZS1wZW5kaW5nLXBpbmctbG9hZC1zYW1lLW9yaWdpbi5odG1sCmluZGV4IDY4MzJiMWUwNDlhLi4w
NTdmYzg5OTZhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1waW5nLWxvYWQtc2FtZS1vcmlnaW4uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9h
ZC1zYW1lLW9yaWdpbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3
aXRoIHBlbmRpbmcgcGluZyBsb2FkcyBjYW4gZW50ZXIgUGFnZUNhY2hlLicpOwogd2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7Ci0KIGxldCBhZnRlclBhZ2VDYWNoZVJlc3RvcmUgPSBmYWxzZTsKIAogd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci1pbi1wYWdl
aGlkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFn
ZS1jYWNoZS14aHItaW4tcGFnZWhpZGUtZXhwZWN0ZWQudHh0CmluZGV4IDAxYmZhODBkNTcyLi41
Y2I0MWM2ODk0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUteGhyLWluLXBhZ2VoaWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhpZGUtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBYTUxIdHRw
UmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL2xvYWQt
YW5kLXN0YWxsLmNnaT9uYW1lPWxvYWQtYW5kLXN0YWxsLmNnaSZzdGFsbEZvcj0zJnN0YWxsQXQ9
MCZtaW1lVHlwZT10ZXh0L3BsYWluIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzM6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvbG9hZC1hbmQtc3RhbGwuY2dpP25hbWU9bG9hZC1hbmQt
c3RhbGwuY2dpJnN0YWxsRm9yPTMmc3RhbGxBdD0wJm1pbWVUeXBlPXRleHQvcGxhaW4gZHVlIHRv
IGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIFRlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5n
IFhNTEh0dHBSZXF1ZXN0IGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4KIAogT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUteGhyLWluLXBhZ2VoaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhpZGUuaHRtbAppbmRleCA3YzBi
YjQ0MTZlZC4uMGIxMTMwMWQ3NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci1pbi1wYWdlaGlkZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci1pbi1wYWdlaGlkZS5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOCw5ICs5
LDYgQEAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiB2YXIgcmVzdG9yZWRGcm9tUGFn
ZUNhY2hlID0gZmFsc2U7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLmh0bWwKaW5kZXggNGFkY2IzNjZlZDEuLjUyMmQ3
ODcxNjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFn
ZS1jYWNoZS14aHIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS14aHIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8Ym9keT4KQEAgLTgsOSArOSw2IEBAIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAog
dmFyIHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSA9IGZhbHNlOwogCi1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hv
dyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5w
ZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2Ut
Y2FjaGUtMS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2Vz
L2h0dHBzLWluLXBhZ2UtY2FjaGUtMS5waHAKaW5kZXggMGIxOTUwMTk3OTEuLmM2NWRlOTUxZjFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2Vz
L2h0dHBzLWluLXBhZ2UtY2FjaGUtMS5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTEucGhwCkBAIC0zLDkgKzMs
NiBAQCBoZWFkZXIoImNhY2hlLWNvbnRyb2w6IG5vLXN0b3JlIik7CiA/PgogPHNjcmlwdD4KIAot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBmdW5jdGlvbiBuZXh0
VGVzdCgpIHsKIAlpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLmh0dHBzX2luX3BhZ2VfY2FjaGVf
c3RhcnRlZCkKIAkJZGVsZXRlIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5odHRwc19pbl9wYWdlX2Nh
Y2hlX3N0YXJ0ZWQ7CkBAIC0zMiw0ICsyOSw0IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKIAogfQogCi08L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0yLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0yLnBocAppbmRleCA0NTMxNjRh
Yzc1MC4uMTQxN2U0YzQyZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0yLnBocAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUt
Mi5waHAKQEAgLTEsMTEgKzEsOCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPD9waHAKIGhlYWRlcigiY2FjaGUtY29udHJvbDogbm8tY2Fj
aGUiKTsKID8+CiA8c2NyaXB0PgotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7Ci0KIGZ1bmN0aW9uIG5leHRUZXN0KCkgewogCWlmICh3aW5kb3cuc2Vzc2lvblN0b3Jh
Z2UuaHR0cHNfaW5fcGFnZV9jYWNoZV9zdGFydGVkKQogCQlkZWxldGUgd2luZG93LnNlc3Npb25T
dG9yYWdlLmh0dHBzX2luX3BhZ2VfY2FjaGVfc3RhcnRlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBz
LWluLXBhZ2UtY2FjaGUtMy5odG1sCmluZGV4IGU2MzA1YTlmZThlLi43ZGZmZjI4Yjc3MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRw
cy1pbi1wYWdlLWNhY2hlLTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMy5odG1sCkBAIC0xLDcgKzEsNSBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2lu
ZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihldnQpIHsKIAlpZiAoIWV2dC5wZXJzaXN0ZWQpCiAJ
CXJldHVybjsKQEAgLTE3LDQgKzE1LDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewog
CXNldFRpbWVvdXQoJ3dpbmRvdy5sb2NhdGlvbiA9ICJnby1iYWNrLmh0bWwiJywgMCk7CiB9CiAK
LTwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1u
by1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLW5vLXN0b3JlLXN1YmZyYW1lLWluLXBhZ2Ut
Y2FjaGUuaHRtbAppbmRleCBjYzE0ZDY3NTBjYi4uNjM2ZDExODZlYmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtbm8tc3RvcmUt
c3ViZnJhbWUtaW4tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtbm8tc3RvcmUtc3ViZnJhbWUtaW4tcGFnZS1jYWNo
ZS5odG1sCkBAIC0xMyw5ICsxMyw2IEBAIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZ0
KQogCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQogewotICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQ
YWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICBpZiAod2luZG93LnNlc3Npb25TdG9y
YWdlLmh0dHBzX2luX3BhZ2VfY2FjaGVfc3RhcnRlZCkgewogICAgICAgICBhbGVydCgiRkFJTDog
VGhlIHBhZ2Ugd2FzIHJlbG9hZGVkIG9uIGJhY2suIEl0IHNob3VsZCBOT1QgaGF2ZSBiZWVuLiIp
OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMt
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1lLXBh
Z2VoaWRlLWhhbmRsZXItc3RhcnRzLWxvYWQuaHRtbAppbmRleCA0MzZkZjA2MjNhZi4uYTM0NGUy
NjcxNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJm
cmFtZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1lLXBhZ2VoaWRlLWhhbmRsZXItc3RhcnRzLWxv
YWQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+CkBAIC03LDkgKzgsNiBAQCBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3
ZSBkb24ndCBjcmFzaCB3aGVuIGEgbG9hZCBpcyBzdGFydGVkIGluIGEgc3ViZnJhbWUgb24gJwog
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIHRvdGFsTG9hZGVkID0gMDsKIAotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hv
dyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1l
LXBhZ2VoaWRlLWhhbmRsZXItc3RhcnRzLWxvYWQyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMtbG9hZDIuaHRt
bAppbmRleCA5ZmQ1ZGM1NDVhZC4uYzNjMzc1NTViM2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFtZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1s
b2FkMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFt
ZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2FkMi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KQEAgLTcsOSArOCw2
IEBAIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gYSBsb2FkIGlz
IHN0YXJ0ZWQgaW4gYSBzdWJmcmFtZSBvbiAnCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CiB2YXIgdG90YWxMb2FkZWQgPSAwOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAi
IiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13aW5kb3ctb3Blbi1pbnNlcnQtc2NyaXB0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13aW5k
b3ctb3Blbi1pbnNlcnQtc2NyaXB0Lmh0bWwKaW5kZXggMTRkOTNjNmE0NzMuLjExNjRiNzUwOTRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdp
bi13aW5kb3ctb3Blbi1pbnNlcnQtc2NyaXB0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4taW5zZXJ0LXNjcmlwdC5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNywxMCAr
OCw4IEBACiBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBpbnNlcnRpbmcgYSBzY3JpcHQgaW50byBu
ZXdseSBvcGVuZWQgd2luZG93IGRvZXMgbm90IGJ5cGFzcyBvcmlnaW4gY2hlY2tzLiIpOwogZGVi
dWcoIlRoaXMgdGVzdCBwYXNzZXMgdW5sZXNzIHlvdSBzZWUgRkFJTCBtZXNzYWdlcyBiZWxvdyIp
OwoganNUZXN0SXNBc3luYyA9IHRydWU7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7Ci19CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICBs
ZXQgd2luID0gb3BlbigiYWJvdXQ6YmxhbmsiLCAib25lIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13aW5kb3ctb3Blbi1qYXZhc2Ny
aXB0LXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4td2luZG93LW9wZW4tamF2YXNjcmlwdC11cmwuaHRtbAppbmRleCAyMzIyMWFiM2Y1Yy4uMjY2
YmE5Y2U5Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1vcGVuLWphdmFzY3JpcHQtdXJsLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4tamF2YXNjcmlw
dC11cmwuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTcsMTAgKzgsOCBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgaW5zZXJ0aW5nIGEgc2Ny
aXB0IGludG8gbmV3bHkgb3BlbmVkIHdpbmRvdyBkb2VzIG5vdCBieXBhc3Mgb3JpZ2luIGNoZWNr
cy4iKTsKIGRlYnVnKCJUaGlzIHRlc3QgcGFzc2VzIHVubGVzcyB5b3Ugc2VlIEZBSUwgbWVzc2Fn
ZXMgYmVsb3ciKTsKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2lu
ZG93cygpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotfQogCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24o
KSB7CiAgICAgbGV0IHdpbiA9IG9wZW4oImFib3V0OmJsYW5rIiwgIm9uZSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYXZpZ2F0ZS13aGVuLXJlc3Rvcmlu
Zy1jYWNoZWQtcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYXZp
Z2F0ZS13aGVuLXJlc3RvcmluZy1jYWNoZWQtcGFnZS5odG1sCmluZGV4IDk2ODY2NTk3ZmMyLi45
MDUxZGI4MmVmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9u
YXZpZ2F0ZS13aGVuLXJlc3RvcmluZy1jYWNoZWQtcGFnZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbmF2aWdhdGUtd2hlbi1yZXN0b3JpbmctY2FjaGVkLXBhZ2Uu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYs
NyArNyw2IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAg
dGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtY2xpY2stYW5kLWZvcm0tc3VibWlz
c2lvbi1mcm9tLWluYWN0aXZlLWRvbXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELWNsaWNrLWFuZC1mb3JtLXN1Ym1pc3Npb24tZnJvbS1pbmFj
dGl2ZS1kb213aW5kb3cuaHRtbAppbmRleCAwMzc0MzBhNWFjMi4uMTMzMTRlNjE3NWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1jbGljay1h
bmQtZm9ybS1zdWJtaXNzaW9uLWZyb20taW5hY3RpdmUtZG9td2luZG93Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWNsaWNrLWFuZC1mb3JtLXN1
Ym1pc3Npb24tZnJvbS1pbmFjdGl2ZS1kb213aW5kb3cuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2IEBAIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICB0ZXN0
UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsKICAgICB0ZXN0UnVubmVyLnNl
dENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1p
bmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Lmh0
bWwKaW5kZXggZTRiZTRjMWQwYmMuLjI5NjE5NzY1MDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0
aXZlLXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
LURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Lmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC04LDcgKzksNiBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7
CiAgICAgdGVzdFJ1bm5lci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZChmYWxzZSk7CiAgICAgdGVz
dFJ1bm5lci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQt
aW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdp
bmRvdzItcHNvbi5odG1sCmluZGV4IDQ4MTc2MmE1NzkyLi42YTNiZDE4Mzc1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmpl
Y3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdp
bmRvdzItcHNvbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbj10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVByb2Nlc3NT
d2FwT25OYXZpZ2F0aW9uPXRydWUgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgog
PGhlYWQ+CiA8c2NyaXB0PgpAQCAtNyw3ICs3LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQoZmFsc2UpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1h
aW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKHRydWUpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCmluZGV4
IGU5Yjc1ZGZkNGRlLi44NGJjNWJlOTgzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5k
b3cyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVE
LXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKQEAgLTEsMyArMSw0IEBA
Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC03LDcgKzgsNiBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CiAgICAg
dGVzdFJ1bm5lci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZChmYWxzZSk7CiAgICAgdGVzdFJ1bm5l
ci5zZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0gICAgdGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3Jp
cHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93My5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5k
b3czLmh0bWwKaW5kZXggYWYyODM4YmQ1ODIuLjhkNmJmMmMzMmQxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzMuaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2
IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsK
ICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVl
KTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0K
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZWQtd2hlbi1lbnRlcmluZy1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC13aGVuLWVudGVyaW5n
LXBhZ2UtY2FjaGUuaHRtbAppbmRleCAzYjM4ZGYwYTQwYi4uNGU3MTQzYjVmOGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2VkLXdo
ZW4tZW50ZXJpbmctcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2VkLXdoZW4tZW50ZXJpbmctcGFnZS1jYWNoZS5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw4ICs3
LDYgQEAKIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgYW4gb3BlbiBXZWJTb2NrZXQgZG9lcyBub3Qg
cHJldmVudCBhIHBhZ2UgZnJvbSBlbnRlcmluZyBwYWdlIGNhY2hlLiIpOwogCiB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5Iiwg
MSk7CiAKIHZhciB3YXNSZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsKIHZhciByZWNlaXZl
ZEVycm9yRXZlbnQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3RvcC1vbi1yZXN1bWUtaW4tZXJyb3ItaGFuZGxlci5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdG9wLW9uLXJl
c3VtZS1pbi1lcnJvci1oYW5kbGVyLmh0bWwKaW5kZXggN2YzMzhjY2I5NGUuLjRhYzIwYzAwM2U1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3N0b3Atb24tcmVzdW1lLWluLWVycm9yLWhhbmRsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3N0b3Atb24tcmVzdW1lLWluLWVycm9yLWhh
bmRsZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTgsOCArOSw2IEBAIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFdlYlNvY2tldCBjb3JyZWN0
bHkgaGFuZGxlcyBiZWluZyBzdG9wcGVkIGluIHRoZSBlcnJvciBlCiB2YXIgd2FzUmVzdG9yZWRG
cm9tUGFnZUNhY2hlID0gZmFsc2U7CiAKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIAogd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNo
b3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGll
bnQtYWRkZWQtdG8tY2xpZW50cy13aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LWFkZGVkLXRvLWNs
aWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA2MmJkNjI5NDE4
OS4uNWJiMGJlZTFmODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdl
LWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
Y2xpZW50LWFkZGVkLXRvLWNsaWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAg
KzcsOCBAQAogbG9nKCIqIFRlc3RzIHRoYXQgYSBjbGllbnQgaXMgcmUtYWRkZWQgdG8gdGhlIGxp
c3Qgb2Ygc2VydmljZSB3b3JrZXIgY2xpZW50cyB3aGVuIGl0IGlzIHJlc3RvcmVkIGZyb20gdGhl
IHBhZ2UgY2FjaGUiKTsKIGxvZygiIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwotfQogCiBsZXQgdHJpZXMgPSAwOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVu
dHMtd2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2Fj
aGUuaHRtbAppbmRleCBiMTA5MTlhYzczZC4uYmVjMTFlYTkxMTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xp
ZW50cy13aGlsZS1pbi1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBh
Z2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
ZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9k
eT4KQEAgLTYsMTAgKzcsOCBAQAogbG9nKCIqIFRlc3RzIHRoYXQgYSBjbGllbnQgaXMgcmVtb3Zl
ZCBmcm9tIHRoZSBsaXN0IG9mIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgd2hpbGUgaXQgaXMgaW4g
dGhlIHBhZ2UgY2FjaGUiKTsKIGxvZygiIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7
Ci0gIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwotfQogCiBsZXQgdG9wQ2xpZW50SWRlbnRpZmllciA9IG51bGw7CiBs
ZXQgd2luZG93Q2xpZW50SWRlbnRpZmllciA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9iZWFjb24vc3VwcG9ydC9zZW5kQmVhY29uLW9ucGFnZWhpZGUtd2luZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9iZWFjb24vc3VwcG9ydC9zZW5kQmVhY29uLW9ucGFn
ZWhpZGUtd2luZG93Lmh0bWwKaW5kZXggYmExMzE3NjlkNmQuLmNiZTE5NTA5YzU2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9iZWFjb24vc3VwcG9ydC9zZW5kQmVhY29uLW9ucGFn
ZWhpZGUtd2luZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvYmVhY29uL3N1cHBv
cnQvc2VuZEJlYWNvbi1vbnBhZ2VoaWRlLXdpbmRvdy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtNiw5ICs3LDYgQEAKIDxzY3JpcHQ+CiBjb25z
dCBSRVNPVVJDRVNfRElSID0gIi9iZWFjb24vcmVzb3VyY2VzLyI7CiB2YXIgaWQgPSBzZWxmLnRv
a2VuKCk7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9sZWdhY3ktYW5p
bWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwgYi9M
YXlvdXRUZXN0cy9sZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL3Jlc3VtZS1hZnRl
ci1wYWdlLWNhY2hlLmh0bWwKaW5kZXggZDBlNzlkODc1NjUuLmRlZDM4NzU2ZjFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9sZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL3Jlc3Vt
ZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbGVnYWN5LWFuaW1hdGlv
bi1lbmdpbmUvYW5pbWF0aW9ucy9yZXN1bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sCkBAIC0xLDQg
KzEsNCBAQAotPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViQW5pbWF0
aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBleHBlcmltZW50YWw6V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZD1m
YWxzZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHN0eWxlPgogQC13ZWJraXQta2V5ZnJh
bWVzIGJvdW5jZSB7CiAgICAgZnJvbSB7CkBAIC0yNiw3ICsyNiw2IEBAIHZhciBoYXNOYXZpZ2F0
ZWQgPSBmYWxzZTsKIGZ1bmN0aW9uIHNhd0l0ZXJhdGlvbihldmVudCkgewogICAgIGlmIChoYXNO
YXZpZ2F0ZWQpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKS5p
bm5lclRleHQgPSAiUEFTUzogU2F3IGl0ZXJhdGlvbiBhZnRlciBuYXZpZ2F0aW9uIjsKLSAgICAg
ICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDApOwogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICB9CiB9CkBAIC00Myw3ICs0Miw2IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
ICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgd2luZG93LnRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOwogfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHN0YXJ0VGVzdCwg
ZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2stY2FjaGVkLW1h
aW4tcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLWNhY2hlZC1tYWlu
LXJlc291cmNlLmh0bWwKaW5kZXggNzUzZDViMDE3ZWIuLjk4NGY2NDA2YTkwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFjay1jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLWNhY2hlZC1tYWluLXJlc291cmNlLmh0bWwK
QEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNo
ZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDx0aXRsZT5UZXN0IHJlc291cmNlIGxv
YWQgY2FsbGJhY2tzIGdvaW5nIGJhY2sgdG8gYSBjYWNoZWQgbWFpbiByZXNvdXJjZTwvdGl0bGU+
CkBAIC03LDcgKzgsNiBAQAogICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRDYWxs
YmFja3MoKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAg
fQogCiAgICAgLy8gV2luZG93IHdlIHdpbGwgYmUgY29udHJvbGxpbmcuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbCBi
L0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLXRvLWRpZmZlcmVudC13aW5kb3ctc2l6ZS5odG1s
CmluZGV4IDhhYzNhYjNjOGI1Li41ODQzZTdmNThiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bG9hZGVyL2dvLWJhY2stdG8tZGlmZmVyZW50LXdpbmRvdy1zaXplLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbG9hZGVyL2dvLWJhY2stdG8tZGlmZmVyZW50LXdpbmRvdy1zaXplLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8aHRtbD4KIDxzY3JpcHQ+CiAKQEAgLTI5LDcgKzMwLDYgQEAgZnVuY3Rpb24gcnVu
VGVzdFN0ZXAoKSB7CiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogICAgIHdpbmRvdy5yZXNpemVUbygzMDAsIDMwMCk7CiAg
ICAgLy8gV2FpdCBhIGJpdCBiZWZvcmUgbmF2aWdhdGluZyBhd2F5IHRvIG1ha2Ugc3VyZSB3ZSBo
YXZlIGRvbmUgbGF5b3V0IGR1ZSB0byB0aGUgcmVzaXppbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9tZWRpYS9jcmFzaC1jbG9zaW5nLXBhZ2Utd2l0aC1tZWRpYS1hcy1wbHVnaW4tZmFsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2NyYXNoLWNsb3NpbmctcGFnZS13aXRoLW1lZGlh
LWFzLXBsdWdpbi1mYWxsYmFjay5odG1sCmluZGV4IDg5NGM4NzQyNDdmLi44MTk1OTFlZGJlNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gtY2xvc2luZy1wYWdlLXdpdGgtbWVk
aWEtYXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gt
Y2xvc2luZy1wYWdlLXdpdGgtbWVkaWEtYXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8c2NyaXB0PgogdmFyIGNoaWxkV2luZG93OwogPC9zY3JpcHQ+CkBAIC0xMiw3ICsxMyw2
IEBAIElmIGl0IGRvZXNuJ3QgY3Jhc2gsIGl0IHBhc3Nlcy48YnI+CiBpZiAod2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1ZSk7CiAg
ICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyh0cnVlKTsKICAgICB0ZXN0UnVubmVyLnNl
dENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3Jlc3RvcmUtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9yZXN0b3JlLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDVjMTQ1NGM5NmVjLi5l
OTUwNTE4MzJiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvcmVzdG9yZS1mcm9tLXBh
Z2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9yZXN0b3JlLWZyb20tcGFnZS1j
YWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3Jp
cHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CkBAIC05LDcgKzEwLDYgQEAKICAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBmdW5jdGlvbiBwYWdlc2hvdyhldnQpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2lvcy9maXhlZC9maXhlZC1iYWNrLWZvcndhcmQuaHRtbCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFjay1mb3J3YXJkLmh0bWwKaW5kZXggN2E3
NzhmOTJhZjQuLmQwNjQwNDMzZDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaW9zL2ZpeGVkL2ZpeGVkLWJhY2stZm9yd2FyZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFjay1mb3J3YXJkLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC0zNSw5ICszNiw2IEBAIGZ1bmN0
aW9uIG9uUGFnZUhpZGUoKQogCiBmdW5jdGlvbiBvblBhZ2VMb2FkKCkKIHsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogICAgIC8vIE5hdmlnYXRlIGlu
IGEgdGltZW91dCB0byBtYWtlIHN1cmUgd2UgY3JlYXRlIGEgaGlzdG9yeSBlbnRyeS4KICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAncmVz
b3VyY2VzL2p1bXAtYmFjay5odG1sJzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMv
Y3Jhc2gtcmVzdG9yaW5nLXBsdWdpbi1wYWdlLWZyb20tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0
VGVzdHMvcGx1Z2lucy9jcmFzaC1yZXN0b3JpbmctcGx1Z2luLXBhZ2UtZnJvbS1wYWdlLWNhY2hl
Lmh0bWwKaW5kZXggMjllY2NmODkyN2MuLjZmODg0ZjM1NmM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4tcGFnZS1mcm9tLXBhZ2UtY2FjaGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4tcGFn
ZS1mcm9tLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNl
S2V5IiwgMSk7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFBhZ2VDYWNoZVN1cHBvcnRzUGx1
Z2lucyh0cnVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNl
dC13aXRoLXBsdWdpbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13
aXRoLXBsdWdpbi1mcmFtZS5odG1sCmluZGV4IDRiYjUzMmZmMDUyLi5jYTg1YmRjYjYyOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUu
aHRtbApAQCAtMSwxMCArMSwxMCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgY2hhcnNldD0idXRmLTgiPgogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEZyYW1lRmxhdHRlbmluZygiRnVsbHlFbmFibGVkIikKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1
ZSk7CiAgICAgfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25l
dHNjYXBlLXBsdWdpbi1wYWdlLWNhY2hlLXdvcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLXBsdWdpbi1wYWdlLWNhY2hlLXdvcmtzLmh0bWwKaW5kZXggZTE2NjZhZmJmZGEu
LjRmODIzNDE3NmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLXBs
dWdpbi1wYWdlLWNhY2hlLXdvcmtzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRz
Y2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13b3Jrcy5odG1sCkBAIC0xLDkgKzEsOSBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8
c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFnZUNhY2hl
U3VwcG9ydHNQbHVnaW5zKHRydWUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zd2lw
ZS9iYXNpYy1jYWNoZWQtYmFjay1zd2lwZS5odG1sIGIvTGF5b3V0VGVzdHMvc3dpcGUvYmFzaWMt
Y2FjaGVkLWJhY2stc3dpcGUuaHRtbAppbmRleCA4NzFhMmJjNjQ2Yi4uNjU2NWIwNzhkMGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL2Jhc2ljLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3dpcGUvYmFzaWMtY2FjaGVkLWJhY2stc3dpcGUuaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC01OCw3ICs1OSw2IEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEVu
ZFN3aXBlQ2FsbGJhY2soZGlkRW5kU3dpcGVDYWxsYmFjayk7CiAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhkaWRSZW1vdmVTd2lwZVNuYXBz
aG90Q2FsbGJhY2spOwogCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAKQEAg
LTczLDQgKzczLDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKIDwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvbWFpbi1mcmFtZS1waW5uaW5nLXJl
cXVpcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZyYW1lLXBpbm5pbmctcmVx
dWlyZW1lbnQuaHRtbAppbmRleCBhMzY5YjgyMWI5ZC4uYzgxZjNlNjRkZjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N3aXBlL21haW4tZnJhbWUtcGlubmluZy1yZXF1aXJlbWVudC5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N3aXBlL21haW4tZnJhbWUtcGlubmluZy1yZXF1aXJlbWVudC5odG1s
CkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2Fj
aGU9dHJ1ZSBdIC0tPgogPGhlYWQ+CiA8c3R5bGU+CiBodG1sIHsKQEAgLTgxLDcgKzgyLDYgQEAg
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
RGlkRW5kU3dpcGVDYWxsYmFjayhkaWRFbmRTd2lwZUNhbGxiYWNrKTsKICAgICAgICAgdGVzdFJ1
bm5lci5pbnN0YWxsRGlkUmVtb3ZlU3dpcGVTbmFwc2hvdENhbGxiYWNrKGRpZFJlbW92ZVN3aXBl
U25hcHNob3RDYWxsYmFjayk7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
IApAQCAtMTAwLDQgKzEwMCw0IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiA8L2hl
YWQ+CiA8Ym9keT4KIDxkaXYgaWQ9ImxhcmdlIiBzdHlsZT0id2lkdGg6IDIwMDBweDsgaGVpZ2h0
OiAyMDAwcHg7Ij48L2Rpdj4KLTwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoU3RhdGUtY2FjaGVkLWJh
Y2stc3dpcGUuaHRtbCBiL0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1jYWNoZWQtYmFjay1z
d2lwZS5odG1sCmluZGV4IDlhOGRjOWQ3ZDlhLi5hMDExOWYxNjMzMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRlLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRlLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8aGVhZD4KIDxzdHlsZT4KIGh0bWwgewpAQCAtNjMsNyArNjQsNiBAQCB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24gKCkgewogICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEVuZFN3aXBlQ2Fs
bGJhY2soZGlkRW5kU3dpcGVDYWxsYmFjayk7CiAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkUmVt
b3ZlU3dpcGVTbmFwc2hvdENhbGxiYWNrKGRpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayk7
CiAKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIApAQCAtODMsNCArODMsNCBAQCB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24gKCkgewogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zd2lwZS9wdXNoU3RhdGUtcHJvZ3JhbW1hdGljLWJhY2std2hpbGUtc3dpcGluZy1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRlLXByb2dyYW1tYXRpYy1iYWNrLXdo
aWxlLXN3aXBpbmctY3Jhc2guaHRtbAppbmRleCAzZjg3YTAzOWVlNy4uMDJmZDQ0ZTQxZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1wcm9ncmFtbWF0aWMtYmFjay13
aGlsZS1zd2lwaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRl
LXByb2dyYW1tYXRpYy1iYWNrLXdoaWxlLXN3aXBpbmctY3Jhc2guaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC05Niw3ICs5Nyw2IEBAIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiAKICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRCZWdpblN3aXBlQ2Fs
bGJhY2soZGlkQmVnaW5Td2lwZUNhbGxiYWNrKTsKIAotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
CkBAIC0xMTYsNCArMTE2LDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaHN0YXRlLXdpdGgt
bWFudWFsLXNjcm9sbHJlc3RvcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoc3Rh
dGUtd2l0aC1tYW51YWwtc2Nyb2xscmVzdG9yYXRpb24uaHRtbAppbmRleCAzZWYyOGE5MjU0ZC4u
MWYxZDdhZTA3NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL3B1c2hzdGF0ZS13aXRo
LW1hbnVhbC1zY3JvbGxyZXN0b3JhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N3aXBlL3B1
c2hzdGF0ZS13aXRoLW1hbnVhbC1zY3JvbGxyZXN0b3JhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PGhlYWQ+CiA8c3R5bGU+CiBodG1sIHsKQEAgLTQzLDcgKzQ0LDYgQEAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uICgpIHsKICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRFbmRTd2lwZUNhbGxiYWNr
KGRpZEVuZFN3aXBlQ2FsbGJhY2spOwogICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZFJlbW92ZVN3
aXBlU25hcHNob3RDYWxsYmFjayhkaWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2spOwogCi0g
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CiAKQEAgLTU3LDQgKzU3LDQgQEAgd2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uICgpIHsKIDwvaGVhZD4KIDxib2R5PgogZmlyc3QKLTwvYm9keT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9udWxsLXBhcmVudC1iYWNrLWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9udWxsLXBhcmVudC1iYWNrLWNyYXNoLmh0bWwK
aW5kZXggZDY0ZWY2YjgzYzEuLjc3YzNjMGE4NjJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9udWxsLXBhcmVudC1iYWNrLWNyYXNoLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1wYXJlbnQtYmFjay1jcmFz
aC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAt
MTMsNyArMTQsNiBAQAogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgfQogCiAgICAg
ICAgIGZ1bmN0aW9uIHBhZ2VIaWRkZW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy90aWxlZC1kcmF3aW5nLXNjcm9sbC1wb3NpdGlvbi1wYWdlLWNhY2hlLXJlc3RvcmF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xs
LXBvc2l0aW9uLXBhZ2UtY2FjaGUtcmVzdG9yYXRpb24uaHRtbAppbmRleCA2YTI4NTFmMzRhMy4u
YmRkMDg3NTI1ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvdGlsZWQt
ZHJhd2luZy1zY3JvbGwtcG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvdGlsZWQtZHJhd2luZy1zY3JvbGwtcG9zaXRpb24t
cGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgpAQCAtNiw3ICs3LDYgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICAgICAgfQogCiAgICAgICAgIHdpbmRvdy5maW5pc2hlZFRlc3QgPSBm
dW5jdGlvbiAobGF5ZXJUcmVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379661</attachid>
            <date>2019-09-26 10:59:18 -0700</date>
            <delta_ts>2019-09-26 14:37:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202274-20190926105916.patch</filename>
            <type>text/plain</type>
            <size>137573</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg2NWViY2ViODBhMWUwMzgw
ODJlYzA2ZWNlNmZlODJmNDQyNGQ4NWEuLjIzZWNhODliYTBmMmI2ZTk1NzA0ZWExYjQwNTQzNTc0
YzExMzFmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDktMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCkgdG8gdHVybiBvbiBQYWdlIENhY2hlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyNzQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorCiAyMDE5LTA5LTI1ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRk
IHJlcGxhY2VtZW50IFNQSSBvbiBfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBmb3Ig
ZW5hYmxpbmcgc3BlY3VsYXRpdmUgY2FjaGUgdmFsaWRhdGlvbiBhbmQgSVBDLWZyZWUgc2VydmVy
IHRydXN0IGV2YWx1YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IGI5NWRiODllNjcyZTlj
NzE0MjUxMGE1Yzg4ZjFjNWFlYjcwYWE4ZGEuLjY5MWYxYWExNTAxMzliZWU4MGQzNGQ1MTAyOTg2
MjlhZWIwNDRiOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtMjcwLDcgKzI3MCw2IEBAIHZv
aWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdl
YlBhZ2VHcm91cFByb3h5KiBwYWdlCiAgICAgbWFjcm8oV2ViS2l0SmF2YUVuYWJsZWQsIEphdmFF
bmFibGVkLCBqYXZhRW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdEphdmFTY3JpcHRFbmFibGVk
LCBTY3JpcHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdFBs
dWdpbnNFbmFibGVkLCBQbHVnaW5zRW5hYmxlZCwgcGx1Z2luc0VuYWJsZWQpIFwKLSAgICBtYWNy
byhXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSwgVXNlc1BhZ2VDYWNoZSwgdXNlc1Bh
Z2VDYWNoZSkgXAogICAgIG1hY3JvKFdlYktpdFdlYkF1ZGlvRW5hYmxlZCwgV2ViQXVkaW9FbmFi
bGVkLCB3ZWJBdWRpb0VuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRXZWJHTEVuYWJsZWQsIFdl
YkdMRW5hYmxlZCwgd2ViR0xFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0WFNTQXVkaXRvckVu
YWJsZWQsIFhTU0F1ZGl0b3JFbmFibGVkLCB4c3NBdWRpdG9yRW5hYmxlZCkgXApkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVjODZkYjk5NGQ3Njk2
MmI4NTA2YjYzMWM1YTQ4MzYwZDIwNTViNGYuLjAwYmY0OWM1YjExODAyYjQwZjQ3OTdhYjdiZjJm
YWE5NTJmNDViZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wOS0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoKSB0byB0dXJuIG9uIFBhZ2UgQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjI3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6Cisg
ICAgICAgIChvdmVycmlkZVByZWZlcmVuY2VDYWxsYmFjayk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dFJ1bm5lcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKwogMjAxOS0wOS0yNiAgSmlld2VuIFRhbiAg
PGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkuU09BdXRob3Jp
emF0aW9uU3ViRnJhbWUuQXV0aG9yaXphdGlvbk9wdGlvbnMgaXMgZmFpbGluZyBjb25zaXN0ZW50
bHkgb24gaU9TIEFQSSB0ZXN0cyBFV1MKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKaW5k
ZXggOGZiOTM5M2NjODAzYjkzNWZjNjhlZmEyYzU5NzEyNDVlZmVhMDg0ZS4uMTQ3ZWIzMWUxODk5
ODA4YWZlNGQ5ZDYyMWNlNGJiYWViODY5YzM3MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5jcHAKQEAgLTU4Myw2ICs1ODMsOSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBvdmVycmlkZVByZWZl
cmVuY2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZgogICAgIGF1
dG8gdmFsdWUgPSBhZG9wdChKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQsIGFyZ3VtZW50c1sx
XSwgZXhjZXB0aW9uKSk7CiAgICAgQVNTRVJUKCEqZXhjZXB0aW9uKTsKIAorICAgIC8vIFNob3Vs
ZCB1c2UgYDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT5gIGluc3RlYWQuCisgICAgUkVMRUFTRV9BU1NFUlQoIUpTU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcoa2V5LmdldCgpLCAiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiKSk7CisK
ICAgICBUZXN0UnVubmVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpT
T2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CiAgICAgY29udHJvbGxlci0+b3ZlcnJpZGVQ
cmVmZXJlbmNlKGtleS5nZXQoKSwgdmFsdWUuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiNDk1Y2Zh
MGQ0MmU5MjZlZTUxNjIxNWZlM2MwMzBiOTEzMGZlM2E3Li5kYjExY2JjMGU3MmRiNzA2ZjFjYTkz
YTY4YjU5ODY4ZmJhZjY5ZmEzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTg1Nyw2ICs4NTcsOSBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgdG9Cb29sKEpTU3RyaW5nUmVmIHZhbHVlKQogdm9pZCBUZXN0UnVubmVyOjpv
dmVycmlkZVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgcHJlZmVyZW5jZSwgSlNTdHJpbmdSZWYgdmFs
dWUpCiB7CiAgICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCk7CisgICAgLy8gU2hvdWxkIHVzZSBgPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPmAgaW5zdGVhZC4KKyAgICBSRUxFQVNFX0FTU0VSVCghSlNT
dHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhwcmVmZXJlbmNlLCAiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiKSk7CisKICAgICAvLyBGSVhNRTogaGFuZGxlIG5vbi1ib29sZWFuIHBy
ZWZlcmVuY2VzLgogICAgIFdLQnVuZGxlT3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5u
ZXIoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGluamVjdGVkQnVuZGxlLnBhZ2VHcm91cCgpLCB0
b1dLKHByZWZlcmVuY2UpLmdldCgpLCB0b0Jvb2wodmFsdWUpKTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYTY5YWU2
YTVlYThhN2JjODc2ZDhhMTEzZjc1MTA3MzA5MTMyOTliLi5mZTBjMzY0YmMxNjJmMmNmZjMzMWRi
MTQ5NjRmOGVhYTQ2ZmExYzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU4IEBACisyMDE5LTA5LTI2ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgpIHRvIHR1cm4gb24gUGFnZSBDYWNoZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMjc0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RvcCB1c2luZyB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgpIHRvIHR1cm4gb24gUGFnZSBDYWNoZSwgYXMgdGhp
cyBkb2VzIG5vdCB3b3JrCisgICAgICAgIGZvciBXZWJLaXQyIHdoZW4gbmF2aWdhdGluZyBjcm9z
cy1vcmlnaW4gZHVlIHRvIHByb2Nlc3Mgc3dhcHBpbmcuIEluc3RlYWQsIHVwZGF0ZSB0ZXN0cwor
ICAgICAgICB0byByZWx5IG9uIGA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+YC4KKworICAgICAgICAqIGFuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBh
Z2UtY2FjaGUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9hY2NlbGVyYXRlZC1sYXllcnMt
YWZ0ZXItYmFjay5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvcGFnZS1jYWNo
ZS1sYXllci10cmVlLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvcGFnZS1jYWNoZS1iYWNr
LWNyYXNoLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFt
ZS1vbi1iYWNrLWJ1dHRvbi5odG1sOgorICAgICAgICAqIGVkaXRpbmcvbWFjL2lucHV0L3VuY29u
ZmlybWVkLXRleHQtbmF2aWdhdGlvbi13aXRoLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2Nzcy9mb250bG9hZGVyLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9E
ZXZpY2VNb3Rpb24vbm8tcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9uby1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vV2luZG93L3RpbWVyLXJlc3VtZS1vbi1uYXZpZ2F0aW9uLWJhY2suaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9wYWdlaGlkZS10aW1lb3V0Lmh0bWw6CisgICAgICAgICogZmFzdC9ldmVu
dHMvcGFnZWhpZGUteGhyLW9wZW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3BhZ2VoaWRlLXhoci1vcGVuLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcGFnZXNob3ct
cGFnZWhpZGUtb24tYmFjay1jYWNoZWQtd2l0aC1mcmFtZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC5odG1sOgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9zdXNwZW5kLXRpbWVycy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvYXV0b2Nv
bXBsZXRlLW9mZi13aXRoLWRlZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXIuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mcmFtZS1jcmFzaC13aXRoLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRpbWVvdXQtYXNz
ZXJ0LWZhaWwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9wYWdlLWhpZGUtZG9jdW1lbnQt
b3Blbi5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL3Jlc3RvcmluZy1wYWdlLWNhY2hlLXNo
b3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0ZS5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL3Jlc3RvcmluZy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvcGFnZS1jYWNoZS1jcmFzaC1vbi1kYXRhLXVybHMu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAq
IGZhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1lLmh0bWw6Cisg
ICAgICAgICogZmFzdC9oaXN0b3J5L2dvLWJhY2stdG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0bWw6
CisgICAgICAgICogZmFzdC9oaXN0b3J5L2dvLWJhY2stdG8tb2JqZWN0LXN1YmZyYW1lLmh0bWw6
CisgICAgICAgICogZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aGlsZS1wZGYtaW4tcGFnZWNh
Y2hlLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtTWVzc2FnZVBvcnQt
cGVuZGluZy1tZXNzYWdlLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
YWZ0ZXItd2luZG93LW9wZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1iYWNrLW5hdmlnYXRpb24tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1jbGVhcmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtY2xlYXJpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1jbG9zZWQtYXVkaW9jb250ZXh0Lmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtY3JlYXRlT2JqZWN0VVJMLXVzaW5nLW9wZW4tcGFuZWwuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVPYmplY3RVUkwuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1kZXN0cm95LWRvY3VtZW50Lmh0bWw6CisgICAgICAgICog
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZWxlbWVudC1zdGF0ZS1mb2N1c2VkLmh0bWw6CisgICAg
ICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3Rv
cmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1h
Y3RpdmUtb25lc2hvdC5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdl
b2xvY2F0aW9uLWFjdGl2ZS13YXRjaGVyLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtZ2VvbG9jYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1pbmRleGVkLWNsb3NlZC1kYi5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWluZGV4ZWQtb3BlbmVkLWRiLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtbWVkaWEtc291cmNlLWNsb3NlZC0yLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLWNsb3NlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
aGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1vcGVuZWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1uYXZpZ2F0ZS1kdXJpbmctcmVzdG9yZS5odG1sOgorICAg
ICAgICAqIGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFi
bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24t
c3VzcGVuZGFibGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1yZW1v
dmVkLXNvdXJjZS1idWZmZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1ydW5uaW5nLWF1ZGlvY29udGV4dC5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLXN1c3BlbmRlZC1hdWRpb2NvbnRleHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNh
Y3Rpb24tZGIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRh
YmFzZS1wZW5kaW5nLXRyYW5zYWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtd2l0aC1vcGVuZXIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2hpc3RvcnkvcGFnZWhp
ZGUtcmVtb3ZlLWlmcmFtZS1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9yZXNv
dXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2luZG93LXdpdGgtb3BlbmVyLmh0bWw6Cisg
ICAgICAgICogZmFzdC9oaXN0b3J5L3RpbWVkLXJlZnJlc2gtaW4tY2FjaGVkLWZyYW1lLmh0bWw6
CisgICAgICAgICogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXJlc3RvcmVkLWZyb20tYmZjYWNo
ZS5odG1sOgorICAgICAgICAqIGZhc3QvbG9hZGVyL2ZyYW1lcy13aXRoLXVubG9hZC1oYW5kbGVy
cy1pbi1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogZmFzdC9sb2FkZXIvaW1hZ2UtaW4tcGFn
ZS1jYWNoZS5odG1sOgorICAgICAgICAqIGZhc3QvbG9hZGVyL2lucHV0LWVsZW1lbnQtcGFnZS1j
YWNoZS1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtbmV3
LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1sOgorICAgICAgICAqIGZh
c3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtcG9zdC10by1uZXctdGFyZ2V0LWFmdGVyLWJhY2stZm9y
d2FyZC1uYXZpZ2F0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9sb2FkZXIvc2Nyb2xsLXBvc2l0
aW9uLXJlc3RvcmVkLW9uLWJhY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2xvYWRlci9zdGF0ZW9i
amVjdHMvbm8tcG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2Ut
Y2FjaGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUt
ZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogZmFzdC9sb2FkZXIvdW5zY2hl
ZHVsZS1yZWxheW91dC1hZnRlci11bmxvYWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2xvYWRlci93
aW5kb3ctcHJvcGVydGllcy1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L292ZXJmbG93L2hvcml6b250YWwtc2Nyb2xsLWFmdGVyLWJhY2suaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9pZnJhbWUtc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1ldmVudHMtYmFjay1mb3J3YXJkLWFm
dGVyLXBhZ2VzaG93Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3Njcm9sbC1l
dmVudHMtYmFjay1mb3J3YXJkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvaW9zL3Rv
dWNoLXNjcm9sbC1iYWNrLWZvcndhcmQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9v
dmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9wYWdlLWNhY2hlLWJhY2stb3ZlcmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9pb3MvdGV4dC1hdXRvc2l6aW5nLWFmdGVyLWJhY2su
aHRtbDoKKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1zaHJpbmstdG8tZml0
LW9uLW5ldy1uYXZpZ2F0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9y
dC0xMjguaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc3BsYXktaW1hZ2UtdW5z
ZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9s
b2FkaW5nL21haW4tcmVzb3VyY2UtZGVsZWdhdGVzLW9uLWJhY2stbmF2aWdhdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9sb2FkaW5nL21haW4tcmVzb3VyY2UtZGVsZWdh
dGVzLW9uLWJhY2stbmF2aWdhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbG9hZGlu
Zy91bmZpbmlzaGVkLWxvYWQtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3MuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1tYWluLXJlc291cmNlLWJhY2st
dG8tY2FjaGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRp
YS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2
aWdhdGlvbi9odHRwcy1pbi1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL2h0dHBzLW5vLXN0b3JlLXN1YmZyYW1lLWluLXBhZ2UtY2FjaGUuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vaW1hZ2UtbG9hZC1pbi1wYWdlaGlkZS1oYW5k
bGVyLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtZnJh
Z21lbnQtcmVmZXJyZXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcGFn
ZS1jYWNoZS1pZnJhbWUtbm8tY3VycmVudC1oaXN0b3J5SXRlbS5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLWFz
eW5jLWRlbGVnYXRlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlv
bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctaW1hZ2UtbG9hZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLWNyb3NzLW9yaWdpbi5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLXNhbWUtb3Jp
Z2luLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhy
LWluLXBhZ2VoaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRp
b24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhpZGUuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25h
dmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMS5waHA6CisgICAgICAgICog
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTIucGhw
OgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFn
ZS1jYWNoZS0zLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNl
cy9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1lLXBhZ2VoaWRlLWhhbmRsZXItc3RhcnRzLWxv
YWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhp
ZGUtaGFuZGxlci1zdGFydHMtbG9hZDIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi13aW5kb3ctb3Blbi1pbnNlcnQtc2NyaXB0Lmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4tamF2YXNjcmlw
dC11cmwuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L25hdmlnYXRlLXdoZW4t
cmVzdG9yaW5nLWNhY2hlZC1wYWdlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS94c3MtREVOSUVELWNsaWNrLWFuZC1mb3JtLXN1Ym1pc3Npb24tZnJvbS1pbmFjdGl2ZS1kb213
aW5kb3cuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2Ny
aXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdy5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93
Mi1wc29uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5k
b3czLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9z
ZWQtd2hlbi1lbnRlcmluZy1wYWdlLWNhY2hlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zdG9wLW9uLXJlc3VtZS1pbi1lcnJvci1oYW5kbGVyLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50LWFkZGVkLXRvLWNs
aWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hpbGUt
aW4tcGFnZS1jYWNoZS5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L2JlYWNvbi9zdXBwb3J0L3Nl
bmRCZWFjb24tb25wYWdlaGlkZS13aW5kb3cuaHRtbDoKKyAgICAgICAgKiBsZWdhY3ktYW5pbWF0
aW9uLWVuZ2luZS9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWw6CisgICAg
ICAgICogbG9hZGVyL2dvLWJhY2stY2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbDoKKyAgICAgICAg
KiBsb2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbDoKKyAgICAgICAg
KiBtZWRpYS9jcmFzaC1jbG9zaW5nLXBhZ2Utd2l0aC1tZWRpYS1hcy1wbHVnaW4tZmFsbGJhY2su
aHRtbDoKKyAgICAgICAgKiBtZWRpYS9yZXN0b3JlLWZyb20tcGFnZS1jYWNoZS5odG1sOgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFjay1mb3J3YXJkLmh0bWw6Cisg
ICAgICAgICogcGx1Z2lucy9jcmFzaC1yZXN0b3JpbmctcGx1Z2luLXBhZ2UtZnJvbS1wYWdlLWNh
Y2hlLmh0bWw6CisgICAgICAgICogcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5o
dG1sOgorICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLXBhZ2UtY2FjaGUtd29ya3Mu
aHRtbDoKKyAgICAgICAgKiBzd2lwZS9iYXNpYy1jYWNoZWQtYmFjay1zd2lwZS5odG1sOgorICAg
ICAgICAqIHN3aXBlL21haW4tZnJhbWUtcGlubmluZy1yZXF1aXJlbWVudC5odG1sOgorICAgICAg
ICAqIHN3aXBlL3B1c2hTdGF0ZS1jYWNoZWQtYmFjay1zd2lwZS5odG1sOgorICAgICAgICAqIHN3
aXBlL3B1c2hTdGF0ZS1wcm9ncmFtbWF0aWMtYmFjay13aGlsZS1zd2lwaW5nLWNyYXNoLmh0bWw6
CisgICAgICAgICogc3dpcGUvcHVzaHN0YXRlLXdpdGgtbWFudWFsLXNjcm9sbHJlc3RvcmF0aW9u
Lmh0bWw6CisgICAgICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1wYXJlbnQtYmFj
ay1jcmFzaC5odG1sOgorICAgICAgICAqIHRpbGVkLWRyYXdpbmcvdGlsZWQtZHJhd2luZy1zY3Jv
bGwtcG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sOgorCiAyMDE5LTA5LTI1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHZlcnkgYmFzaWMg
UGFnZUNhY2hlIHN1cHBvcnQgZm9yIFJUQ1BlZXJDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL3Jlc3VtZS1hZnRlci1wYWdlLWNhY2hlLmh0bWwKaW5kZXggYWYxZGUw
M2MyMGFhZGQ5Yzg5MGVkMGEzNWJlZjA1YTE1ZjM0Y2VlZC4uYTY2MjJlZTMwODEyOTE4ZTYzZDU2
ZjI0ZjNkZWE1NTQyOTE0NTNjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9y
ZXN1bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMv
cmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzdHlsZT4KIEAtd2Vi
a2l0LWtleWZyYW1lcyBib3VuY2UgewogICAgIGZyb20gewpAQCAtMjUsNyArMjYsNiBAQCB2YXIg
aGFzTmF2aWdhdGVkID0gZmFsc2U7CiBmdW5jdGlvbiBzYXdJdGVyYXRpb24oZXZlbnQpIHsKICAg
ICBpZiAoaGFzTmF2aWdhdGVkKSB7CiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHRzIikuaW5uZXJUZXh0ID0gIlBBU1M6IFNhdyBpdGVyYXRpb24gYWZ0ZXIgbmF2aWdhdGlv
biI7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAwKTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgfQogfQpAQCAtNDIsNyArNDIsNiBAQCBmdW5jdGlvbiBzdGFydFRlc3Qo
KSB7CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CiAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHdp
bmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVBy
ZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBz
dGFydFRlc3QsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2Fj
Y2VsZXJhdGVkLWxheWVycy1hZnRlci1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9hY2NlbGVyYXRlZC1sYXllcnMtYWZ0ZXItYmFjay5odG1sCmluZGV4IDc3ODU0NzMxZTI2OTJh
MWFkOWI4MzIzNjdmM2MyZTlmOGM0ODIwNjguLjNiNjFhNDRjM2M2NTg1MzA4YjJkZGE1ZTVhOTU1
YmExNmMxNDE2MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2FjY2VsZXJh
dGVkLWxheWVycy1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
YWNjZWxlcmF0ZWQtbGF5ZXJzLWFmdGVyLWJhY2suaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUFjY2VsZXJhdGVkRHJhd2lu
Zz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1
c2VBY2NlbGVyYXRlZERyYXdpbmc9dHJ1ZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogCiA8
aHRtbD4KIDxoZWFkPgpAQCAtMTksNyArMTksNiBAQAogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5
IiwgMSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGZ1bmN0aW9uIGRvT25GaXJzdExv
YWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNh
Y2hlLWxheWVyLXRyZWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvcGFn
ZS1jYWNoZS1sYXllci10cmVlLmh0bWwKaW5kZXggNDIzZGNjMzA1ZjRhNDZkODljNzJhODBkZGM4
ZDhjNmFmM2VlZjdjMS4uOTZjNjk4ZjM3NDA4MmU5NjE4M2Y3ZTZhZGZmNzA5MzczNTM3NmU5ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9wYWdlLWNhY2hlLWxh
eWVyLXRyZWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL3BhZ2Ut
Y2FjaGUtbGF5ZXItdHJlZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgpAQCAtNDksNyArNTAsNiBAQAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHdpbmRv
dy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9wYWdlLWNhY2hlLWJhY2stY3Jhc2guaHRtbCBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3BhZ2UtY2FjaGUtYmFjay1jcmFzaC5odG1sCmluZGV4IDE0NjBlNzY3
NDg2OTUwNWZkYzIzZjViODAwYjc4MGQyYTg0Y2U5NDQuLjhmNjhiY2Q4ZmE5NWU1Y2JkOWMwM2Ew
ZjM5NDE1MzEzMmZiOGEwYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Bh
Z2UtY2FjaGUtYmFjay1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Bh
Z2UtY2FjaGUtYmFjay1jcmFzaC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHN0eWxlPgogLm91dGVyIHsg
cG9zaXRpb246IGZpeGVkOyB9CiAuaW5uZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0KQEAgLTgs
NyArOSw2IEBAIFRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCiBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgd2lu
ZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
IH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Nob3ctY29tcG9zaXRlZC1p
ZnJhbWUtb24tYmFjay1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Nob3ct
Y29tcG9zaXRlZC1pZnJhbWUtb24tYmFjay1idXR0b24uaHRtbAppbmRleCA2NWE4YjEwNTIxMjc0
YTM4NzY0YTVhM2FlYjk0MWI4ZjgwMzMzN2RkLi41Njk1ZTc0ZjMwOWUxNzQwY2E3ZTk4NDhjNGEz
YjMyZmMzZjJlYTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaG93LWNv
bXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFtZS1vbi1iYWNrLWJ1dHRvbi5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtMTUsMTEgKzE2LDgg
QEAgZnVuY3Rpb24gaGFuZGxlT25QYWdlU2hvdyhwYWdlVHJhbnNpdGlvbkV2ZW50KQogICAgIHRl
c3RSdW5uZXIucXVldWVCYWNrTmF2aWdhdGlvbigxKTsKIH0KIAotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB3
aW5kb3cub25wYWdlc2hvdyA9IGhhbmRsZU9uUGFnZVNob3c7Ci19CiA8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvaW5wdXQvdW5j
b25maXJtZWQtdGV4dC1uYXZpZ2F0aW9uLXdpdGgtcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9tYWMvaW5wdXQvdW5jb25maXJtZWQtdGV4dC1uYXZpZ2F0aW9uLXdpdGgtcGFn
ZS1jYWNoZS5odG1sCmluZGV4IDRhZjMzYWIxYTFjZjMxNjQwMWVlMmQ0Y2QxMDYyZDQ2ZDc1ZGRi
OWYuLjM4ODc3Y2JkMGU4Mjc2ZjJjYzQwYzY0YmI3NmY1ZTE5NGJlYTMwOGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL2lucHV0L3VuY29uZmlybWVkLXRleHQtbmF2aWdhdGlv
bi13aXRoLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9pbnB1
dC91bmNvbmZpcm1lZC10ZXh0LW5hdmlnYXRpb24td2l0aC1wYWdlLWNhY2hlLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHRpdGxlPlRlc3Qgd2hhdCBoYXBwZW5zIHdoZW4gbmF2
aWdhdGluZyBmcm9tIGEgcGFnZSB3aXRoIHVuY29uZmlybWVkIGlubGluZSBpbnB1dCB3aGVuIHRo
ZSBwYWdlIGlzIGNhY2hlYWJsZTwvdGl0bGU+CkBAIC03LDEwICs4LDggQEAKIDxzY3JpcHQ+CiBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwotfQogCiAvLyBXaW5kb3cgd2Ugd2lsbCBiZSBjb250cm9sbGluZy4KIHZh
ciB0YXJnZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb250bG9hZGVyLXBh
Z2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvbnRsb2FkZXItcGFnZS1jYWNo
ZS5odG1sCmluZGV4IDhkNDcyZjEwYzQzN2JkZTkxNzc4MThmZjQwMjk3YzFjNjQyZmVkYjIuLjdh
MjBhMGMxYTI5MjUyMGI0MDI1ODk0Mzc4NjhjMjQ2NmJjZGFmNzIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2ZvbnRsb2FkZXItcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2ZvbnRsb2FkZXItcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFk
b2N0eXBlIGh0bWw+CiA8aHRtbD4KIDxzdHlsZT4KQEAgLTIyLDcgKzIzLDYgQEAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB9CiAgICAgZG9jdW1lbnQuZm9udHMubG9hZEZvbnQo
eyBmb250OiAnMTBweCBUZXN0Rm9udCcsIG9uc3VjY2Vzczogb25zdWNjZXNzLCBvbmVycm9yOiBv
bmVycm9yIH0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90
aW9uL25vLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU1vdGlv
bi9uby1wYWdlLWNhY2hlLmh0bWwKaW5kZXggY2Y3NDk3ZjI4ODkwNTAyZDliYjY0ZTYxNmEyMzlm
YjNjMjVkNDE3Zi4uNTllNzM4MzE5MTgwZTg4ZWNmZjBkYThjNjY3MzNhNzgzZDY5NTY4ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlTW90aW9uL25vLXBhZ2UtY2FjaGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VNb3Rpb24vbm8tcGFnZS1jYWNo
ZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtOSw3ICsxMCw2IEBAIGRl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZU1vdGlvbiBhcmUgbm90
IHB1dCBpbiB0aGUgcGFnZSBjYWNoCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dz
KCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2Fj
aGVQcmVmZXJlbmNlS2V5JywgMSk7CiB9IGVsc2UKICAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBu
b3QgYmUgcnVuIHdpdGhvdXQgdGhlIFRlc3RSdW5uZXInKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vZXZlbnQtYWZ0ZXIt
bmF2aWdhdGlvbi5odG1sCmluZGV4IDlmOTc3NGFmNGZmNjZhNjAyNGEyYmQ0ZmUzNTQ2Mzk5Y2Zh
MWExNjguLjIzOGIzNzE0ZjAyN2JiZDllYjYzNWRlMGJhODI5MmRlZDU5YTZjZDQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL2V2ZW50LWFmdGVyLW5h
dmlnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlv
bi9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFk
PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CkBAIC02LDExICs3LDYgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbignVGVzdHMgZm9yIGEg
Y3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2
aWdhdGVkIGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS4n
KTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOwotZWxzZQotICAg
IGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicp
OwotCiBkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbicsIGZ1bmN0aW9uKCkgeyB9ICk7CiAgICAg
d2luZG93LmxvY2F0aW9uID0gInJlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5o
dG1sIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9u
L25vLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0
aW9uL25vLXBhZ2UtY2FjaGUuaHRtbAppbmRleCBjNmEyMTViOTU1ZjdkMmUzMGJlMTY5NThmMWRl
NjA1OTkyMjlkYzNiLi42NjUxZjUxNmRlOWY0MTIwNjkyM2Y4YWJkODU5ZjRjZTAzMWJlOWMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9uby1wYWdl
LWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24v
bm8tcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgpAQCAtOSw3
ICsxMCw2IEBAIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZU9y
aWVudGF0aW9uIGFyZSBub3QgcHV0IGluIHRoZSBwYWdlCiBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENh
bk9wZW5XaW5kb3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7CiB9IGVsc2UKICAgICBkZWJ1ZygnVGhp
cyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQgdGhlIFRlc3RSdW5uZXInKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3RpbWVyLXJlc3VtZS1vbi1uYXZpZ2F0
aW9uLWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy90aW1lci1yZXN1bWUt
b24tbmF2aWdhdGlvbi1iYWNrLmh0bWwKaW5kZXggZTA5MDVhZjk2MjczYTk4N2RiNDRlNDdmMGVm
YmEzZTI1NGRkNmQ3Mi4uMzAyYTQyNDBiOGQzYzFiMTI0NTEyZjExMTI1ZmQzZjY5Zjg2Y2IxZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3RpbWVyLXJlc3VtZS1vbi1u
YXZpZ2F0aW9uLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvdGlt
ZXItcmVzdW1lLW9uLW5hdmlnYXRpb24tYmFjay5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8
c2NyaXB0PgogdmFyIHRpbWVvdXRWYWx1ZSA9IDEwMDsgLy9tcwpAQCAtMjgsNyArMjksNiBAQCBm
dW5jdGlvbiBydW5UZXN0KCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0KICAgICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5l
ZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhpc3Rv
cnkgZW50cmllcy4KICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvb251bmxvYWQtYmFjay10by1wYWdlLWNhY2hlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUuaHRtbApp
bmRleCAzOGM0YjYyM2JkMzJlNDdhYzU0NDdjY2JjNWIzMDFkYzlkNTVjYmY3Li5mMDE4NGYzN2M2
YmEwOWUzMDMyMWU5ODBmMjY2NWMyY2M2NTIyZTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9vbnVubG9hZC1iYWNrLXRvLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KIDxo
dG1sPgogPGhlYWQ+CkBAIC0xMSwxMSArMTIsOCBAQCBvbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZl
bnQpIHsKICAgICBpZiAod2luZG93Lmhpc3Rvcnkuc3RhdGUgPT0gJ25hdmlnYXRlZCcpIHsKICAg
ICAgICAgdGVzdFBhc3NlZCgnV2ViVGltaW5nIGFzc2VydHMgaW4gRnJhbWVMb2FkZXIuY3BwIGRp
ZCBub3QgZmlyZScpOwogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKKyAg
ICB9IGVsc2UKICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt3aW5kb3cuaGlzdG9yeS5y
ZXBsYWNlU3RhdGUoJ25hdmlnYXRlZCcsICcnKTsgbG9jYXRpb24uaHJlZiA9ICdkYXRhOnRleHQv
aHRtbCw8c2NyaXB0Pm9udW5sb2FkPWZ1bmN0aW9uKCkge30sb25sb2FkPWZ1bmN0aW9uKCl7aGlz
dG9yeS5iYWNrKCk7fTwnICsgJy9zY3JpcHQ+Jzt9LCAwKTsKLSAgICB9CiB9CiAKIHZhciBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Bh
Z2VoaWRlLXRpbWVvdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFn
ZWhpZGUtdGltZW91dC1leHBlY3RlZC50eHQKaW5kZXggNWNjMzNkNWIyOWM0ZmU1OGZjYTU1M2Ux
M2M4MGFhMDNlY2U4YWJjNi4uOTljYzA2MmFmYzJkZDNjMTA1ZWMzZDZiMzY3OWM4NDA5NmFlYmYy
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91
dC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6
IENyZWF0aW5nIHRpbWVvdXQgaW4gcGFnZWhpZGUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDog
Q3JlYXRpbmcgdGltZW91dCBpbiBwYWdlaGlkZQogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IExv
YWRlZCBwYWdlaGlkZS10aW1lb3V0LWdvLWJhY2suaHRtbCwgZ29pbmcgYmFjawotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDI5OiBSZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAyMDogVGltZW91dCBjcmVhdGVkIGluIHBhZ2VoaWRlIGZpcmVkCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjc6IFJlc3RvcmVkIHBhZ2UgZnJvbSBwYWdlIGNhY2hlLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE4OiBUaW1lb3V0IGNyZWF0ZWQgaW4gcGFnZWhpZGUgZmlyZWQK
IFRlc3RzIHRoYXQgSlMgZXhlY3V0aW9uIGlzIHN1c3BlbmRlZCBhZnRlciB0aGUgcGFnZWhpZGUg
ZXZlbnQgaXMgZmlyZWQsIHNvIHRoYXQgdGltZXJzIGNyZWF0ZWQgd2l0aGluIGl0IHdpbGwgbm90
IGZpcmUgd2hpbGUgdGhlIGRvY3VtZW50IGlzIGluIHRoZSBwYWdlIGNhY2hlLgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9w
YWdlaGlkZS10aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS10
aW1lb3V0Lmh0bWwKaW5kZXggZDlmMjRkN2RmMGRiYWFhOTQ1Njk0OTU5OWQzMGYxNDg5N2I4ODc0
ZC4uNDgwMWVlODg2OTE4NTgzN2YxOWU3YzZmMTNhZTljNWFlZDEyMTU2ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUtdGltZW91dC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXRpbWVvdXQuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxo
dG1sPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CiA8Ym9keT4KQEAgLTUsOSArNiw2IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBKUyBleGVjdXRpb24gaXMgc3VzcGVuZGVkIGFm
dGVyIHRoZSBwYWdlaGlkZSBldmVudCBpcyBmaXJlZCwgc28gdGhhdCB0aW1lcnMgY3JlYXRlZCB3
aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3aGlsZSB0aGUgZG9jdW1lbnQgaXMgaW4gdGhlIHBhZ2Ug
Y2FjaGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKLSAg
ICAKIG9ucGFnZWhpZGUgPSBmdW5jdGlvbigpCiB7CiAgICAgLy8gRG9uJ3QgdHJ5IHRvIGNyZWF0
ZSB0aGUgdGltZW91dCBhZ2FpbiBpZiB0aGUgdGVzdCBpcyBjb21wbGV0ZSBhbmQgd2UncmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLWV4cGVj
dGVkLnR4dAppbmRleCAzMzQzOTJmZDE1ZTA3ZDYxZWRlYjkxNDI0NGI4YTA3YzNiMzcxZTNiLi5m
ODgzMjkyNzFkYzVmZWExNmZjMjMzNDgwZjA3NWY4NDk1Y2QwZmY4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS14aHItb3Blbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUteGhyLW9wZW4tZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNiBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFhNTEh0dHBSZXF1ZXN0IGlu
IHN1YmZyYW1lLTEgY3JlYXRlZAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IExvYWRlZCBwYWdl
aGlkZS10aW1lb3V0LWdvLWJhY2suaHRtbCwgZ29pbmcgYmFjawotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE3OiBSZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxNDogUmVzdG9yZWQgcGFnZSBmcm9tIHBhZ2UgY2FjaGUuCiBUcmllcyB0byB0cmlnZ2Vy
IGFuIGFzc2VydCBpbiB4bWxodHRwcmVxdWVzdCBkdXJpbmcgcGFnZWhpZGUuCiAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Bh
Z2VoaWRlLXhoci1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlaGlkZS14
aHItb3Blbi5odG1sCmluZGV4IDJiZTgxMDE4ZjVjYjA4ZmVkNzdkMGRmOTE0N2QxMjhmYzEyYzFk
ODYuLmEzYjliNWNlMzdlMDRlZDI4MWFiMmRiNTM2ZTE5MWMyM2M3MGUzZmYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VoaWRlLXhoci1vcGVuLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZWhpZGUteGhyLW9wZW4uaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDxodG1sPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CiA8Ym9keT4KQEAgLTcsMTAgKzgsNiBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgogZGVzY3JpcHRpb24oJ1RyaWVzIHRvIHRyaWdnZXIgYW4gYXNzZXJ0IGluIHhtbGh0
dHByZXF1ZXN0IGR1cmluZyBwYWdlaGlkZS4nKTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleScsIDEpOwotCi0KIG9ucGFnZXNob3cgPSBmdW5jdGlvbihldmVudCkKIHsKICAg
ICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC13aXRoLWZyYW1lcy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQt
d2l0aC1mcmFtZXMuaHRtbAppbmRleCBjMzk5YzU4MmQ0OGYzMzkwMzBhZjg0NTVjNWJjZGNhZDdl
OTQyOWJkLi40MjEyODZkNTAwMDk4MzNmNTUwZmI4MTUwMmRiZGYyMmI2ZDMxMjg4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdlc2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNh
Y2hlZC13aXRoLWZyYW1lcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2Vz
aG93LXBhZ2VoaWRlLW9uLWJhY2stY2FjaGVkLXdpdGgtZnJhbWVzLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8aHRtbD4KIDxib2R5PgogVGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3
aGVuIG5hdmlnYXRpbmcgYXdheSBmcm9tIGEgcGFnZSB3aXRoIGZyYW1lcywgcHV0dGluZyB0aGUg
cGFnZSBpbiB0aGUgcGFnZSBjYWNoZSwgdGhlbiBiYWNrIHRvIGl0LgpAQCAtOCw3ICs5LDYgQEAg
VGVzdCBwYWdlc2hvdy9wYWdlaGlkZSBldmVudCBiZWhhdmlvciB3aGVuIG5hdmlnYXRpbmcgYXdh
eSBmcm9tIGEgcGFnZSB3aXRoIGZyYW0KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwogfQogCiAvLyBXZSBleHBsaWNpdGx5IGNoYWluIHRoZSBsb2FkaW5n
IG9mIHRoZSBzdWJmcmFtZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgdGVzdCByZXN1bHRzIGJldHdl
ZW4gcnVucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBh
Z2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wYWdl
c2hvdy1wYWdlaGlkZS1vbi1iYWNrLWNhY2hlZC5odG1sCmluZGV4IGU5OTgxNWI2Y2NhOTE0MTBl
MzU2OTg0YmZmODg1OWU1YmNiNzY4NGMuLmNmOTIxYmZjZDhiZjFjMTI5MTA2NzFkYTU4MWY0ZDIy
M2M5ZjhhMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3BhZ2VzaG93LXBh
Z2VoaWRlLW9uLWJhY2stY2FjaGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
cGFnZXNob3ctcGFnZWhpZGUtb24tYmFjay1jYWNoZWQuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxwPlRl
c3QgcGFnZXNob3cvcGFnZWhpZGUgZXZlbnQgYmVoYXZpb3Igd2hlbiBuYXZpZ2F0aW5nIGJhY2sg
dG8gYW4gY2FjaGVkIHBhZ2UuPC9wPgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQ
YWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bihldnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGlt
ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJz
LWV4cGVjdGVkLnR4dAppbmRleCA0N2YwNGM3MTg3YzA1NmQzNGY0MWYyNDJkZjkwMTIyYjhmZjk4
NDAxLi5lNTdiYzg2Mzg5MGQ4MDUyYzE2ZjVkZmY2ZDg3YTkxNzM3MWIyY2E0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zdXNwZW5kLXRpbWVycy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1lcnMtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNiBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFRpbWVvdXQgaW4gc3ViZnJh
bWUtMSBjcmVhdGVkCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogTG9hZGVkIHBhZ2VoaWRlLXRp
bWVvdXQtZ28tYmFjay5odG1sLCBnb2luZyBiYWNrCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzA6
IFJlc3RvcmVkIHBhZ2UgZnJvbSBwYWdlIGNhY2hlLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3
OiBSZXN0b3JlZCBwYWdlIGZyb20gcGFnZSBjYWNoZS4KIEFMRVJUOiBUaW1lb3V0IGNyZWF0ZWQg
aW4gc3ViZnJhbWUtMS5odG1sIGZpcmVkCiBUZXN0cyB0aGF0IGFsbCBKUyB0aW1lcnMgYXJlIHN1
c3BlbmRlZCBhZnRlciB0aGUgcGFnZWhpZGUgZXZlbnQgaXMgZmlyZWQsIHNvIHRoYXQgdGltZXJz
IGNyZWF0ZWQgd2l0aGluIGl0IHdpbGwgbm90IGZpcmUgd2hpbGUgdGhlIGRvY3VtZW50IGlzIGlu
IHRoZSBwYWdlIGNhY2hlLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9z
dXNwZW5kLXRpbWVycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3VzcGVuZC10aW1l
cnMuaHRtbAppbmRleCA4OTc5ZTI5ZWViMGViN2NmZGIwODU5ZTMxMzAzYmUzOGVhZjc0NzFkLi4z
Yzg1ZjQ4MWU0MzY4ZDRmMDMxMzYzZmQzOTIxNWM1NDk3NTFlOWQ4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9zdXNwZW5kLXRpbWVycy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3N1c3BlbmQtdGltZXJzLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC0yMCwxMCArMjEsNiBAQAogPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYWxsIEpTIHRpbWVycyBh
cmUgc3VzcGVuZGVkIGFmdGVyIHRoZSBwYWdlaGlkZSBldmVudCBpcyBmaXJlZCwgc28gdGhhdCB0
aW1lcnMgY3JlYXRlZCB3aXRoaW4gaXQgd2lsbCBub3QgZmlyZSB3aGlsZSB0aGUgZG9jdW1lbnQg
aXMgaW4gdGhlIHBhZ2UgY2FjaGUuJyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXknLCAxKTsKLQotCiBvbnBhZ2VzaG93ID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgaWYg
KGV2ZW50LnBlcnNpc3RlZCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9h
dXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1ZS1kb2VzLW5vdC1jbGVhci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9hdXRvY29tcGxldGUtb2ZmLXdpdGgtZGVmYXVsdC12YWx1
ZS1kb2VzLW5vdC1jbGVhci5odG1sCmluZGV4IDQ0ZDA3NjJmYjg2NThhNjRlN2M0YjE5YTk5NzE5
YWU5MjlhNDFjMWUuLmIzZmRkMmFlODVkYzNkYzU5MTA0MzIyZDAwODI0ZGEzZmE2YWY3MzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvYXV0b2NvbXBsZXRlLW9mZi13aXRoLWRl
ZmF1bHQtdmFsdWUtZG9lcy1ub3QtY2xlYXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2F1dG9jb21wbGV0ZS1vZmYtd2l0aC1kZWZhdWx0LXZhbHVlLWRvZXMtbm90LWNsZWFyLmh0
bWwKQEAgLTEsNyArMSw3IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLQl0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKIAl0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIAl0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZyYW1l
LWNyYXNoLXdpdGgtcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJh
bWUtY3Jhc2gtd2l0aC1wYWdlLWNhY2hlLmh0bWwKaW5kZXggMWUxNDlmZmJmN2Q0NjdiNDVjNWI0
ZjU2N2U1OGQ5YzIwNDU1MDZlOS4uYTI5OWNmODUzZjM3NTRjMjM3ODZkYTc2NDA5NjMwMTQ1NzAy
NWI4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtY3Jhc2gtd2l0
aC1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtY3Jh
c2gtd2l0aC1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxzY3JpcHQ+CiB3
aW5kb3cuZmluaXNoID0gZnVuY3Rpb24oKQpAQCAtMjAsNyArMjEsNiBAQCBmdW5jdGlvbiB0ZXN0
KCkgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogICAgIGxvZygib3BlbiBwYWdlLTEiKTsK
ICAgICB3aW5kb3cub3BlbigicmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZnJhbWUtdW5sb2FkLW5hdmlnYXRlLWFuZC1z
ZXRUaW1lb3V0LWFzc2VydC1mYWlsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFt
ZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRpbWVvdXQtYXNzZXJ0LWZhaWwuaHRtbAppbmRleCAx
MjA5MWVmZWVlOTc3YTNmZTM0YWY0MWE4ZTM0ZTZmYTk2ODZmM2VjLi4zODMyZDY3ZGY1MzdhMWM1
YmJhNzY4OGFjYzU0M2ZlOTk5NjU0YjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mcmFtZS11bmxvYWQtbmF2aWdhdGUtYW5kLXNldFRpbWVvdXQtYXNzZXJ0LWZhaWwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtbmF2aWdhdGUtYW5k
LXNldFRpbWVvdXQtYXNzZXJ0LWZhaWwuaHRtbApAQCAtMSwxMCArMSwxMCBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxib2R5PgogPHNjcmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9wYWdlLWhpZGUtZG9jdW1lbnQtb3Blbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvcGFnZS1oaWRlLWRvY3VtZW50LW9wZW4uaHRtbAppbmRleCA1ZmRlZmY2
ZDIwNTlkMDc0ZTJkNjZlZGM3Y2M2NmY0YTFiMzViNzg1Li45NWMxNGFiM2E1ZTBhZGQxMmJkMDI0
NGUzYTFlNWVkYmE3ZDYyMzJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9w
YWdlLWhpZGUtZG9jdW1lbnQtb3Blbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L3BhZ2UtaGlkZS1kb2N1bWVudC1vcGVuLmh0bWwKQEAgLTEsOSArMSw5IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRt
bD4KIFBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAx
KTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CiAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9y
ZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQtbm90LXJ1bi1zY3JpcHRzLXZpYS1zdHlsZS11cGRh
dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3RvcmluZy1wYWdlLWNhY2hlLXNo
b3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0ZS5odG1sCmluZGV4IGE4ZTVkNGM0
ZWRkM2IwMjdkYzg0NjJkM2NlMTFjYWVjYjVmNjI2NjYuLmRiMWQxNGU4NmQxZjJmZjgxNjFlYWVl
MWFjOWQ4ZjA2MjdmYjBjYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jl
c3RvcmluZy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jlc3RvcmluZy1wYWdlLWNhY2hl
LXNob3VsZC1ub3QtcnVuLXNjcmlwdHMtdmlhLXN0eWxlLXVwZGF0ZS5odG1sCkBAIC0xLDMgKzEs
NCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0t
PgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOSw3ICsxMCw2IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRv
d3MoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFnZUNh
Y2hlU3VwcG9ydHNQbHVnaW5zKHRydWUpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9yZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQtbm90LXJ1bi1zY3JpcHRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9yZXN0b3JpbmctcGFnZS1jYWNoZS1zaG91bGQt
bm90LXJ1bi1zY3JpcHRzLmh0bWwKaW5kZXggYzAwODNiZGM4NWQ3ZWRhZTE4MDc4NjM4OTA4NTk5
NGI0OWEyOGE4Mi4uYzE0NWI1MDk1YjAxODg4MDJjMDU0YjAxZmY4YzAzZDNiMGZiZDllNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvcmVzdG9yaW5nLXBhZ2UtY2FjaGUtc2hv
dWxkLW5vdC1ydW4tc2NyaXB0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3Jl
c3RvcmluZy1wYWdlLWNhY2hlLXNob3VsZC1ub3QtcnVuLXNjcmlwdHMuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTksNyArMTAsNiBAQCBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5k
b3dzKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIGxldCBuZXdXaW5kb3c7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvcGFnZS1jYWNoZS1jcmFzaC1vbi1kYXRhLXVybHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNhY2hlLWNyYXNoLW9uLWRhdGEt
dXJscy5odG1sCmluZGV4IDczN2U0Y2E2ZjUwZTBhNGEzYzJkOWE3MWUzOWIxZjMyZDcwMGFiODYu
LjExODdjNjBlNTNmOGRhZGY4NGEwYTMzNTZlNTE2YjczMDFjNzMwODYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNhY2hlLWNyYXNoLW9uLWRhdGEtdXJscy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9wYWdlLWNhY2hlLWNyYXNoLW9uLWRhdGEt
dXJscy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8c2NyaXB0Pgogd2luZG93LmZpbmlzaCA9
IGZ1bmN0aW9uKCkKQEAgLTIxLDcgKzIyLDYgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKICAgICB9CiAgICAgbG9nKCJvcGVuIHBhZ2Ugd2l0aCBkYXRhIHVybHMiKTsKICAg
ICB3aW5kb3cub3BlbigicmVzb3VyY2VzL2NhY2hlZC1wYWdlLXdpdGgtZGF0YS11cmxzLmh0bWwi
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUtZXhw
ZWN0ZWQudHh0CmluZGV4IGRiYjZmYTFmZWE0NDFmZjUxZGRhZTFjOTQ2ZWJkNTA3Zjk1NGNjOWYu
LmFiYTIyZDhiNjZlM2ViNWNmNjUwZTAxMWNkZjZiNzdmNjI5MzczZmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvaGFybmVzcy91c2UtcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDQgQEAKLVRoaXMgdGVzdCB1c2VzIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOyB0byBlbmFibGUgYmFjay1m
b3J3YXJkIFdlYktpdCBwYWdlIGNhY2hlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHRlc3QuIFRo
ZSB0ZXN0IGVuYWJsZXMgY2FjaGUsIG5hdmlnYXRlcyB0byBwYWdlLTEsIHRoZW4gdG8gcGFnZS0y
IGFuZCB0aGVuIGRvZXMgaGlzdG9yeS5iYWNrKCkgdG8gcGFnZS0xLiBPbiBuYXZpZ2F0aW9uIGJh
Y2sgdG8gcGFnZS0xLCB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJldmlvdXNseS1pbml0aWFsaXplZCB0
aW1lciBjb250aW51ZXMgdG8gZmlyZSBhbmQgb25sb2FkIGlzIG5vdCBjYWxsZWQgYWdhaW4uIElm
IHRlc3QgZmFpbHMgaXQgaGFuZ3Mgb3Igb3V0cHV0cyAnRkFJTCcgYmVsb3cuCitUaGlzIHRlc3Qg
ZW5hYmxlcyBiYWNrLWZvcndhcmQgV2ViS2l0IHBhZ2UgY2FjaGUgZm9yIHRoZSBkdXJhdGlvbiBv
ZiB0aGUgdGVzdC4gVGhlIHRlc3QgZW5hYmxlcyBjYWNoZSwgbmF2aWdhdGVzIHRvIHBhZ2UtMSwg
dGhlbiB0byBwYWdlLTIgYW5kIHRoZW4gZG9lcyBoaXN0b3J5LmJhY2soKSB0byBwYWdlLTEuIE9u
IG5hdmlnYXRpb24gYmFjayB0byBwYWdlLTEsIHRlc3QgdmVyaWZpZXMgdGhhdCBwcmV2aW91c2x5
LWluaXRpYWxpemVkIHRpbWVyIGNvbnRpbnVlcyB0byBmaXJlIGFuZCBvbmxvYWQgaXMgbm90IGNh
bGxlZCBhZ2Fpbi4gSWYgdGVzdCBmYWlscyBpdCBoYW5ncyBvciBvdXRwdXRzICdGQUlMJyBiZWxv
dy4KIAogb3BlbiBwYWdlLTEKIHBhZ2UtMSwgYWJvdXQgdG8gbmF2aWdhdGUgdG8gcGFnZS0yLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL3VzZS1wYWdlLWNhY2hlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNlLXBhZ2UtY2FjaGUuaHRtbAppbmRleCAyNTY0
YjYwZTBiNDE5NmY0MGQ4M2ZhNzliNmVlOTI2YmZkODk1ZTU2Li5hMDIzYmNhOTFkM2YxMjViZmU1
MGQ2MDUzODFhMTU0YzFmNjhhYjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5l
c3MvdXNlLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvdXNl
LXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPHNjcmlwdD4KIHdpbmRvdy5m
aW5pc2ggPSBmdW5jdGlvbigpCkBAIC0yNyw3ICsyOCw2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgfQogICAgIGxvZygib3BlbiBwYWdlLTEiKTsKICAgICB3aW5k
b3cub3BlbigicmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCIpOwpAQCAtMzUsNyArMzUsNyBA
QCBmdW5jdGlvbiB0ZXN0KCkKIDwvc2NyaXB0PgogCiA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Ci08
cD5UaGlzIHRlc3QgdXNlcyB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsgdG8gZW5hYmxlCis8cD5UaGlzIHRlc3QgIGVu
YWJsZXMKIGJhY2stZm9yd2FyZCBXZWJLaXQgcGFnZSBjYWNoZSBmb3IgdGhlIGR1cmF0aW9uIG9m
IHRoZSB0ZXN0LgogVGhlIHRlc3QgZW5hYmxlcyBjYWNoZSwgbmF2aWdhdGVzIHRvIHBhZ2UtMSwg
dGhlbiB0byBwYWdlLTIgYW5kIHRoZW4gZG9lcyBoaXN0b3J5LmJhY2soKSB0byBwYWdlLTEuCiBP
biBuYXZpZ2F0aW9uIGJhY2sgdG8gcGFnZS0xLCB0ZXN0IHZlcmlmaWVzIHRoYXQgcHJldmlvdXNs
eS1pbml0aWFsaXplZCB0aW1lciBjb250aW51ZXMgdG8gZmlyZSBhbmQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQtaWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvYmFjay1mcm9tLXBhZ2Utd2l0aC1mb2N1
c2VkLWlmcmFtZS5odG1sCmluZGV4IDRkNGZjYTk3NDlkZTFlOTBmN2EyNWUxMmI5MWUzZWNiYTY4
ZjFmMDIuLjZkM2Y4NGIzNWQ1YzFkOTM2YzdjMWIzOGQxNTVlZTNhZmIxMDllOGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZyb20tcGFnZS13aXRoLWZvY3VzZWQt
aWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2JhY2stZnJvbS1wYWdl
LXdpdGgtZm9jdXNlZC1pZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KQEAgLTMwLDcgKzMxLDYgQEAgd2luZG93Lm9ucGFnZXNob3cgPSBmdW5j
dGlvbiAocGFnZVRyYW5zaXRpb25FdmVudCkKICAgICB9IGVsc2UgewogICAgICAgICAvLyBOZXds
eSBsb2FkZWQKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wQmFja0ZvcndhcmRMaXN0KCk7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9nby1iYWNrLXRvLWlmcmFtZS13aXRoLXBsdWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2dvLWJhY2stdG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0bWwKaW5kZXggYjM1MzBk
Yjg1NGJmMDVhMDU3MzNiYTg1MWEwMmRlNjgxYTNmMjkzYS4uM2M0NGFkNTI2NWZlMmM2ODA2OTA1
N2Y2NWQyNjAxNGZlYjIyNDJhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L2dvLWJhY2stdG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L2dvLWJhY2stdG8taWZyYW1lLXdpdGgtcGx1Z2luLmh0bWwKQEAgLTEsMyArMSw0
IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICA8aGVhZD4KQEAgLTEzLDcgKzE0LDYgQEAKIAog
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogICAgIH0KICAgICB3aW5kb3cub25wYWdlc2hvdyA9IHJ1blRlc3Q7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvZ28tYmFjay10by1vYmplY3Qtc3ViZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLW9iamVjdC1zdWJmcmFtZS5odG1s
CmluZGV4IDU4MGE0MmY4M2U1NzY5YWNmZGZmNDRhODYzODIwNjdjODQyNzA4MWQuLmYwOGQwNTYx
ZDBjNGY1YWUxN2NjODFlMzYyMjY4NDIyNjM1YzYwZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLW9iamVjdC1zdWJmcmFtZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9nby1iYWNrLXRvLW9iamVjdC1zdWJmcmFtZS5odG1sCkBAIC0x
LDEwICsxLDEwIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10
cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9oaXN0b3J5LWJhY2std2hpbGUtcGRmLWlu
LXBhZ2VjYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13
aGlsZS1wZGYtaW4tcGFnZWNhY2hlLmh0bWwKaW5kZXggMzcxNThhNjNhYjlkNDI5YjZiYWVhNjE1
NzRkNWIyMDBiYWFlMmY3NS4uMWI1ODFmYTkxZDQ1ZGU0ZTZiZjZmOWZiMWE3OWYyOTM2NDU1OWQ2
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hpc3RvcnktYmFjay13aGls
ZS1wZGYtaW4tcGFnZWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2hp
c3RvcnktYmFjay13aGlsZS1wZGYtaW4tcGFnZWNhY2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC0xMSwxMCArMTIsOCBAQAogCiAgICAgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgaWYgKGxvY2F0aW9uLmhhc2ggPT0gIiIpIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBoaXN0b3J5LnB1c2hTdGF0ZSh7IH0sICIiLCB3aW5kb3cubG9jYXRpb24gKyAiIzEiKTsK
ICAgICAgICAgICAgIHNldFRpbWVvdXQoIndpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ3Jlc291cmNl
cy9oaXN0b3J5LWJhY2stZm9yLXBmZC10ZXN0Lmh0bWwnIiwgMCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1NZXNzYWdlUG9ydC1wZW5kaW5nLW1lc3Nh
Z2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLU1lc3NhZ2VQb3J0
LXBlbmRpbmctbWVzc2FnZS5odG1sCmluZGV4IGM5YTE4Njc1ZmM1MWJkYWYwZjcwY2JlM2NjZGY1
ODRhMDQ3NmY4NDkuLmNlY2Y2MDQwYmFjMWQzOThhYWIyNDI2ZTAyYzhkYjA0ZWUzNjU2MWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLU1lc3NhZ2VQb3J0
LXBlbmRpbmctbWVzc2FnZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLU1lc3NhZ2VQb3J0LXBlbmRpbmctbWVzc2FnZS5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9u
KCdUZXN0cyB0aGF0IGEgcGFnZSB0aGF0IGhhcyBhIE1lc3NhZ2VQb3J0IHdpdGggYSBwZW5kaW5n
IG1lc3NhZ2UgY2FuIGVudGVyIFBhZ2VDYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBsZXQg
YWZ0ZXJQYWdlQ2FjaGVSZXN0b3JlID0gZmFsc2U7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1hZnRlci13aW5kb3ctb3Blbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtYWZ0ZXItd2luZG93LW9wZW4uaHRtbAppbmRleCA1
OTVlYTQxYjcyNDljZGU3N2M1MGIwNTEwM2EzY2Q0MDdiNGVjY2NkLi5mY2Q1ZGU0MGQxZmFiM2Q1
MGQwNmQwZWQzNDM4NTJhYTRkNWE2OGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1hZnRlci13aW5kb3ctb3Blbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWFmdGVyLXdpbmRvdy1vcGVuLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgcGFnZSB0aGF0IGhhcyBjYWxsZWQgd2luZG93Lm9wZW4o
KSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuIik7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLX0K
IAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsK
ICAgICBpZiAoIXdpbmRvdy5zZXNzaW9uU3RvcmFnZS5kaWRTdGFydFBhZ2VDYWNoZUFmdGVyV2lu
ZG93T3BlblRlc3QpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWJhY2stbmF2aWdhdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtYmFjay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwKaW5kZXggN2E1OTg0MTA2
YTg3YTc0ZGFlMGFkNGJmMmJjNzc4NWZjM2JkNTE1MS4uMDJmODE3MDhiOWYwYjMyZjQ4NzFmMGE3
NzZhYWY2ZDJkZGE0YjMwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtYmFjay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtYmFjay1uYXZpZ2F0aW9uLWNyYXNoLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDEwICs3LDggQEAKIGRl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IHJlbW92aW5nIGEgZnJhbWUgaW4gYSBkZXRhY2hlZCBkb2N1
bWVudCBhZnRlciBuYXZpZ2F0aW9uIGRvZXMgbm90IGNhdXNlIGEgY3Jhc2ggb24gbmF2aWdhdGlu
ZyBiYWNrJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
IHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLX0KIAogZnVuY3Rpb24gcmVtb3ZlRnJh
bWVJbkNoaWxkKCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLWNsZWFyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLWNsZWFyaW5nLWV4cGVjdGVkLnR4dAppbmRleCA0ZjQ3YzdiNWI2YmI5MjNiZGE4
ZGIzNDdjYzU4MmI4YjE2YjQ0ZGYwLi42Mjc5ZGE5MjZlODRkMjIzODRiMjFkOTJiZDNiMzJhYmUx
NGI5MzI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1j
bGVhcmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtY2xlYXJpbmctZXhwZWN0ZWQudHh0CkBAIC02LDcgKzYsNyBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQogcGFnZWhpZGUgLSBlbnRlcmlu
ZyBjYWNoZQogcGFnZXNob3cgLSBmcm9tIGNhY2hlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZUNhY2hlU2l6ZSgpIGlzIDEKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlQ2FjaGVTaXplKCkg
PiAwIGlzIHRydWUKIHdpbmRvdy5pbnRlcm5hbHMuY2xlYXJQYWdlQ2FjaGUoKQogUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VDYWNoZVNpemUoKSBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1jbGVhcmluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY2xl
YXJpbmcuaHRtbAppbmRleCA0ZDEwYzVhOTY1ZjVmYzU0ZjZkNGViYjAyMTA2YmIxMTBhZGY0NTBk
Li44YWE5NzJhMmM5NTlmZjUxMTAzNTg3YmM5MjI0YTI2Y2U2OGVlODVjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jbGVhcmluZy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNsZWFyaW5nLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDE3ICs3LDEzIEBACiBk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjbGVhcmluZyB0aGUgcGFnZSBjYWNoZSBkb2Vzbid0IGxl
YXZlIHBhZ2VzIGluIHRoZSBjYWNoZS4iKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
IAotLy8gRW5hYmxlIHBhZ2UgY2FjaGUuCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgd2lu
ZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwotCiBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCiAgICAgZGVidWcoIlRo
aXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzIik7CiAKIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93
IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwog
ICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKLSAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5pbnRl
cm5hbHMucGFnZUNhY2hlU2l6ZSgpIiwgIjEiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VDYWNoZVNpemUoKSA+IDAiKTsKICAgICAgICAgZXZhbEFuZExvZygi
d2luZG93LmludGVybmFscy5jbGVhclBhZ2VDYWNoZSgpIik7CiAgICAgICAgIHNob3VsZEJlKCJ3
aW5kb3cuaW50ZXJuYWxzLnBhZ2VDYWNoZVNpemUoKSIsICIwIik7CiAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
Y2xvc2VkLWF1ZGlvY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2Ut
Y2FjaGUtY2xvc2VkLWF1ZGlvY29udGV4dC5odG1sCmluZGV4IDA2MDg0MmQ2Nzg3YzE4YWRlNzZl
MzA0NjgzYjEyYjM2MTNmZmVhMTguLmZmZTViMjk5YTU2YzgyYzIwNmVjZTgzNTM2ZTIzYTQyZmRh
N2MwYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNs
b3NlZC1hdWRpb2NvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1jbG9zZWQtYXVkaW9jb250ZXh0Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC0xMCw5ICsxMSw2IEBAIHdpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKIHZhciBzYW1wbGVSYXRlID0gNDQxMDAuMDsKIHZhciBsZW5ndGhJblNlY29u
ZHMgPSAyOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAg
ZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAi
ZnJvbSBjYWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1jcmVhdGVPYmplY3RVUkwtdXNpbmctb3Blbi1wYW5lbC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtY3JlYXRlT2JqZWN0VVJMLXVzaW5nLW9wZW4tcGFu
ZWwuaHRtbAppbmRleCA3N2FiZWQ2ZDhmOWRiZTExMDRhNjE2ZDRmZjY1MTgzYWVjOTNlYTQyLi5i
ZmNjMmU5ZGE4ZjkzNmUyZmZkNjVjNmM1MDM2ODFiZDVhMDRiZjgxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVPYmplY3RVUkwtdXNpbmctb3Bl
bi1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNy
ZWF0ZU9iamVjdFVSTC11c2luZy1vcGVuLXBhbmVsLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC0xMyw5ICsxNCw2IEBAIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGEgcGFnZSBjYWxsaW5nIFVSTC5jcmVhdGVPYmplY3RVUkwoKSBjYW4gdXNlIHRo
ZSBwYWdlIGNhCiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiB2YXIgYmxvYlVSTCA9IG51
bGw7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0K
IGZ1bmN0aW9uIG9uSW5wdXRGaWxlQ2hhbmdlKCkKIHsKICAgICB2YXIgZmlsZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmaWxlIikuZmlsZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1jcmVhdGVPYmplY3RVUkwuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVSTC5odG1sCmluZGV4IGZj
YjU5MDEyOGQyNzhkZDY3Y2E4ZDdiMzZiMTY5YWM3NDBiYmY4MzguLmE2MjhjODJhYzMwODM3YTE4
MWI2YTIwNjEyM2QwZTExNDZhNDRhNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVSTC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLWNyZWF0ZU9iamVjdFVSTC5odG1sCkBAIC0xLDMgKzEsNCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtMTIsOSArMTMsNiBAQCBkZXNjcmlw
dGlvbignVGVzdHMgdGhhdCBhIHBhZ2UgY2FsbGluZyBVUkwuY3JlYXRlT2JqZWN0VVJMKCkgY2Fu
IHVzZSB0aGUgcGFnZSBjYQogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIGJsb2JV
UkwgPSBudWxsOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgd2luZG93LnRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIs
IDEpOwotCiBmdW5jdGlvbiBvbklucHV0RmlsZUNoYW5nZSgpCiB7CiAgICAgdmFyIGZpbGUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZSIpLmZpbGVzWzBdOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZGVzdHJveS1kb2N1bWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZGVzdHJveS1kb2N1bWVudC5odG1s
CmluZGV4IGI1ZjBiZWIzMTNhZDczMDc4ZjRkODM2YTUxYWVmMzhkM2E0ZjY1MzcuLjZkMWQ3YmY3
MzI4YTFjNmMxMDRhNDAyOTI2M2U1NDEyYzJhOGNiMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWRlc3Ryb3ktZG9jdW1lbnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1kZXN0cm95LWRvY3VtZW50Lmh0bWwKQEAg
LTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10
cnVlIF0gLS0+CiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
CiA8aHRtbD4KIDxoZWFkPgpAQCAtOCwxMCArOSw4IEBACiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBwYWdlIGNhbiBzYWZlbHkgcmVt
b3ZlIGFuIGlmcmFtZSBkdXJpbiBwYWdlaGlkZSBldmVudC4nKTsKLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewotICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19CiAKIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBh
Z2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9wYWdlLWNhY2hlLWVsZW1lbnQtc3RhdGUtZm9jdXNlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZWxlbWVudC1zdGF0ZS1mb2N1c2VkLmh0bWwKaW5k
ZXggYTQwZTkzNGY3NGFiNDBjOTQ4ZWRmODNjNzA3NTBlMTE4Mzg3ZDU0Ni4uZmRlZjVlZjYzYzli
MzUyNGE2YTAxNzQwYTU1MDY5Mzg3ODBhOGNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtZWxlbWVudC1zdGF0ZS1mb2N1c2VkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZWxlbWVudC1zdGF0ZS1mb2N1c2VkLmh0
bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC04LDEw
ICs5LDggQEAKIDwvc3R5bGU+CiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0g
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICB9CiAKICAgICAgICAgd2luZG93Lm9ucGFnZXNob3cg
PSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBpZiAoZS5wZXJzaXN0ZWQpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWV4ZWN1dGUtc2NyaXB0LWR1
cmluZy1yZXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1l
eGVjdXRlLXNjcmlwdC1kdXJpbmctcmVzdG9yZS5odG1sCmluZGV4IDQ2NjIxZDExZDQyMzcwOTI2
OThiM2EyYjhlNTlmYTRkMjRmMGE0NDIuLjJlMzRmNDk2MmM5NGZjMGVlNmQ4OTY3MGZhNmU1ZTIz
ZmE3ZDM4NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hl
LWV4ZWN1dGUtc2NyaXB0LWR1cmluZy1yZXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2UtY2FjaGUtZXhlY3V0ZS1zY3JpcHQtZHVyaW5nLXJlc3RvcmUuaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTksNyArMTAs
NiBAQAogPHNjcmlwdD4KIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5Iiwg
MSk7CiAgICAgdGVzdFJ1bm5lci5jbGVhckJhY2tGb3J3YXJkTGlzdCgpOwogICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24tYWN0
aXZlLW9uZXNob3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdl
b2xvY2F0aW9uLWFjdGl2ZS1vbmVzaG90Lmh0bWwKaW5kZXggZDZkYjMwZjRjNjI1ZmIxZDQwZTQ5
MTZlZGIxOGJlZDUxOGJhMTY3OS4uMGNlNDgwMzhkNWVhOTgwNzY0YTA4YWNkOTU2MDY2YzdhZjll
NGM2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2Vv
bG9jYXRpb24tYWN0aXZlLW9uZXNob3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3RpdmUtb25lc2hvdC5odG1sCkBAIC0xLDMgKzEs
NCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0t
PgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtMTIsMTAgKzEzLDggQEAgdmFy
IG1vY2tBY2N1cmFjeSA9IDEwMC4wOwogCiB2YXIgc3RhZ2UgPSAiYmVmb3JlX3Jlc3RvcmUiOwog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1v
Y2tMYXRpdHVkZSwgbW9ja0xvbmdpdHVkZSwgbW9ja0FjY3VyYWN5KTsKLX0KIAogd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1Zygi
cGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNh
Y2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1n
ZW9sb2NhdGlvbi1hY3RpdmUtd2F0Y2hlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24tYWN0aXZlLXdhdGNoZXIuaHRtbAppbmRleCBhODczYzRk
YjQwYTU0NDE5OTg2NTYwOGM3M2ZmNzBiMDY3YTk2YmZlLi45NGMwNzcyZTRmODA0OWUzNWM3ZjI3
MDkxYmQyNmNjZjk2MTJiOGUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS1nZW9sb2NhdGlvbi1hY3RpdmUtd2F0Y2hlci5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLWFjdGl2ZS13YXRjaGVyLmh0
bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC0xMyw3
ICsxNCw2IEBAIHZhciBtb2NrQWNjdXJhY3kgPSAxMDAuMDsKIHZhciBzdGFnZSA9ICJiZWZvcmVf
cmVzdG9yZSI7CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgIHRlc3RSdW5uZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKHRydWUpOwogICAgIHRlc3RS
dW5uZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0dWRlLCBtb2NrTG9uZ2l0
dWRlLCBtb2NrQWNjdXJhY3kpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtZ2VvbG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLWdlb2xvY2F0aW9uLmh0bWwKaW5kZXggM2JmZmE3N2EwZDNjYmNhNWJlZGU2
MGVhZTlhMWU5NmRjMDFlYTc3Mi4uNDg0NmFiNjQ3OGY1NDJkZjZmNzc3OGI0NDViOTg2MzI0M2Ew
YWQyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtZ2Vv
bG9jYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1n
ZW9sb2NhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KQEAgLTI4LDEyICsyOSw4IEBAIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CiB9LCBm
YWxzZSk7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7Ci0K
LSAgICAvLyBFbmFibGUgdGhlIFBhZ2VDYWNoZSBhbmQgbWFrZSB0aGlzIGFuIGFzeW5jIHRlc3Qu
Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICB9CiAKICAgICAvLyBBY2Nlc3MgZ2VvbG9jYXRpb24uIEl0
IGlzIGVub3VnaCB0byBjcmVhdGUgdGhlIGdlb2xvY2F0aW9uIG9iamVjdC4KICAgICBkZWJ1Zyhu
YXZpZ2F0b3IuZ2VvbG9jYXRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L3BhZ2UtY2FjaGUtaW5kZXhlZC1jbG9zZWQtZGIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQtY2xvc2VkLWRiLmh0bWwKaW5kZXggNmZkMDYwMTAx
MWY5ZDQyZmY1MWE2YmZiNmE1NzVkYWZhZWFmNzJmOC4uY2MwOTc2MTVmY2MwMWQyMmEyYjM2MTZi
ZDE4NmM0MDRjOTg3ODUxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtaW5kZXhlZC1jbG9zZWQtZGIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcGFnZS1jYWNoZS1pbmRleGVkLWNsb3NlZC1kYi5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9u
KCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgY2xvc2VkIEluZGV4ZWREQiBkYXRhYmFzZSBnb2Vz
IGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAK
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFn
ZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hl
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWlu
ZGV4ZWQtb3BlbmVkLWRiLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1pbmRleGVkLW9wZW5lZC1kYi5odG1sCmluZGV4IGRmZGRlNjZiODIyOWI3NTg0YWJhMDY1MzAx
MjNjYjA5YmE3Y2IyZmUuLjEzZjYxZDg4NjEwODNkMmU1OGNhNzUwYmFiZmIyMDUxMTRkMDJkZDEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLWluZGV4ZWQt
b3BlbmVkLWRiLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
aW5kZXhlZC1vcGVuZWQtZGIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhbiBvcGVuIEluZGV4ZWREQiBkYXRhYmFzZSBkb2VzIG5vdCBnbyBpbnRvIHRoZSBw
YWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwogICAgIGlm
ICghd2luZG93LnNlc3Npb25TdG9yYWdlLnBhZ2VfY2FjaGVfb3Blbl9pbmRleGVkZGJfdGVzdF9z
dGFydGVkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
bWVkaWEtc291cmNlLWNsb3NlZC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLTIuaHRtbAppbmRleCA4ODI4Mzk5OTk2MDk3NDAw
YWFlZWVjYTE0YjA3ODcwMTc1YmE1MmZlLi5kOGUzYzRmMzAzNWIzZWE1MTQ4MzE2ZmE0YWExNGUw
NmEzZTM2ZjM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1tZWRpYS1zb3VyY2UtY2xvc2VkLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2UtY2xvc2VkLTIuaHRtbApAQCAtMSwzICsxLDQgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNjcmlwdGlv
bignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGNsb3NlZCBNZWRpYVNvdXJjZSBnb2VzIGludG8g
dGhlIHBhZ2UgY2FjaGUuJyk7CiB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cg
LSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNv
dXJjZS1jbG9zZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1l
ZGlhLXNvdXJjZS1jbG9zZWQuaHRtbAppbmRleCBmNzdhZTVmYmMwMzJhOTJmMmExMGNjY2VjZTJk
MDhiNGRkNDFhY2E5Li44MThmMDI2NTJkODI4YzM5M2I0OWYwMWI3MDY2ZTJmMzBiOTJiZTY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3Vy
Y2UtY2xvc2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
bWVkaWEtc291cmNlLWNsb3NlZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEg
cGFnZSB3aXRoIGEgY2xvc2VkIE1lZGlhU291cmNlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4n
KTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ci
LCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVy
c2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLW9wZW5lZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbWVkaWEtc291cmNlLW9wZW5l
ZC5odG1sCmluZGV4IDIwODM5NmY4YWU1YWUwZDgzYmYxMzdjZDEzM2E3OTAwZWQ1ZjE4YWIuLjk1
NWFmOTViMmYxOTEzNjk5NjEwZWEyOTZjMmRmYTE5Y2FlMThmZTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW1lZGlhLXNvdXJjZS1vcGVuZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1tZWRpYS1zb3VyY2Utb3Bl
bmVkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC02LDkgKzcsNiBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBjbG9z
ZWQgTWVkaWFTb3VyY2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLicpOwogd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5Iiwg
MSk7Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50
KSB7CiAgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJu
b3QgIikgKyAiZnJvbSBjYWNoZSIpOwogICAgIGlmICghd2luZG93LnNlc3Npb25TdG9yYWdlLnBh
Z2VfY2FjaGVfb3Blbl9tZWRpYXNvdXJjZV90ZXN0X3N0YXJ0ZWQpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1uYXZpZ2F0ZS1kdXJpbmctcmVzdG9yZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbmF2aWdhdGUtZHVyaW5n
LXJlc3RvcmUuaHRtbAppbmRleCBjM2E2Y2VjNjRkYmEwZmQ3MDBiNjdkZDJiYTM0ZTAzY2U2YjJl
MTg2Li45Nzk2N2FlMzhhOWRmNzMyZWZjN2MxZmVkOGRiYjdmNGEyNWNiNWMwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1uYXZpZ2F0ZS1kdXJpbmctcmVz
dG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5hdmln
YXRlLWR1cmluZy1yZXN0b3JlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGJvZHk+CkBAIC05LDcgKzEwLDYgQEAKIDxzY3JpcHQ+CiAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuY2xlYXJCYWNrRm9y
d2FyZExpc3QoKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1ub24tc3VzcGVuZGFibGUuaHRt
bAppbmRleCA1ZDdmNWNhMWU2MmQ0ZjE0NTYzOGU0ZTA0Mjk3YzRmYWU1NTU2MjRhLi5hNjJlOTdi
NGM4Y2MyZGE5OWEzYmY4ZjdkY2Q4ZGZkNDQ1YTE4NWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tbm9uLXN1c3BlbmRhYmxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LW5vbi1zdXNwZW5kYWJsZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxib2R5PgpAQCAtNiwxMCArNyw4IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhIG5vdGlmaWNhdGlvbiB0aGF0IGlzIHNob3dpbmcgZG9lcyBub3QgZW50ZXIgcGFn
ZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsK
LX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rv
cnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sCmlu
ZGV4IDNmOGM0ZTUwMjFmMzEwM2E1YWExM2JmZWRhNjM0MGIxZWVlZjBiOTcuLjUxY2JhNWQ0YTAx
NTBmMzhkNWQyOGNiZjBkZWYxZjA1MjA2OTAzZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5k
YWJsZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpA
QCAtNiwxMCArNyw4IEBACiBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBub3RpZmljYXRpb25zIGRv
IG5vdCBwcmV2ZW50IHRoZSBQYWdlIGZyb20gZW50ZXJpbmcgcGFnZSBjYWNoZSBpZiB0aGV5IGFy
ZSBpZGxlIG9yIGNsb3NlZC4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CitpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rp
b24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/
ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1yZW1vdmVkLXNvdXJjZS1idWZmZXIuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJlbW92ZWQtc291cmNlLWJ1ZmZlci5odG1s
CmluZGV4IGUzYzEwY2ExZWQxNmMxYjJlZDdjM2U0MWNiZThiNGMyNDVkNTY1ZGMuLjBlMjhhY2Y1
NGE0OWI2MmFiNmRiMThiNTgxYmY3YTdhZTZlYzc0OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJlbW92ZWQtc291cmNlLWJ1ZmZlci5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJlbW92ZWQtc291cmNlLWJ1ZmZl
ci5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAt
Niw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgU291cmNlQnVmZmVyIHJlbW92
ZWQgZnJvbSBpdHMgTWVkaWFTb3VyY2UgZG9lcyBub3QgcHJldmVudCBhIFBhZ2UgZnJvbSBlbnRl
cmluZyBQYWdlQ2FjaGUnKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAt
ICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtcnVubmluZy1h
dWRpb2NvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXJ1
bm5pbmctYXVkaW9jb250ZXh0Lmh0bWwKaW5kZXggZWMyZmVlOTZmMDVmZWY0YmJkOTY1MDc0OGQ3
NjcyNjEyNWUwZTNhYS4uNzliNTI1NTZhZjBjNTMzNWEyYTA5MjJhYTRkNDgwMzcyZDBlNDM4NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtcnVubmluZy1h
dWRpb2NvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNo
ZS1ydW5uaW5nLWF1ZGlvY29udGV4dC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxib2R5PgpAQCAtNiw5ICs3LDYgQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0
IGEgcGFnZSB3aXRoIGEgcnVubmluZyBBdWRpb0NvbnRleHQgZG9lcyBub3QgZ28gaW50byB0aGUg
cGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtc3VzcGVuZGVkLWF1
ZGlvY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtc3Vz
cGVuZGVkLWF1ZGlvY29udGV4dC5odG1sCmluZGV4IDQ0ZjRjNjA1ZWMxMmNmNDMzZDJiNTEwM2Nh
ZGE0NjBlMWEwMjljMDcuLjMxNTQ0MDFjZTkzMjQ2MGUxZTA2ZjZiNjRmOGY2ZjhiMTBmZjZkYzMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXN1c3BlbmRl
ZC1hdWRpb2NvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS1zdXNwZW5kZWQtYXVkaW9jb250ZXh0Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAogZGVzY3JpcHRpb24oJ1Rlc3Rz
IHRoYXQgYSBwYWdlIHdpdGggYSBzdXNwZW5kZWQgQXVkaW9Db250ZXh0IGdvZXMgaW50byB0aGUg
cGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Ut
bm8tdHJhbnNhY3Rpb24tZGItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY2YzBhYmFjZDdjNGZmYTZhZGFhY2U2MGI2MjgwYmU3NGFlMDc4YzAuLjFkZDM2MzZhNzlk
MDUyNzczYTI0YThmNzI4MDJhOTA3NzE3MmQwODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRiLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRh
YmFzZS1uby10cmFuc2FjdGlvbi1kYi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdlYiBTUUwgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBJ
bmRleGVkREIgaW5zdGVhZC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogV2ViIFNRTCBpcyBk
ZXByZWNhdGVkLiBQbGVhc2UgdXNlIEluZGV4ZWREQiBpbnN0ZWFkLgogVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhbiBvcGVuIFdlYkRhdGFiYXNlIHdpdGggbm8gcGVuZGluZyB0cmFuc2FjdGlvbiBn
b2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNl
LW5vLXRyYW5zYWN0aW9uLWRiLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1j
YWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi5odG1sCmluZGV4IDcyZjZhNWZhMWI3
MjFkNjRmMGZlNmJjNmJiYWQ0MmVjMzhmNTk0MWIuLmE0ZjU2NTU1MDE3MmExYzE3NDgyN2IzNzg5
NDYxZDQ3YmMzZmJhMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdl
LWNhY2hlLXdlYmRhdGFiYXNlLW5vLXRyYW5zYWN0aW9uLWRiLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGIu
aHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFn
ZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYs
MTAgKzcsOCBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gb3BlbiBX
ZWJEYXRhYmFzZSB3aXRoIG5vIHBlbmRpbmcgdHJhbnNhY3Rpb24gZ29lcyBpbnRvIHRoZSBwYWdl
IGNhY2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
c1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICB0ZXN0UnVubmVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci19CiAKIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWcoInBhZ2VzaG93
IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJh
c2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Bh
Z2UtY2FjaGUtd2ViZGF0YWJhc2UtcGVuZGluZy10cmFuc2FjdGlvbi5odG1sCmluZGV4IGYzNGVi
NDI3Y2E2ODA4MWJlYWM0ZmY4MmE4ODU3Y2Q3YzQ3NjAyZmQuLjBlYWIyM2RmYjg3ODgyNTVjNmI3
ZTY3ZDM5YjE1MDI4MGU5NGE3NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlLWNhY2hlLXdlYmRhdGFiYXNlLXBlbmRpbmctdHJhbnNhY3Rpb24uaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1wZW5kaW5nLXRy
YW5zYWN0aW9uLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJv
ZHk+CkBAIC02LDEwICs3LDggQEAKIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRo
IGFuIG9wZW4gV2ViRGF0YWJhc2UgdGhhdCBoYXMgcGVuZGluZyB0cmFuc2FjdGlvbnMgZG9lcyBu
b3QgZ28gaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5jbGVhckFsbERhdGFiYXNlcygpOwotfQog
CiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIp
ICsgImZyb20gY2FjaGUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLXdpdGgtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcGFn
ZS1jYWNoZS13aXRoLW9wZW5lci5odG1sCmluZGV4IDIwOTg1ODE4OGM4NzIzZjNmMGUzYTUzY2Zk
OTlhMzM3ZDAyZjgwMDUuLmY4ZTQwZTQ2ZmJmMWVkMjc4NzhmYzdmZWZkNDA0Njk2NmEzY2E3NDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLXdpdGgtb3Bl
bmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2l0aC1v
cGVuZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4K
QEAgLTYsMTAgKzcsOCBAQAogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBwYWdlIHRoYXQgaGFz
IGEgd2luZG93IG9wZW5lciBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuIik7CiB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3MoKTsKLX0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlv
bigpIHsKICAgICBuZXdXaW5kb3cgPSBvcGVuKCJyZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ct
d2l0aC1vcGVuZXIuaHRtbCIsICJvbmUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aGlzdG9yeS9wYWdlaGlkZS1yZW1vdmUtaWZyYW1lLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvcGFnZWhpZGUtcmVtb3ZlLWlmcmFtZS1jcmFzaC5odG1sCmluZGV4IGM0Mjli
MzY0YmNiMzJiMTZkYWZmOTM1MTJmMTY4NjdiNjliNTk3NGEuLjVjYzUxNDNmY2ZlMGY2ZTRiZTky
ZjA1MzFmNzI5MjFkM2M5ZThmMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9wYWdlaGlkZS1yZW1vdmUtaWZyYW1lLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L3BhZ2VoaWRlLXJlbW92ZS1pZnJhbWUtY3Jhc2guaHRtbApAQCAtMSwzICsxLDQg
QEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4K
IDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOCArNyw2IEBACiA8c2NyaXB0
PgogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgd2UgZG8gbm90IGNyYXNoIHdoZW4gZGVsZXRpbmcg
YSBzdWJmcmFtZSBmcm9tIHRoZSBwYWdlaGlkZSBldmVudCBoYW5kbGVyLiIpOwoganNUZXN0SXNB
c3luYyA9IHRydWU7Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAK
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAg
ICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikg
KyAiZnJvbSBjYWNoZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3Jl
c291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLWlmcmFtZS5odG1s
CmluZGV4IGMzMzBlNGVlZDg2MGJjYjk2ZGM1ZjM0ODdkMDRhZWRjZWY5OWNhN2IuLmZkNjJiZDM4
Mjg2NjZhODc2YjBkZWUxY2I0YTVkMzIyYWRhNzc3ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0aC1pZnJhbWUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2lu
ZG93LXdpdGgtaWZyYW1lLmh0bWwKQEAgLTEsMTIgKzEsMTAgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8Ym9keT4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgogPGlmcmFtZSBzcmM9ImFib3V0OmJsYW5rIj48L2lmcmFtZT4KIDxzY3Jp
cHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWco
InBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBj
YWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvcmVzb3VyY2Vz
L3BhZ2UtY2FjaGUtd2luZG93LXdpdGgtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvcmVzb3VyY2VzL3BhZ2UtY2FjaGUtd2luZG93LXdpdGgtb3BlbmVyLmh0bWwKaW5kZXgg
NGI1ZGM3MTgxMjNhNmEyZGY5MDFiNmM3MjlhMjBjNmY5NjAxYTExNi4uYmE2MzAxMWYxMDAwNDcw
NGNiNWMzZjE2ZTRlMjg3ODcxOWIwNzZiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLXdpbmRvdy13aXRoLW9wZW5lci5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9yZXNvdXJjZXMvcGFnZS1jYWNoZS13aW5kb3ctd2l0
aC1vcGVuZXIuaHRtbApAQCAtMSwxMSArMSw5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJv
ZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
Ci0KIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7
CiAgICAgaWYgKCF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZGlkU3RhcnRQYWdlQ2FjaGVXaW5kb3dX
aXRoT3BlbmVyVGVzdCkgewogICAgICAgICBpZiAoZXZlbnQucGVyc2lzdGVkKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3RpbWVkLXJlZnJlc2gtaW4tY2FjaGVkLWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVmcmVzaC1pbi1jYWNoZWQt
ZnJhbWUuaHRtbAppbmRleCBmY2Q1MDljMDBkYThkNDFlMWZhY2YzMzcyYjJlNGZjYzI2YjhjMmFj
Li4yNDI4MDE2Y2E2NmM5MDY3YTMyMDEyMTdlNmM0ZjdmMGIyODQxOTQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVmcmVzaC1pbi1jYWNoZWQtZnJhbWUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvdGltZWQtcmVmcmVzaC1pbi1jYWNoZWQt
ZnJhbWUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxib2R5IG9ubG9hZD0icmVkaXJlY3QoKSI+CiA8IS0t
IE5lZWRzIHRvIHRha2UgdHdvIHNlY29uZHMsIGJlY2F1c2UgYSBmYXN0ZXIgcmVmcmVzaCB3b3Vs
ZCByZXN1bHQgaW4gbm90IGNyZWF0aW5nIGEgYi9mIGl0ZW0gZm9yIHRoZSBuYXZpZ2F0aW9uIC0t
PgogPGlmcmFtZSBzcmM9J2RhdGE6dGV4dC9odG1sLDxtZXRhIGh0dHAtZXF1aXY9IlJlZnJlc2gi
IGNvbnRlbnQ9IjI7IFVSTD1hYm91dDpibGFuayI+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsgd2luZG93Lm9ucGFnZWhpZGU9ZnVuY3Rpb24oZSl7YWxlcnQoJmFwb3M7cGFnZWhpZGUg
JmFwb3M7ICsgZS5wZXJzaXN0ZWQpfTsgfTwvc2NyaXB0Pic+PC9pZnJhbWU+CkBAIC02LDcgKzcs
NiBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9
CiAKIGZ1bmN0aW9uIHJlZGlyZWN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL2FuaW1hdGVkLWdpZi1yZXN0b3JlZC1mcm9tLWJmY2FjaGUuaHRtbAppbmRl
eCBhYjE0MzUxZWE4MjE3N2VhMWM5ODk4NTZmMmVjZDIyMTczNTBmMzUxLi44MjhiY2JhYWViYzQ3
OTA5OTA1YmRkODg3YTVjOTJkOTk4NGNkY2UzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9hbmltYXRlZC1naWYtcmVzdG9yZWQtZnJvbS1iZmNhY2hlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXJlc3RvcmVkLWZyb20tYmZjYWNoZS5o
dG1sCkBAIC0xLDggKzEsNyBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdl
Q2FjaGU9dHJ1ZSBdIC0tPgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLSAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0
KCkgewogICAgICAgICBpZiAod2luZG93LmludGVybmFscyAmJiB3aW5kb3cudGVzdFJ1bm5lcikg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZnJhbWVzLXdpdGgtdW5sb2Fk
LWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Zy
YW1lcy13aXRoLXVubG9hZC1oYW5kbGVycy1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggODI5Nzcz
MzgyODdmODk0NjllMTUyMzNjYzZmNTE3YjFlMjIwMDQ2Yi4uYjgxZjg3NzNhMjhlMzhkZTllYzU0
MmFhMGY5NmM2MDVmMmU1MTM3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
ZnJhbWVzLXdpdGgtdW5sb2FkLWhhbmRsZXJzLWluLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9mcmFtZXMtd2l0aC11bmxvYWQtaGFuZGxlcnMtaW4tcGFnZS1j
YWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+CkBAIC01LDcg
KzYsNiBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
CiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL2ltYWdlLWluLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL2ltYWdlLWluLXBhZ2UtY2FjaGUuaHRtbAppbmRleCBjNWIwMmViNjUyYjNlOGJh
ODUyNzI4OWZhN2UxZTAxZTIzNjcwZTA1Li43ZDQzMTAzYjMzMmMxYzNiOWVjNWZhNWNmMmNlZjEy
MDc5MTk0MzNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9pbWFnZS1pbi1w
YWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW1hZ2UtaW4tcGFn
ZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
bmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgpAQCAtMTAsNyArMTEsNiBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCQl0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIAkJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAJCXRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoKTsKLQkJdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAJfQogCiAJLy8gVGhpcyB0ZXN0
IG9wZW4gdHdvIHdpbmRvd3MuIE9uZSBwcmltYXJ5IHdpbmRvdyB3aWxsIGxvYWQgYW5pbWF0ZWQt
aW1hZ2UuaHRtbC4KQEAgLTY3LDQgKzY3LDQgQEAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
IDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2lucHV0LWVsZW1l
bnQtcGFnZS1jYWNoZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW5wdXQt
ZWxlbWVudC1wYWdlLWNhY2hlLWNyYXNoLmh0bWwKaW5kZXggZTM2ZGIyMGE0MzNmZGI2NWVlMTE2
ZDY2ZjI3YmVmZGI5MjczZjQ3Yi4uYzg2YjI1ODljZGUyNjM5ODUzZWVjMTZjN2MzYzMxN2M3ZWUy
NDc2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW5wdXQtZWxlbWVudC1w
YWdlLWNhY2hlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvaW5wdXQt
ZWxlbWVudC1wYWdlLWNhY2hlLWNyYXNoLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFk
PgogPHNjcmlwdD4KQEAgLTUsNyArNiw2IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogZnVuY3Rpb24gcnVuVGVzdCgpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9uYXZpZ2F0ZS13aXRoLW5ldy10YXJnZXQtYWZ0ZXIt
YmFjay1mb3J3YXJkLW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL25h
dmlnYXRlLXdpdGgtbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1s
CmluZGV4IDM1Y2NiMzRmZTdlOWE2NGFkODAwOWRiOGJkMjBjNDAwOGZhMjlhNDYuLmM1OGM3MjZk
MGM5YTM0ZTE4MzZjNjdmYWIyZGMzMjVjZTI0NjJlYzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQt
bmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdp
dGgtbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlvbi5odG1sCkBAIC0xLDMg
KzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBd
IC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOCw3ICs5LDYgQEAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAg
ICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2xv
c2VSZW1haW5pbmdXaW5kb3dzV2hlbkNvbXBsZXRlKCk7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAK
IGlmIChsb2NhdGlvbi5zZWFyY2ggPT0gJz90aGlyZCcpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtcG9zdC10by1uZXctdGFyZ2V0LWFmdGVyLWJh
Y2stZm9yd2FyZC1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9uYXZp
Z2F0ZS13aXRoLXBvc3QtdG8tbmV3LXRhcmdldC1hZnRlci1iYWNrLWZvcndhcmQtbmF2aWdhdGlv
bi5odG1sCmluZGV4IDA3NmQ5ZWI5NWY1MjM3YjYxMzk2YmE4MGU2MGJlYjc3MGRkYmJlMjQuLjJm
YzIzOTU0NDYzOWMxZjE2YzZmN2RkMDllNzI0ZDU0ZmNmNGI4YzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL25hdmlnYXRlLXdpdGgtcG9zdC10by1uZXctdGFyZ2V0LWFmdGVy
LWJhY2stZm9yd2FyZC1uYXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvbmF2aWdhdGUtd2l0aC1wb3N0LXRvLW5ldy10YXJnZXQtYWZ0ZXItYmFjay1mb3J3YXJkLW5h
dmlnYXRpb24uaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
ZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9k
eT4KQEAgLTgsNyArOSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsK
ICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSgpOwot
ICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJl
ZmVyZW5jZUtleSIsIDEpOwogfQogCiBpZiAobG9jYXRpb24uc2VhcmNoID09ICc/dGhpcmQnKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zY3JvbGwtcG9zaXRpb24tcmVz
dG9yZWQtb24tYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc2Nyb2xsLXBvc2l0
aW9uLXJlc3RvcmVkLW9uLWJhY2suaHRtbAppbmRleCA3M2Y1OGRmMWY2YmVjZjU3N2UyZDAwYmZl
YTQ3ZTFmODZkZWI4ZWM2Li43ODBlYzYwNDA5NTU0NjFjNGU2YzA3MWJhYTgzZGU4NTg2NmI1ZTU3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zY3JvbGwtcG9zaXRpb24tcmVz
dG9yZWQtb24tYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Njcm9sbC1w
b3NpdGlvbi1yZXN0b3JlZC1vbi1iYWNrLmh0bWwKQEAgLTEsMTMgKzEsMTIgQEAKKzwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPGhl
YWQ+CiA8c2NyaXB0PgotCiBmdW5jdGlvbiBuYXZpZ2F0ZSgpCiB7CiAgICAgaWYgKGxvY2F0aW9u
Lmhhc2ggPT0gIiIpIHsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL25vLXBvcHN0YXRl
LXdoZW4tYmFjay10by1zdGF0ZWxlc3MtZW50cnktd2l0aC1wYWdlLWNhY2hlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvbm8tcG9wc3RhdGUtd2hlbi1iYWNrLXRv
LXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA0NzYyY2E1ODU4NGEy
MzdiYTRmMmZmZDBlMjRiODYwYjIxM2FjMDVjLi5iYjA0NjBiMTE3NGRiM2I1Y2M4OTIyZTUxM2Q4
Nzc5ZjM1ZTQwMjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9i
amVjdHMvbm8tcG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2Ut
Y2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvbm8t
cG9wc3RhdGUtd2hlbi1iYWNrLXRvLXN0YXRlbGVzcy1lbnRyeS13aXRoLXBhZ2UtY2FjaGUuaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTExLDEw
ICsxMiw4IEBAIHZhciB0ZXN0V2luZG93OwogCiBvbmxvYWQgPSBmdW5jdGlvbigpCiB7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEp
OwotICAgIH0KICAgICB0ZXN0V2luZG93ID0gd2luZG93Lm9wZW4oJ3Jlc291cmNlcy9uby1wb3Bz
dGF0ZS13aGVuLWJhY2stdG8tc3RhdGVsZXNzLWVudHJ5LTEuaHRtbCcpOwogICAgIGlmICghdGVz
dFdpbmRvdykKICAgICAgICAgdGVzdEZhaWxlZCgnQ291bGQgbm90IG9wZW4gdGVzdCB3aW5kb3cn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wb3Bz
dGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3N0YXRlb2JqZWN0cy9wb3BzdGF0ZS1maXJlcy13aXRoLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA2
MWRmMDliMGE1NjAwYTBiNGM4YzkzZDllZWJiOTYwOTUxYTljMjM0Li41NDAzYzFmN2Q5NjhjNjMz
YjVlZjI1MzY0ZmNjODc3YTVmODFkZGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9zdGF0ZW9iamVjdHMvcG9wc3RhdGUtZmlyZXMtd2l0aC1wYWdlLWNhY2hlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3BvcHN0YXRlLWZpcmVzLXdp
dGgtcGFnZS1jYWNoZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxib2R5PgpAQCAtMTEsMTAgKzEyLDggQEAgdmFyIHRlc3RXaW5kb3c7CiAKIG9ubG9hZCA9IGZ1
bmN0aW9uKCkKIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQ
cmVmZXJlbmNlS2V5JywgMSk7Ci0gICAgfQogICAgIHRlc3RXaW5kb3cgPSB3aW5kb3cub3Blbign
cmVzb3VyY2VzL3BvcHN0YXRlLWZpcmVzLXdpdGgtcGFnZS1jYWNoZS0xLmh0bWwnKTsKICAgICBp
ZiAoIXRlc3RXaW5kb3cpCiAgICAgICAgIHRlc3RGYWlsZWQoJ0NvdWxkIG5vdCBvcGVuIHRlc3Qg
d2luZG93Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci91bnNjaGVkdWxl
LXJlbGF5b3V0LWFmdGVyLXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvdW5z
Y2hlZHVsZS1yZWxheW91dC1hZnRlci11bmxvYWQuaHRtbAppbmRleCBiODQxODhjMjA5ZTQ2Mzlj
Yjc2NzBkNmRmOTY4MjFmNDU1NDhiZmFjLi42OTJjNzA2ZWE0NGI3OWM0NWJjMmNmMzc5ZjBjM2Q1
NDIyNTBlMjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci91bnNjaGVkdWxl
LXJlbGF5b3V0LWFmdGVyLXVubG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3Vuc2NoZWR1bGUtcmVsYXlvdXQtYWZ0ZXItdW5sb2FkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRt
bD4KIDxib2R5PgogPHByZSBpZD0ibG9nIj48L3ByZT4KQEAgLTcsNyArOCw2IEBACiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogd2luZG93Lm9u
cGFnZXNob3cgPSBmdW5jdGlvbihldnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3dpbmRvdy1wcm9wZXJ0aWVzLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LXByb3BlcnRpZXMtcmVzdG9yZWQtZnJvbS1w
YWdlLWNhY2hlLmh0bWwKaW5kZXggNDJiMGU3ZmM4ODc3NjFiYjUzMTE1MWZjMzE2NzRjZjcyZWJk
MzhkZi4uOTM0MzVhNTE3NTlkNDc4ZTVhMWQwMzU2MTVmNTA1MDQ0MDQxZmEwZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LXByb3BlcnRpZXMtcmVzdG9yZWQtZnJv
bS1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LXBy
b3BlcnRpZXMtcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwKQEAgLTEsOCArMSw4IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2Ny
aXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAJdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiAJdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0JdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiB9CiAKIHZhciBj
YWNoZWRBcHBsaWNhdGlvbkNhY2hlID0gd2luZG93LmFwcGxpY2F0aW9uQ2FjaGU7CkBAIC0xMDcs
NCArMTA3LDQgQEAgd2luZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihldnQpIHsKIFRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgdmFyaW91cyBwcm9wZXJ0aWVzIG9uIHRoZSB3aW5kb3cgb2JqZWN0
IGFyZSBjb3JyZWN0bHkgcmVjb25uZWN0ZWQgYWZ0ZXIgcmVzdG9yaW5nIGEgcGFnZSBmcm9tIHRo
ZSBwYWdlIGNhY2hlLjxicj4KIDxkaXYgaWQ9Im91dHB1dERpdiI+PC9kaXY+PGJyPgogPGRpdiBp
ZD0iZXJyb3JEaXYiPjwvZGl2PgotPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvaG9yaXpvbnRh
bC1zY3JvbGwtYWZ0ZXItYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9ob3Jp
em9udGFsLXNjcm9sbC1hZnRlci1iYWNrLmh0bWwKaW5kZXggOGE2Nzk5YjBmNTBiMjMxNWEyMTE4
MzJjNThlOWMzNzA3Yzk5OWM2NC4uMTRhN2Q5YjA0NDMzMDkwNTkxNDE5ZWI2ZWE3YWFiMzEyNDg3
N2U5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9ob3Jpem9udGFsLXNj
cm9sbC1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9ob3Jp
em9udGFsLXNjcm9sbC1hZnRlci1iYWNrLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxzY3Jp
cHQ+CiAKQEAgLTI4LDcgKzI5LDYgQEAgZnVuY3Rpb24gcnVuVGVzdFN0ZXAoKQogICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgIH0KICAgICB3aW5kb3cuc2V0VGltZW91dCgibmF2aWdhdGVBd2F5QW5kQmFjaygpIiwgMjAw
KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lmcmFtZS1zY3Jv
bGxhYmxlLWFmdGVyLWJhY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lmcmFt
ZS1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbAppbmRleCA4NzUxMmRhOWQxMmM5NWNkOTcxNjQ0
NmMyNDQ5ZDdiN2JmYTQ4NGZmLi5mMDA2NWZkMzZmYWNjZDU5NDJjMDBkYjVhZDEwM2RhYjhiM2Zl
NGZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pZnJhbWUtc2Nyb2xs
YWJsZS1hZnRlci1iYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaWZy
YW1lLXNjcm9sbGFibGUtYWZ0ZXItYmFjay5odG1sCkBAIC0xLDUgKzEsNSBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0
bWw+Ci0KIDxodG1sPgogPGhlYWQ+CiAgICAgPHN0eWxlPgpAQCAtMjAsNyArMjAsNiBAQAogICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgZnVuY3Rp
b24gbG9nUmVzdWx0KHMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9p
b3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQtYWZ0ZXItcGFnZXNob3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC1hZnRl
ci1wYWdlc2hvdy5odG1sCmluZGV4IDBkOTZhNjcxYThjNzI1MGY0ZmZmM2Q3Yzk1M2NhMjQyYzY0
YTllODAuLjVhNmJkODliYWI0ZjA5M2E2ODU0NTBkMjg1Y2Y3ZGUwNTBlZDhlOWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9y
d2FyZC1hZnRlci1wYWdlc2hvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC1hZnRlci1wYWdlc2hvdy5odG1sCkBAIC0x
LDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtNDMsOSArNDQsNiBA
QCBmdW5jdGlvbiBvblBhZ2VTaG93KCkKIAogZnVuY3Rpb24gb25QYWdlTG9hZCgpCiB7Ci0gICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KICAgICAvLyBOYXZp
Z2F0ZSBpbiBhIHRpbWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNyZWF0ZSBhIGhpc3RvcnkgZW50cnku
CiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVm
ID0gJ3Jlc291cmNlcy9qdW1wLWJhY2suaHRtbCc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9pb3Mvc2Nyb2xsLWV2ZW50cy1iYWNrLWZvcndhcmQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC5odG1s
CmluZGV4IGFlYzc0Y2RkNmMwOTI2YWFkYWVkNzMzMzkxNjE4NTc5YjAxZjQ1ZmYuLmUyZjk4NjY4
NDM1ZTY5NWQzODdlNmYxMzY3MDg5OTJmMmViN2QzOWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2FyZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9zY3JvbGwtZXZlbnRzLWJhY2stZm9yd2Fy
ZC5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQ
YWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAt
NDAsOSArNDEsNiBAQCBmdW5jdGlvbiBvblBhZ2VTaG93KCkKIAogZnVuY3Rpb24gb25QYWdlTG9h
ZCgpCiB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgdGVzdFJ1bm5lci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0K
ICAgICAvLyBOYXZpZ2F0ZSBpbiBhIHRpbWVvdXQgdG8gbWFrZSBzdXJlIHdlIGNyZWF0ZSBhIGhp
c3RvcnkgZW50cnkuCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgIHdpbmRvdy5s
b2NhdGlvbi5ocmVmID0gJ3Jlc291cmNlcy9qdW1wLWJhY2suaHRtbCc7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsLWJhY2stZm9yd2FyZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL3RvdWNoLXNjcm9sbC1iYWNrLWZv
cndhcmQuaHRtbAppbmRleCAxZmJjMDgwYTNmMmUxMWJiZTgyMjMxZWVhOGMyNzk1ZjNiYzY5YmYx
Li4xMTY1NDQ3NTFmMTJjZDhkYjU2OWRhYjIyZDAyMGRjZDJlMjMyYTMwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3MvdG91Y2gtc2Nyb2xsLWJhY2stZm9yd2FyZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy90b3VjaC1zY3JvbGwtYmFj
ay1mb3J3YXJkLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10
cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRl
cm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIGVuYWJsZVBhZ2VDYWNoZT10
cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KQEAgLTQyLDkgKzQyLDYgQEAgZnVuY3Rpb24g
b25QYWdlU2hvdygpCiAKIGZ1bmN0aW9uIG9uUGFnZUxvYWQoKQogewotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiAgICAgLy8gTmF2aWdhdGUgaW4gYSB0
aW1lb3V0IHRvIG1ha2Ugc3VyZSB3ZSBjcmVhdGUgYSBoaXN0b3J5IGVudHJ5LgogICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdyZXNvdXJj
ZXMvanVtcC1iYWNrLmh0bWwnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvb3ZlcmZsb3ctc2Nyb2xsYWJsZS1hZnRlci1iYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbAppbmRleCBlMWE4
MWZmNzNiNWVjYWQxNzgwMjdlNWQ5NmJlNjhjYTFiMTM2MTc3Li4wN2UxMzVhOTIzMzFlMmE1Yjlk
NmM5ZWRiM2I3MTgyYjlhNDg1YTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9vdmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9vdmVyZmxvdy1zY3JvbGxhYmxlLWFmdGVyLWJhY2suaHRtbApAQCAt
MSw1ICsxLDUgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgotCiA8aHRtbD4KIDxoZWFkPgogICAgIDxzdHlsZT4K
QEAgLTIwLDcgKzIwLDYgQEAKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgIH0KICAg
ICAgICAgCiAgICAgICAgIGZ1bmN0aW9uIGxvZ1Jlc3VsdChzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcGFnZS1jYWNoZS1iYWNrLW92ZXJmbG93LXNjcm9sbC1yZXN0
b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wYWdlLWNhY2hlLWJhY2stb3Zl
cmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbAppbmRleCAxMGY3ODg2NTQ0OWQ1ZjgwZjZmOGI5YmEx
OTUzNTE1MzFiNjBjZWU2Li42OTE3NmE3ZTgyMzMyZWJkNjY0YjVjN2U0YTUyNDUyMWQ2NTZmNmZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9wYWdlLWNhY2hlLWJhY2st
b3ZlcmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9wYWdlLWNhY2hlLWJhY2stb3ZlcmZsb3ctc2Nyb2xsLXJlc3RvcmUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDxzdHlsZT4KICNwdWZmaW4gewogICAgIGZvbnQ6IEFoZW0gMTBweDsKQEAgLTIzLDcg
KzI0LDYgQEAKIDxzY3JpcHQ+CiB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOwotdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAKIHZhciB0ZXN0RGl2ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInB1ZmZpbiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9pb3MvdGV4dC1hdXRvc2l6aW5nLWFmdGVyLWJhY2suaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy90ZXh0LWF1dG9zaXppbmctYWZ0ZXIt
YmFjay5odG1sCmluZGV4IGFhODdlMjUyN2E1ZWM1ZjdjMjk0ZThhN2YzNTExOWFkMTAxODBiMWEu
LmU2MjFjODg1MGQyNmVkZWU4OTI3Mjc1ZGM4YzhlMTQ2Yzc4OGNhMDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy90ZXh0LWF1dG9zaXppbmctYWZ0ZXIt
YmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy90ZXh0
LWF1dG9zaXppbmctYWZ0ZXItYmFjay5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJs
ZVZpZXdwb3J0PXRydWUgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIAogPGh0bWw+CiA8aGVh
ZD4KQEAgLTE3LDEwICsxNyw4IEBACiAKICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIAogICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLSAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvaW9zL3ZpZXdwb3J0LXNocmlu
ay10by1maXQtb24tbmV3LW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3Bv
cnQvaW9zL3ZpZXdwb3J0LXNocmluay10by1maXQtb24tbmV3LW5hdmlnYXRpb24uaHRtbAppbmRl
eCBjNjdmOWJmOGM0Y2IwNzQxMTI4ZjAyYmNjZWJiZGFkODQyZmFkYzhmLi45YmIzZDlhODUwYjYz
ZjAxYzdiMTY1MGEzNmU0YTBmNmUyNTRjOTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1zaHJpbmstdG8tZml0LW9uLW5ldy1uYXZpZ2F0aW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC9pb3Mvdmlld3BvcnQtc2hyaW5rLXRv
LWZpdC1vbi1uZXctbmF2aWdhdGlvbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0
bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgc2hvdWxkSWdub3JlTWV0YVZpZXdwb3J0PXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHNob3Vs
ZElnbm9yZU1ldGFWaWV3cG9ydD10cnVlIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiAKIDxo
dG1sPgogPGhlYWQ+CkBAIC00Miw3ICs0Miw2IEBACiAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmln
YXRpb24gYmFjayB0byB0aGlzIHBhZ2UuCiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICAgICAgd2luZG93LmxvY2F0
aW9uLmhyZWYgPSAicmVzb3VyY2VzL2dvLWJhY2suaHRtbCI7CiAgICAgICAgIH0sIDApOwogICAg
IH0sIGZhbHNlKTsgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjgu
aHRtbAppbmRleCAxZTg2YWZiZDNiMTAxZjM2N2NkOGM4MGVkMTZhNWY0ZjkxNDI2YThhLi4zZmVi
MDBkOWE5ZTdkOTA2ZWJhOWM4MDlmY2I3MWZjM2ZjYTVmOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KICAgICA8
aGVhZD4KICAgICAgICAgPHRpdGxlPlZpZXdwb3J0IG1ldGEgZGF0YSBzdG9yZWQgaW4gcGFnZSBj
YWNoZS48L3RpdGxlPgpAQCAtOSw3ICsxMCw2IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gcGFn
ZXNob3coZXZ0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNw
bGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1hZ2UtbG9hZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNwbGF5LWltYWdlLXVuc2V0LWFsbG93cy1jYWNoZWQtaW1h
Z2UtbG9hZC5odG1sCmluZGV4IDA4ZDcwM2Q1MDRlYWE0NWIzZjRlZmZlZDBiNDdiNDc3ZTQ4MThm
ZDcuLmZmNTgxNWU4OTdjMTdlZjFmYWY1ODg5NGFlYTQxOGUyZWQ2NTc4M2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzcGxheS1pbWFnZS11bnNldC1hbGxvd3Mt
Y2FjaGVkLWltYWdlLWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc3BsYXktaW1hZ2UtdW5zZXQtYWxsb3dzLWNhY2hlZC1pbWFnZS1sb2FkLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KQEAgLTEwLDcgKzExLDYgQEAgZnVuY3Rp
b24gcnVuVGVzdCgpCiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVu
V2luZG93cygpOwotICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIAogICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxVUkU6IGltYWdlMS5odG1sIG5v
dCBsb2FkZWQnOwogICAgICAgICB3aW5kb3cub3BlbigicmVzb3VyY2VzL2ltYWdlMS5odG1sIiwg
Il9ibGFuayIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL21h
aW4tcmVzb3VyY2UtZGVsZWdhdGVzLW9uLWJhY2stbmF2aWdhdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMtb24t
YmFjay1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBhMjY4NDAyNDEwMDllN2FhNGZkZmM2
OGQ0ZGQ2MDc5ZmE3NTQwOTZlLi5kOGRkMmZiZWU3ZjkyYzZjMjk0NGJlNTJhNjljMWJhZWE3MTZj
NzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNv
dXJjZS1kZWxlZ2F0ZXMtb24tYmFjay1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0ZXMtb24tYmFj
ay1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTksOCArMTksNiBAQCBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRp
b24uaHRtbCAtCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9tYWluLXJlc291cmNlLWRl
bGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNV
UkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9tYWluLXJlc291cmNlLWRl
bGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCwgaHR0cCBzdGF0dXMgY29kZSAyMDA+CiBt
YWluIGZyYW1lIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
bG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCAt
IGRpZEZpbmlzaExvYWRpbmcKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JG
cmFtZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCiBtYWluIGZy
YW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCiBtYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGll
bnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMv
cGFnZS1nby1iYWNrLW9ubG9hZC5odG1sIAogbWFpbiBmcmFtZSAtIGRpZFN0YXJ0UHJvdmlzaW9u
YWxMb2FkRm9yRnJhbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGlu
Zy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNrLW5hdmlnYXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy9tYWluLXJlc291cmNlLWRlbGVnYXRlcy1vbi1iYWNr
LW5hdmlnYXRpb24uaHRtbAppbmRleCAwYjNlODViMzBkODg4OTQ4ODM1OTZjYzhlZTdiODcxZWRm
NGFmMmM2Li4wNDk0ODc1OWJjOTk0YWUzMmE2MWZhOWIyNGQ2ZDAwZDY1MTRjODliIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvbWFpbi1yZXNvdXJjZS1kZWxlZ2F0
ZXMtb24tYmFjay1uYXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9s
b2FkaW5nL21haW4tcmVzb3VyY2UtZGVsZWdhdGVzLW9uLWJhY2stbmF2aWdhdGlvbi5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtMzAsOSArMzEs
NiBAQCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncGFnZXNob3cnLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZl
cmVuY2VLZXkiLCBwYWdlQ2FjaGVFbmFibGVkKTsKLQogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CiAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWdvLWJh
Y2stb25sb2FkLmh0bWwiOwogICAgIH0sIDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbG9hZC1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxi
YWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbG9h
ZC1iYWNrLXRvLWNhY2hlZC1wYWdlLWNhbGxiYWNrcy5odG1sCmluZGV4IDA2MTk2OWFkOTkyN2Iy
YzZhMzljMDA4Mzk1MDg0NTBmOTdiOTIxMzIuLmNhNTc4OGUwNzgzMDM2NDRkYThmYzAxOGMzZmY2
ZWU4ODMwYmMzMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy91
bmZpbmlzaGVkLWxvYWQtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3MuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1sb2FkLWJhY2stdG8tY2Fj
aGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogCiB3aW5kb3cu
b25wYWdlc2hvdyA9IGZ1bmN0aW9uKGV2dCkgewpAQCAtMjUsNyArMjYsNiBAQCB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oZXZ0KSB7CiB9CiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwogfSBlbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvYWRpbmcvdW5maW5pc2hlZC1tYWluLXJlc291cmNlLWJhY2stdG8tY2FjaGVkLXBh
Z2UtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvYWRpbmcvdW5maW5p
c2hlZC1tYWluLXJlc291cmNlLWJhY2stdG8tY2FjaGVkLXBhZ2UtY2FsbGJhY2tzLmh0bWwKaW5k
ZXggYzk1OTU0YWVmY2FiODQyOTg0NjQxMTM1Y2M0ZTNiOWI0NDY0MGE5Zi4uZjJhYzY2YWQxZjY5
MGU0MTI2MTcwODFiZjM1NTc3NTJiMTZiNDZmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9sb2FkaW5nL3VuZmluaXNoZWQtbWFpbi1yZXNvdXJjZS1iYWNrLXRvLWNhY2hlZC1w
YWdlLWNhbGxiYWNrcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9hZGluZy91
bmZpbmlzaGVkLW1haW4tcmVzb3VyY2UtYmFjay10by1jYWNoZWQtcGFnZS1jYWxsYmFja3MuaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+CiAKIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVuY3Rpb24o
ZXZ0KSB7CkBAIC0yNSw3ICsyNiw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbihldnQpIHsK
IH0KIAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9
IGVsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvcmVsb2FkLWFm
dGVyLWRpYWxvZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0
ZXItZGlhbG9nLmh0bWwKaW5kZXggZmMwYjUwNjRkNzM5ZmUxNDRhNWZhM2JiZGQ0YWEwNWNjNDhk
MDdkMy4uM2ZlNjgwMGM4OGNlMDllZDkyOTEwNzZhZjViMDQyMTRlNDE0YWQ4MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9yZWxvYWQtYWZ0ZXItZGlhbG9nLmh0
bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgpAQCAt
OSw3ICsxMCw2IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJy
b3ItcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2st
dG8tZXJyb3ItcGFnZS5odG1sCmluZGV4IGNkNjFmYjhhZjcxNjQ0YjA1YjIyMjlhMzUxMzBmMWMy
MThhN2JhZjAuLjE4YmQxMzlkYTBlZmQ1NzE1ZmNmMWY0NWE2OGE1NzU5YThmODM0YzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9nby1iYWNrLXRvLWVycm9y
LXBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vZ28tYmFj
ay10by1lcnJvci1wYWdlLmh0bWwKQEAgLTEsNiArMSw2IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CiAgICAgdGVzdFJ1bm5lci5xdWV1ZUxvYWRIVE1MU3RyaW5nKCI8c2NyaXB0PmRvY3VtZW50
LndyaXRlKCc8ZGl2IGlkPXJlc3VsdD5GQUlMOiBUaGUgYWx0ZXJuYXRlIEhUTUwgc3RyaW5nIHdh
cyBjYWNoZWQsIGJ1dCBzaG91bGQgbm90IGhhdmUgYmVlbiBjYWNoZWQgZm9yIGFuIGVycm9yIHBh
Z2U8L2Rpdj4nKTs8XC9zY3JpcHQ+IiwgInJlc291cmNlcyIsICJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcGFnZS10cmVhdGVkLWFzLXVucmVhY2hhYmxlLmh0bWwi
KTsKICAgICB0ZXN0UnVubmVyLnF1ZXVlTG9hZCgicmVzb3VyY2VzL3BhZ2UtdG8tZ28tYmFjay1m
cm9tLmh0bWwiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9odHRwcy1pbi1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vaHR0cHMtaW4tcGFnZS1jYWNoZS5odG1sCmluZGV4IDM0YjlmNmVkNjU5MDdhM2I0MWFh
ZjliYTg1NDk3ZDBhMDY2NWY1MGQuLmVlZTliMjY4N2MzYmZjYWYwZDI0ZDRmOTY0ZTkyN2JjN2Yw
YTlhZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRw
cy1pbi1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2h0dHBzLWluLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+CiAKIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogfQogCiBpZiAo
bG9jYXRpb24ucHJvdG9jb2wgIT0gImh0dHBzOiIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vaHR0cHMtbm8tc3RvcmUtc3ViZnJhbWUtaW4tcGFnZS1jYWNo
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2h0dHBzLW5vLXN0b3Jl
LXN1YmZyYW1lLWluLXBhZ2UtY2FjaGUuaHRtbAppbmRleCA5MDcxYmEzZmE5NDg5MzFkMmI2NTFi
NTY4ZDM3MzU2MWVjNjcxMzU2Li45ODBmMjBiNjA2Nzk1MDFhNDQ0MzI4ZDU4MDc0ZTUwYzIyM2Yy
MDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vaHR0cHMt
bm8tc3RvcmUtc3ViZnJhbWUtaW4tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNhY2hl
Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBh
Z2VDYWNoZT10cnVlIF0gLS0+CiA8c2NyaXB0PgogCiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9pbWFnZS1sb2Fk
LWluLXBhZ2VoaWRlLWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9pbWFnZS1sb2FkLWluLXBhZ2VoaWRlLWhhbmRsZXIuaHRtbAppbmRleCA4YWJlMjExYjg5
ZWYyZjBlZmVlZDNkNDM5YWIwMTQ1MGI5ZGJkYzMyLi5mMDk4ZjE0MGM5Y2Q2NTk0ZDA3NTkyZTdh
MzZjOWVlZDliN2IyYWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vaW1hZ2UtbG9hZC1pbi1wYWdlaGlkZS1oYW5kbGVyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ltYWdlLWxvYWQtaW4tcGFnZWhpZGUtaGFuZGxlci5o
dG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdl
Q2FjaGU9dHJ1ZSBdIC0tPgogPGh0bWw+PGhlYWQ+CiA8dGl0bGU+SW1hZ2UgbG9hZCBpbiBwYWdl
aGlkZSBoYW5kbGVyPC90aXRsZT4KIDxzY3JpcHQ+CkBAIC04LDcgKzksNiBAQCBmdW5jdGlvbiB0
ZXN0KCkgewogICAgIGlmICghdGVzdENhbGxlZCkgewogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiwgMSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
ICAgICAgICAgfQogICAgICAgICB0ZXN0Q2FsbGVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWZyYWdtZW50LXJlZmVycmVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1mcmFn
bWVudC1yZWZlcnJlci5odG1sCmluZGV4IGZhMDE3NmYxNmY3Y2YwMmZlNjBlODA0ODY1MWEzNzNm
MzQ4OWVmNDAuLjAyNjdlNWRmYjMzYzU2NDg0M2RjNjAwMjUzMmMzNzZhN2Y0NTI5ZmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWZyYWdt
ZW50LXJlZmVycmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtZnJhZ21lbnQtcmVmZXJyZXIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2IEBAIGRlc2NyaXB0aW9uKCJBIGNh
Y2hlZCBwYWdlIHdpdGggYSBVUkwgZnJhZ21lbnQgc2hvdWxkbid0IHNlbmQgdGhlIGZyYWdtZW50
IGluIHRoCiAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuY2xlYXJC
YWNrRm9yd2FyZExpc3QoKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIAogICAgIHRlc3RSdW5uZXIucXVldWVMb2FkKCdyZXNvdXJjZXMvc3VjY2Vzcy5o
dG1sJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFn
ZS1jYWNoZS1pZnJhbWUtbm8tY3VycmVudC1oaXN0b3J5SXRlbS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLW5vLWN1cnJlbnQtaGlzdG9y
eUl0ZW0uaHRtbAppbmRleCBhYTBiZjRkODllZDliMzlmMDcwYjA3MjVhZTNmOWQyOTNlMDdiZmY4
Li5iYzg4NzY0NjBjY2EzMmUxMTI4MzczZDljOGU0NGFkYmNiOTlkOWNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtbm8tY3Vy
cmVudC1oaXN0b3J5SXRlbS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1uby1jdXJyZW50LWhpc3RvcnlJdGVtLmh0bWwKQEAgLTEs
MyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVl
IF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAog
ZGVzY3JpcHRpb24oIkEgZnJhbWUgd2l0aG91dCBjdXJyZW50IGhpc3RvcnkgaXRlbSBzaG91bGQg
bm90IHByZXZlbnQgcGFnZSBjYWNoaW5nLiIpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZGVidWco
InBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBj
YWNoZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1pZnJhbWUtcHJvdmlzaW9uYWwtbG9hZC1hc3luYy1kZWxlZ2F0ZXMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92
aXNpb25hbC1sb2FkLWFzeW5jLWRlbGVnYXRlcy5odG1sCmluZGV4IDRlM2QyZTA4YWFkMTg2ZmRm
MTg4NDAxZTZlZmUwMjk1NTllN2QyMTIuLjAzOGYwOGEyOTQ1N2E5NmIzYWVjMzU3Nzg2OTk1OGIy
ZTc4ZTNmMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
YWdlLWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLWFzeW5jLWRlbGVnYXRlcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1w
cm92aXNpb25hbC1sb2FkLWFzeW5jLWRlbGVnYXRlcy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOSw4ICsxMCw2IEBAIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIGlmICh0ZXN0UnVu
bmVyLnNldFNob3VsZERlY2lkZU5hdmlnYXRpb25Qb2xpY3lBZnRlckRlbGF5KQogICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U2hvdWxkRGVjaWRlTmF2aWdhdGlvblBvbGljeUFmdGVyRGVsYXkodHJ1
ZSk7Ci0KLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKIH0KIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBh
Z2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFtZS1wcm92aXNpb25hbC1sb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1pZnJhbWUtcHJv
dmlzaW9uYWwtbG9hZC5odG1sCmluZGV4IDllYjZhMTIzY2NiOGZiYjUxMTdjNThmOWQxZDYxMTBi
ZWViMDU0MWIuLjAxZjYzYmRhODQ0MjczYTUwNjE0MWYyMmQwMDFkYjUxMjQ5OGI2Y2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWlmcmFt
ZS1wcm92aXNpb25hbC1sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3BhZ2UtY2FjaGUtaWZyYW1lLXByb3Zpc2lvbmFsLWxvYWQuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBkZXNj
cmlwdGlvbigiQSBmcmFtZSBpbiBwcm92aXNpb25hbCBsb2FkIHN0YWdlIHNob3VsZCBwcmV2ZW50
IHBhZ2UgY2FjaGluZy4iKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAt
ICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
cGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBh
cnRpdGlvbi5odG1sCmluZGV4IGIxODNhMWNiZjZlOWZkOWJiZmFiZGEyN2RmMmViNWRhMDExODc0
MGQuLjQ4MGIxY2JmNjU3ZWQ4M2ZjZjVkNWExMzRmNzhjZjlhMWIzNTk5NTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1h
Z2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9u
Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBh
Z2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC03
LDkgKzgsNiBAQCBkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcg
aW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlICh3aQogd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwogaW50ZXJuYWxzLnNldHRpbmdzLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeSgnQmxv
Y2tUaGlyZFBhcnR5Jyk7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAx
KTsKLQogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQp
IHsKICAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJmcm9tIGNhY2hlIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2Fk
Lmh0bWwKaW5kZXggNTIwYjUyNmE1NzA1ZjkxODk3Y2FhOTY1Yjg4YzAzYmNkZDQ4OTQwMC4uNDU3
ZTIxNzNlNWU2MmJmYWNkZWVkNWVlOTA4OWI3NjQzNWYzYzkxYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2Fk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
cGVuZGluZy1pbWFnZS1sb2FkLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGJvZHk+CkBAIC02LDkgKzcsNiBAQAogZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBw
YWdlIHdpdGggYSBsb2FkaW5nIGltYWdlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKIHdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5j
dGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVk
ID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1waW5nLWxvYWQtY3Jv
c3Mtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1j
YWNoZS1wZW5kaW5nLXBpbmctbG9hZC1jcm9zcy1vcmlnaW4uaHRtbAppbmRleCBiNzM4NTM4MzRk
NWUyYzc4MDZlMGMzNGMwNDczN2JhNTk3YjIyYjg0Li4xM2IwZjkyY2E5NzVjZDFlZDQ0MzYzNTA2
YmVmMjAwMzIzOWI1MWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1jcm9zcy1vcmlnaW4uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBp
bmctbG9hZC1jcm9zcy1vcmlnaW4uaHRtbApAQCAtNiw5ICs2LDYgQEAKIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGEgcGFnZSB3aXRoIHBlbmRpbmcgcGluZyBsb2FkcyBjYW4gZW50ZXIgUGFnZUNh
Y2hlLicpOwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RS
dW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGxldCBhZnRlclBhZ2VDYWNoZVJlc3RvcmUgPSBm
YWxzZTsKIAogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZl
bnQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctcGluZy1sb2FkLXNhbWUtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLXBpbmctbG9hZC1zYW1lLW9y
aWdpbi5odG1sCmluZGV4IDY4MzJiMWUwNDlhZGMzMzI2YmJmYzYzMjdjNWJjODUzZWU5YTgzNTgu
LjA1N2ZjODk5NmFmYzQxYjcyYzM3MjY5YTkwNTdiMjYwN2QyNjUyOGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctcGluZy1s
b2FkLXNhbWUtb3JpZ2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1waW5nLWxvYWQtc2FtZS1vcmlnaW4uaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOSArNyw2IEBACiBk
ZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBwZW5kaW5nIHBpbmcgbG9hZHMgY2Fu
IGVudGVyIFBhZ2VDYWNoZS4nKTsKIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiBsZXQgYWZ0ZXJQYWdlQ2Fj
aGVSZXN0b3JlID0gZmFsc2U7CiAKIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIs
IGZ1bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLWluLXBhZ2VoaWRlLWV4
cGVjdGVkLnR4dAppbmRleCAwMWJmYTgwZDU3MmIxZjgyNWYzMzRjYWJhNmNjZTU0YjBmNmMyYmM2
Li41Y2I0MWM2ODk0M2E2NjI0NzQ1OTc4NDdhY2UwYTFkMDY3YjA1NzYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFnZWhp
ZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
YWdlLWNhY2hlLXhoci1pbi1wYWdlaGlkZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZXMvbG9hZC1hbmQtc3RhbGwuY2dpP25hbWU9bG9hZC1h
bmQtc3RhbGwuY2dpJnN0YWxsRm9yPTMmc3RhbGxBdD0wJm1pbWVUeXBlPXRleHQvcGxhaW4gZHVl
IHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMzogWE1M
SHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9s
b2FkLWFuZC1zdGFsbC5jZ2k/bmFtZT1sb2FkLWFuZC1zdGFsbC5jZ2kmc3RhbGxGb3I9MyZzdGFs
bEF0PTAmbWltZVR5cGU9dGV4dC9wbGFpbiBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgog
VGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcgWE1MSHR0cFJlcXVlc3QgZ29lcyBpbnRv
IHRoZSBwYWdlIGNhY2hlLgogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS14aHItaW4tcGFn
ZWhpZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hl
LXhoci1pbi1wYWdlaGlkZS5odG1sCmluZGV4IDdjMGJiNDQxNmVkOTQxMzc3Nzc3ZjA3Njk3Nzk4
NTgzZmVkOWZiYzAuLjBiMTEzMDFkNzZkZWJhZTQxNTM3YTEyMWUxZTUwNzNmNDdiOWQ5NWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXho
ci1pbi1wYWdlaGlkZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wYWdlLWNhY2hlLXhoci1pbi1wYWdlaGlkZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOCw5ICs5LDYgQEAgd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwogCiB2YXIgcmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gZmFsc2U7CiAKLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKLQogd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgICBkZWJ1ZygicGFnZXNob3cg
LSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hl
LXhoci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
eGhyLmh0bWwKaW5kZXggNGFkY2IzNjZlZDE1ZjQ5YTk4NmVjMGZmZjQ2Y2QyN2FlYTBhYjk0YS4u
NTIyZDc4NzE2MjczN2QwZGNjMmI0YzkyYTQ0MGJhMDNmMDE2ZDIwZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUteGhyLmh0bWwKQEAg
LTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10
cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC04LDkgKzksNiBA
QCB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CiAKIHZhciByZXN0b3JlZEZyb21QYWdlQ2Fj
aGUgPSBmYWxzZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwot
CiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewog
ICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIp
ICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTEucGhwIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hlLTEu
cGhwCmluZGV4IDBiMTk1MDE5NzkxOWQzZTdkMzI2YjVmYjQ5YjBiYTE4MWM4ZTI4Y2QuLmM2NWRl
OTUxZjFhODNmMGI0ZjczMzg0OTMyMzQ1YWNhNDQwNTI1NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0x
LnBocAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0
dHBzLWluLXBhZ2UtY2FjaGUtMS5waHAKQEAgLTMsOSArMyw2IEBAIGhlYWRlcigiY2FjaGUtY29u
dHJvbDogbm8tc3RvcmUiKTsKID8+CiA8c2NyaXB0PgogCi1pZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQ
cmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGZ1bmN0aW9uIG5leHRUZXN0KCkgewogCWlmICh3aW5kb3cu
c2Vzc2lvblN0b3JhZ2UuaHR0cHNfaW5fcGFnZV9jYWNoZV9zdGFydGVkKQogCQlkZWxldGUgd2lu
ZG93LnNlc3Npb25TdG9yYWdlLmh0dHBzX2luX3BhZ2VfY2FjaGVfc3RhcnRlZDsKQEAgLTMyLDQg
KzI5LDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogCiB9CiAKLTwvc2NyaXB0Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1pbi1wYWdlLWNhY2hl
LTIucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRw
cy1pbi1wYWdlLWNhY2hlLTIucGhwCmluZGV4IDQ1MzE2NGFjNzUwZjIxMGI5MDJhMzM0NjhmM2Ez
YjY0ZWQyZmM0NjAuLjE0MTdlNGM0MmUzMmExYjY2NTJlY2MxNTIyNWQ3ZWZlOGY0NDRkYWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0
cHMtaW4tcGFnZS1jYWNoZS0yLnBocAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMi5waHAKQEAgLTEsMTEgKzEsOCBA
QAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgog
PD9waHAKIGhlYWRlcigiY2FjaGUtY29udHJvbDogbm8tY2FjaGUiKTsKID8+CiA8c2NyaXB0Pgot
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIGZ1bmN0aW9uIG5l
eHRUZXN0KCkgewogCWlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuaHR0cHNfaW5fcGFnZV9jYWNo
ZV9zdGFydGVkKQogCQlkZWxldGUgd2luZG93LnNlc3Npb25TdG9yYWdlLmh0dHBzX2luX3BhZ2Vf
Y2FjaGVfc3RhcnRlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2h0dHBzLWluLXBhZ2UtY2FjaGUtMy5odG1s
CmluZGV4IGU2MzA1YTlmZThlYTM4ZmRkZTQ0NTFiZWVhMGI5YmVkZWZmMjI5ZTIuLjdkZmZmMjhi
NzcxZmIwYzAyNmVkM2VmYzYzZWI0YjQzNGRmMDFhZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtaW4tcGFnZS1jYWNoZS0zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRw
cy1pbi1wYWdlLWNhY2hlLTMuaHRtbApAQCAtMSw3ICsxLDUgQEAKKzwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVz
ZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7Ci0KIHdpbmRvdy5vbnBhZ2VzaG93ID0gZnVu
Y3Rpb24oZXZ0KSB7CiAJaWYgKCFldnQucGVyc2lzdGVkKQogCQlyZXR1cm47CkBAIC0xNyw0ICsx
NSw0IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKIAlzZXRUaW1lb3V0KCd3aW5kb3cu
bG9jYXRpb24gPSAiZ28tYmFjay5odG1sIicsIDApOwogfQogCi08L3NjcmlwdD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvaHR0cHMtbm8tc3RvcmUtc3ViZnJhbWUtaW4t
cGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291
cmNlcy9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNhY2hlLmh0bWwKaW5kZXggY2Mx
NGQ2NzUwY2JjZjJmZmIzZDJhZjEwMjRhNjNmNzI3YTQ4MmQ2ZC4uNjM2ZDExODZlYmI0Yzk2YWFi
ZmNkMzg4MGMyYTQyNmI2N2I2YmM5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNh
Y2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNl
cy9odHRwcy1uby1zdG9yZS1zdWJmcmFtZS1pbi1wYWdlLWNhY2hlLmh0bWwKQEAgLTEzLDkgKzEz
LDYgQEAgd2luZG93Lm9ucGFnZXNob3cgPSBmdW5jdGlvbihldnQpCiAKIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpCiB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiLCAxKTsKLQogICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuaHR0cHNfaW5fcGFnZV9j
YWNoZV9zdGFydGVkKSB7CiAgICAgICAgIGFsZXJ0KCJGQUlMOiBUaGUgcGFnZSB3YXMgcmVsb2Fk
ZWQgb24gYmFjay4gSXQgc2hvdWxkIE5PVCBoYXZlIGJlZW4uIik7CiAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9zdWJmcmFtZS1wYWdlaGlkZS1oYW5kbGVyLXN0YXJ0cy1sb2FkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFy
dHMtbG9hZC5odG1sCmluZGV4IDQzNmRmMDYyM2FmY2ZlY2E0NmM5OTUwNTNlOGEwMTQwNGRiOTZi
NGEuLmEzNDRlMjY3MTUyODg4YWU5YWE5YmE0OWQxMDk3M2E5NmY5YjFjYjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWJmcmFtZS1wYWdlaGlkZS1oYW5k
bGVyLXN0YXJ0cy1sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3N1YmZyYW1lLXBhZ2VoaWRlLWhhbmRsZXItc3RhcnRzLWxvYWQuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CkBA
IC03LDkgKzgsNiBAQCBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVu
IGEgbG9hZCBpcyBzdGFydGVkIGluIGEgc3ViZnJhbWUgb24gJwogd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwogdmFyIHRvdGFsTG9hZGVkID0gMDsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ci
LCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVy
c2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1YmZyYW1lLXBhZ2VoaWRlLWhhbmRsZXIt
c3RhcnRzLWxvYWQyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3Vi
ZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMtbG9hZDIuaHRtbAppbmRleCA5ZmQ1ZGM1NDVh
ZGE2ODUwZTNlYmZlMDA0Njk4MTEwYWNhYjM4NTU3Li5jM2MzNzU1NWIzYzA1NDUyNTIxODA3OWM4
NjQwMTM0MTM3ZWI0NGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxlci1zdGFydHMtbG9hZDIuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vc3ViZnJhbWUtcGFnZWhpZGUtaGFuZGxl
ci1zdGFydHMtbG9hZDIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CkBAIC03LDkgKzgsNiBAQCBkZXNjcmlwdGlvbigi
VGVzdHMgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIGEgbG9hZCBpcyBzdGFydGVkIGluIGEgc3Vi
ZnJhbWUgb24gJwogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogdmFyIHRvdGFsTG9hZGVk
ID0gMDsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRl
YnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZy
b20gY2FjaGUiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4taW5zZXJ0LXNjcmlwdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4taW5zZXJ0LXNj
cmlwdC5odG1sCmluZGV4IDE0ZDkzYzZhNDczMDk3YjUxMTM2ZDBjM2U5YTIxOWRlNGZkMDg1OTEu
LjExNjRiNzUwOTRkMTRiNGFiZjEyZWMwOGE3Y2MyOWZmYWIyYjVjZjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1vcGVuLWlu
c2VydC1zY3JpcHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Ny
b3NzLW9yaWdpbi13aW5kb3ctb3Blbi1pbnNlcnQtc2NyaXB0Lmh0bWwKQEAgLTEsMyArMSw0IEBA
Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC03LDEwICs4LDggQEAKIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGluc2VydGluZyBhIHNjcmlwdCBpbnRvIG5ld2x5IG9wZW5lZCB3aW5k
b3cgZG9lcyBub3QgYnlwYXNzIG9yaWdpbiBjaGVja3MuIik7CiBkZWJ1ZygiVGhpcyB0ZXN0IHBh
c3NlcyB1bmxlc3MgeW91IHNlZSBGQUlMIG1lc3NhZ2VzIGJlbG93Iik7CiBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKLSAgICB0ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsK
LX0KIAogd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIGxldCB3aW4gPSBvcGVuKCJh
Ym91dDpibGFuayIsICJvbmUiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1vcGVuLWphdmFzY3JpcHQtdXJsLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13aW5kb3ctb3Blbi1q
YXZhc2NyaXB0LXVybC5odG1sCmluZGV4IDIzMjIxYWIzZjVjNjJiMTQxMmIwNTIyNmVjYzM0ZDBm
MGQyZjMxYjIuLjI2NmJhOWNlOWNiMDMzNzA1MDhmMTdmMTFiMGM5NGVkODc4YWM3ZGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1vcGVuLWphdmFzY3JpcHQtdXJsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4td2luZG93LW9wZW4tamF2YXNjcmlwdC11cmwuaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTcsMTAgKzgsOCBA
QAogZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgaW5zZXJ0aW5nIGEgc2NyaXB0IGludG8gbmV3bHkg
b3BlbmVkIHdpbmRvdyBkb2VzIG5vdCBieXBhc3Mgb3JpZ2luIGNoZWNrcy4iKTsKIGRlYnVnKCJU
aGlzIHRlc3QgcGFzc2VzIHVubGVzcyB5b3Ugc2VlIEZBSUwgbWVzc2FnZXMgYmVsb3ciKTsKIGpz
VGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOwotfQogCiB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgbGV0IHdp
biA9IG9wZW4oImFib3V0OmJsYW5rIiwgIm9uZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9uYXZpZ2F0ZS13aGVuLXJlc3RvcmluZy1jYWNoZWQtcGFnZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9uYXZpZ2F0ZS13aGVuLXJlc3Rv
cmluZy1jYWNoZWQtcGFnZS5odG1sCmluZGV4IDk2ODY2NTk3ZmMyN2IyMjQ2ZmE4YmRhN2ZhYTI4
YWE1NjJiNWNhMGYuLjkwNTFkYjgyZWZlMTg1MmI1YmY0OTEwZGQ3ODFhYjgxNjZiYjQyZTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbmF2aWdhdGUtd2hlbi1y
ZXN0b3JpbmctY2FjaGVkLXBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L25hdmlnYXRlLXdoZW4tcmVzdG9yaW5nLWNhY2hlZC1wYWdlLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC02LDcgKzcsNiBAQAogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CiAgIHRlc3RSdW5uZXIuc2V0
Q2FuT3BlbldpbmRvd3MoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELWNsaWNrLWFuZC1mb3JtLXN1Ym1pc3Npb24tZnJvbS1pbmFj
dGl2ZS1kb213aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNz
LURFTklFRC1jbGljay1hbmQtZm9ybS1zdWJtaXNzaW9uLWZyb20taW5hY3RpdmUtZG9td2luZG93
Lmh0bWwKaW5kZXggMDM3NDMwYTVhYzI0ZDYwOGRhOGU2MjI4OGMyOWUwZDkzNTFhNTI0ZS4uMTMz
MTRlNjE3NWExOWFjODY0NWEwNGEzNjZiMGU0YzRlNDA1MGU1MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELWNsaWNrLWFuZC1mb3JtLXN1Ym1p
c3Npb24tZnJvbS1pbmFjdGl2ZS1kb213aW5kb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtY2xpY2stYW5kLWZvcm0tc3VibWlzc2lvbi1mcm9t
LWluYWN0aXZlLWRvbXdpbmRvdy5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgpAQCAtNyw3ICs4LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwogICAgIHRlc3RSdW5uZXIuc2V0UG9w
dXBCbG9ja2luZ0VuYWJsZWQoZmFsc2UpOwogICAgIHRlc3RSdW5uZXIuc2V0Q2xvc2VSZW1haW5p
bmdXaW5kb3dzV2hlbkNvbXBsZXRlKHRydWUpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWlu
YWN0aXZlLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cuaHRtbAppbmRleCBlNGJl
NGMxZDBiY2QwNDA2YmFlNTVhMDM1MmZiNjc3NDA0MWMxMDRmLi4yOTYxOTc2NTA0MWZmNWEzZjk2
ZTg2NDUwYjEwMDk1YzcxOTZmZjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3Jp
cHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBAIC04LDcgKzksNiBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CiAgICAgdGVzdFJ1
bm5lci5zZXRQb3B1cEJsb2NraW5nRW5hYmxlZChmYWxzZSk7CiAgICAgdGVzdFJ1bm5lci5zZXRD
bG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUodHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7
CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8t
aW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5o
dG1sCmluZGV4IDQ4MTc2MmE1NzkyOTU5Y2M2MmJmYmMzOTQ5NzI3OTc4NGM3NDE1NmQuLjZhM2Jk
MTgzNzU5NTJkNzE0MGVlZmNhMThiMzJmMGY1ZGExNzM5MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5h
Y3RpdmUtd2luZG93Mi1wc29uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24u
aHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZW5hYmxlUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb249dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbj10cnVlIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogPHNj
cmlwdD4KQEAgLTcsNyArNyw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RS
dW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tp
bmdFbmFibGVkKGZhbHNlKTsKICAgICB0ZXN0UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93
c1doZW5Db21wbGV0ZSh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13
aW5kb3cyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
c2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbAppbmRleCBlOWI3NWRmZDRk
ZWNhZTU3NDUwMjIzNjhhMzMxNjc0Y2M0YmI1NGRlLi44NGJjNWJlOTgzZmUwYjYzYzY1ZWI1Y2Ew
YWM2YzkwZWY4NjQ3Njg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWlu
amVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICB0ZXN0UnVubmVy
LnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsKICAgICB0ZXN0UnVubmVyLnNldENsb3Nl
UmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKLSAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3Qt
aW50by1pbmFjdGl2ZS13aW5kb3czLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzMuaHRtbApp
bmRleCBhZjI4MzhiZDU4MjFiYTg4OTY5NWY5ODFlMmJmZDFjZDBmMWZkMmM1Li44ZDZiZjJjMzJk
MTNlMzBjYWZiMjBmZThiZTI0YjdkMTE0ZjQ3OGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZl
LXdpbmRvdzMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1E
RU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzMuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTcsNyArOCw2IEBAIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsK
ICAgICB0ZXN0UnVubmVyLnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGZhbHNlKTsKICAgICB0ZXN0
UnVubmVyLnNldENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9jbG9zZWQtd2hlbi1lbnRlcmluZy1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC13aGVuLWVudGVyaW5nLXBhZ2UtY2Fj
aGUuaHRtbAppbmRleCAzYjM4ZGYwYTQwYjZlODg3MTcwOTFjODZkY2U1YzVjZWY0NWY0NjM0Li40
ZTcxNDNiNWY4ZWUwYTJhMTFkNGJjMGI5ZDhmMzhlZTQ0OGRkZjdlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlZC13aGVuLWVudGVy
aW5nLXBhZ2UtY2FjaGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2Nsb3NlZC13aGVuLWVudGVyaW5nLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsOCArNyw2IEBACiBk
ZXNjcmlwdGlvbigiVGVzdCB0aGF0IGFuIG9wZW4gV2ViU29ja2V0IGRvZXMgbm90IHByZXZlbnQg
YSBwYWdlIGZyb20gZW50ZXJpbmcgcGFnZSBjYWNoZS4iKTsKIAogd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOwotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogCiB2
YXIgd2FzUmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gZmFsc2U7CiB2YXIgcmVjZWl2ZWRFcnJvckV2
ZW50ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3N0b3Atb24tcmVzdW1lLWluLWVycm9yLWhhbmRsZXIuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3RvcC1vbi1yZXN1bWUtaW4t
ZXJyb3ItaGFuZGxlci5odG1sCmluZGV4IDdmMzM4Y2NiOTRlZjc2YTVkN2E3YzlhMGNkMzRjNGZm
M2E0NzUxYzIuLjRhYzIwYzAwM2U1NWI3YzM3YjRlZWZmZWI2NmI0MGY4NjkzZmNmNDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3RvcC1v
bi1yZXN1bWUtaW4tZXJyb3ItaGFuZGxlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3RvcC1vbi1yZXN1bWUtaW4tZXJyb3ItaGFuZGxlci5o
dG1sCkBAIC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdl
Q2FjaGU9dHJ1ZSBdIC0tPgogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxib2R5PgpAQCAtOCw4
ICs5LDYgQEAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgV2ViU29ja2V0IGNvcnJlY3RseSBoYW5k
bGVzIGJlaW5nIHN0b3BwZWQgaW4gdGhlIGVycm9yIGUKIHZhciB3YXNSZXN0b3JlZEZyb21QYWdl
Q2FjaGUgPSBmYWxzZTsKIAogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRV
c2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgewogICAgIGRlYnVnKCJwYWdlc2hvdyAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2NsaWVudC1hZGRl
ZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtYWRkZWQtdG8tY2xpZW50cy13
aGVuLXJlc3RvcmVkLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDYyYmQ2Mjk0MTg5MGY5MTY5
NmM5Y2IyMzIyYmUyMjZlNTlhNTc2YTAuLjViYjBiZWUxZjgxOWY4MWIxN2FmZmM5MWYzZjdhMWQ1
NGMxZjNmOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL2NsaWVudC1hZGRlZC10by1jbGllbnRzLXdoZW4tcmVzdG9yZWQtZnJvbS1wYWdlLWNhY2hl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY2xpZW50
LWFkZGVkLXRvLWNsaWVudHMtd2hlbi1yZXN0b3JlZC1mcm9tLXBhZ2UtY2FjaGUuaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8Ym9keT4KQEAgLTYsMTAgKzcsOCBA
QAogbG9nKCIqIFRlc3RzIHRoYXQgYSBjbGllbnQgaXMgcmUtYWRkZWQgdG8gdGhlIGxpc3Qgb2Yg
c2VydmljZSB3b3JrZXIgY2xpZW50cyB3aGVuIGl0IGlzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2Ug
Y2FjaGUiKTsKIGxvZygiIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0gIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOwotfQogCiBsZXQgdHJpZXMgPSAwOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMtd2hp
bGUtaW4tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2UvY2xpZW50LXJlbW92ZWQtZnJvbS1jbGllbnRzLXdoaWxlLWluLXBhZ2UtY2FjaGUuaHRt
bAppbmRleCBiMTA5MTlhYzczZDA3MmJmNzZjZmExNWMzMmE3NjhjMmM2MWUxMjc0Li5iZWMxMWVh
OTExODgxZThhZWMwZTcwNmQ4MDRiNTlkZTgzYjViYzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9jbGllbnQtcmVtb3ZlZC1mcm9tLWNsaWVudHMt
d2hpbGUtaW4tcGFnZS1jYWNoZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL2NsaWVudC1yZW1vdmVkLWZyb20tY2xpZW50cy13aGlsZS1pbi1wYWdlLWNh
Y2hlLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGJvZHk+CkBA
IC02LDEwICs3LDggQEAKIGxvZygiKiBUZXN0cyB0aGF0IGEgY2xpZW50IGlzIHJlbW92ZWQgZnJv
bSB0aGUgbGlzdCBvZiBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIHdoaWxlIGl0IGlzIGluIHRoZSBw
YWdlIGNhY2hlIik7CiBsb2coIiIpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOwotICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiLCAxKTsKLX0KIAogbGV0IHRvcENsaWVudElkZW50aWZpZXIgPSBudWxsOwogbGV0IHdp
bmRvd0NsaWVudElkZW50aWZpZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvYmVhY29uL3N1cHBvcnQvc2VuZEJlYWNvbi1vbnBhZ2VoaWRlLXdpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvYmVhY29uL3N1cHBvcnQvc2VuZEJlYWNvbi1vbnBhZ2VoaWRl
LXdpbmRvdy5odG1sCmluZGV4IGJhMTMxNzY5ZDZkMTlmMGViMmFhN2ZjMDBmYzgwZDJlNDFiOTg0
NzAuLmNiZTE5NTA5YzU2ZGRkYWMwNDZmNmRhNzVkNDQwZWE5ZjVlNWQyYzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L2JlYWNvbi9zdXBwb3J0L3NlbmRCZWFjb24tb25wYWdlaGlk
ZS13aW5kb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9iZWFjb24vc3VwcG9ydC9z
ZW5kQmVhY29uLW9ucGFnZWhpZGUtd2luZG93Lmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+CkBAIC02LDkgKzcsNiBAQAogPHNjcmlwdD4KIGNvbnN0IFJF
U09VUkNFU19ESVIgPSAiL2JlYWNvbi9yZXNvdXJjZXMvIjsKIHZhciBpZCA9IHNlbGYudG9rZW4o
KTsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2xlZ2FjeS1hbmltYXRp
b24tZW5naW5lL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91
dFRlc3RzL2xlZ2FjeS1hbmltYXRpb24tZW5naW5lL2FuaW1hdGlvbnMvcmVzdW1lLWFmdGVyLXBh
Z2UtY2FjaGUuaHRtbAppbmRleCBkMGU3OWQ4NzU2NTQ3NWZjMjlmYTg0ZjEzZTk5MWQyMTM1ZjQ4
YjdiLi5kZWQzODc1NmYxZTcwMWM2MjcyNGZkZTcxYjg4YjQxMTUyMzY3ZDk3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9sZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL3Jlc3VtZS1h
ZnRlci1wYWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbGVnYWN5LWFuaW1hdGlvbi1l
bmdpbmUvYW5pbWF0aW9ucy9yZXN1bWUtYWZ0ZXItcGFnZS1jYWNoZS5odG1sCkBAIC0xLDQgKzEs
NCBAQAotPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViQW5pbWF0aW9u
c0NTU0ludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBleHBlcmltZW50YWw6V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZD1mYWxz
ZSBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPHN0eWxlPgogQC13ZWJraXQta2V5ZnJhbWVz
IGJvdW5jZSB7CiAgICAgZnJvbSB7CkBAIC0yNiw3ICsyNiw2IEBAIHZhciBoYXNOYXZpZ2F0ZWQg
PSBmYWxzZTsKIGZ1bmN0aW9uIHNhd0l0ZXJhdGlvbihldmVudCkgewogICAgIGlmIChoYXNOYXZp
Z2F0ZWQpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKS5pbm5l
clRleHQgPSAiUEFTUzogU2F3IGl0ZXJhdGlvbiBhZnRlciBuYXZpZ2F0aW9uIjsKLSAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIsIDApOwogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAg
ICB9CiB9CkBAIC00Myw3ICs0Miw2IEBAIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgd2luZG93LnRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIs
IDEpOwogfQogCiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHN0YXJ0VGVzdCwgZmFs
c2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2stY2FjaGVkLW1haW4t
cmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2xvYWRlci9nby1iYWNrLWNhY2hlZC1tYWluLXJl
c291cmNlLmh0bWwKaW5kZXggNzUzZDViMDE3ZWJkZTA3NzYzMDdmZmRjNzhjMjgyODM0NmEzNDRj
MS4uOTg0ZjY0MDZhOTA2MzJjZjA4NjQxMDI1ODAzOTU3YTNjODUzYmZkYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2stY2FjaGVkLW1haW4tcmVzb3VyY2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFjay1jYWNoZWQtbWFpbi1yZXNvdXJjZS5odG1sCkBA
IC0xLDMgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4KICAgICA8dGl0bGU+VGVzdCByZXNvdXJjZSBsb2Fk
IGNhbGxiYWNrcyBnb2luZyBiYWNrIHRvIGEgY2FjaGVkIG1haW4gcmVzb3VyY2U8L3RpdGxlPgpA
QCAtNyw3ICs4LDYgQEAKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkQ2FsbGJh
Y2tzKCk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0K
IAogICAgIC8vIFdpbmRvdyB3ZSB3aWxsIGJlIGNvbnRyb2xsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbG9hZGVyL2dvLWJhY2stdG8tZGlmZmVyZW50LXdpbmRvdy1zaXplLmh0bWwgYi9M
YXlvdXRUZXN0cy9sb2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbApp
bmRleCA4YWMzYWIzYzhiNTgwNjc3ZmRiN2Q2NWFiZGRkZmUzNzE3MTk1NzAzLi41ODQzZTdmNThi
MWY4NjBhYzdmZTZkODBkZWYwNWM5OWM5ODU5MzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9s
b2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9sb2FkZXIvZ28tYmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbApAQCAtMSwz
ICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUg
XSAtLT4KIDxodG1sPgogPHNjcmlwdD4KIApAQCAtMjksNyArMzAsNiBAQCBmdW5jdGlvbiBydW5U
ZXN0U3RlcCgpIHsKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwogICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZl
cmVuY2VLZXkiLCAxKTsKICAgICB9CiAgICAgd2luZG93LnJlc2l6ZVRvKDMwMCwgMzAwKTsKICAg
ICAvLyBXYWl0IGEgYml0IGJlZm9yZSBuYXZpZ2F0aW5nIGF3YXkgdG8gbWFrZSBzdXJlIHdlIGhh
dmUgZG9uZSBsYXlvdXQgZHVlIHRvIHRoZSByZXNpemluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL2NyYXNoLWNsb3NpbmctcGFnZS13aXRoLW1lZGlhLWFzLXBsdWdpbi1mYWxsYmFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gtY2xvc2luZy1wYWdlLXdpdGgtbWVkaWEt
YXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwKaW5kZXggODk0Yzg3NDI0N2Y0OGMwODA4OGIyNjExZDI0
M2EwNmJkN2Q5OWI4ZS4uODE5NTkxZWRiZTUzMDI0ZmQwMjkzYjQyNDM1ZGJiMmEyOGUxNjEyNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gtY2xvc2luZy1wYWdlLXdpdGgtbWVk
aWEtYXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvY3Jhc2gt
Y2xvc2luZy1wYWdlLXdpdGgtbWVkaWEtYXMtcGx1Z2luLWZhbGxiYWNrLmh0bWwKQEAgLTEsMyAr
MSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0g
LS0+CiA8c2NyaXB0PgogdmFyIGNoaWxkV2luZG93OwogPC9zY3JpcHQ+CkBAIC0xMiw3ICsxMyw2
IEBAIElmIGl0IGRvZXNuJ3QgY3Jhc2gsIGl0IHBhc3Nlcy48YnI+CiBpZiAod2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1ZSk7CiAg
ICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cyh0cnVlKTsKICAgICB0ZXN0UnVubmVyLnNl
dENsb3NlUmVtYWluaW5nV2luZG93c1doZW5Db21wbGV0ZSh0cnVlKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3Jlc3RvcmUtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9yZXN0b3JlLWZyb20tcGFnZS1jYWNoZS5odG1sCmluZGV4IDVjMTQ1NGM5NmVjYTQ1
NzMxNWZiMDZlMDAzNjNlNjFmNDA1ZWYyM2UuLmU5NTA1MTgzMmI2MmI1NmQ1OWE0ZDQ5NmZkOTQw
OTQ4NjE4ZWMzODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3Jlc3RvcmUtZnJvbS1w
YWdlLWNhY2hlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvcmVzdG9yZS1mcm9tLXBhZ2Ut
Y2FjaGUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c2Ny
aXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgpAQCAtOSw3ICsxMCw2IEBACiAgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgZnVuY3Rpb24gcGFnZXNob3coZXZ0KSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFjay1mb3J3YXJkLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvaW9zL2ZpeGVkL2ZpeGVkLWJhY2stZm9yd2FyZC5odG1sCmluZGV4IDdh
Nzc4ZjkyYWY0Nzk4N2NhNTk1MTRjMjlkMTU2NTRiODc0ZTg3YjcuLmQwNjQwNDMzZDBiNmQxOTAw
MTdlYWZlMDUwMWVkYWZlOGZlYWNhZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9pb3MvZml4ZWQvZml4ZWQtYmFjay1mb3J3YXJkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2lvcy9maXhlZC9maXhlZC1iYWNrLWZvcndhcmQuaHRtbApAQCAtMSwzICsx
LDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAt
LT4KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KQEAgLTM1LDkgKzM2LDYgQEAgZnVu
Y3Rpb24gb25QYWdlSGlkZSgpCiAKIGZ1bmN0aW9uIG9uUGFnZUxvYWQoKQogewotICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwotCiAgICAgLy8gTmF2aWdhdGUg
aW4gYSB0aW1lb3V0IHRvIG1ha2Ugc3VyZSB3ZSBjcmVhdGUgYSBoaXN0b3J5IGVudHJ5LgogICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdy
ZXNvdXJjZXMvanVtcC1iYWNrLmh0bWwnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lu
cy9jcmFzaC1yZXN0b3JpbmctcGx1Z2luLXBhZ2UtZnJvbS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4tcGFnZS1mcm9tLXBhZ2UtY2Fj
aGUuaHRtbAppbmRleCAyOWVjY2Y4OTI3YzIwZTU4NDZjNmE4NWM2YjAwMjE5YjY5ODBmNmRlLi42
Zjg4NGYzNTZjODcwMDY3NjQwZjAxNDJjOGU1NGJlMTVjYTRjOTMwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4tcGFnZS1mcm9tLXBhZ2UtY2Fj
aGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2NyYXNoLXJlc3RvcmluZy1wbHVnaW4t
cGFnZS1mcm9tLXBhZ2UtY2FjaGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKKzwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHNjcmlwdD4K
IGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFBhZ2VDYWNoZVN1cHBvcnRz
UGx1Z2lucyh0cnVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFt
ZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNl
dC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCmluZGV4IDRiYjUzMmZmMDUyYjlkMDE1ZjdhZWI2YTgw
ZTE0NjU4NWJmZDEyMjcuLmNhODViZGNiNjI5NzBkOTc3NmVjMzE4YmQyOTAxMjU2Y2I1ZGJkYTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJh
bWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZy
YW1lLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KIDxodG1sPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRGcmFtZUZsYXR0ZW5pbmcoIkZ1bGx5RW5hYmxlZCIpCi0gICAgICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5z
KHRydWUpOwogICAgIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lu
cy9uZXRzY2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13b3Jrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1
Z2lucy9uZXRzY2FwZS1wbHVnaW4tcGFnZS1jYWNoZS13b3Jrcy5odG1sCmluZGV4IGUxNjY2YWZi
ZmRhMGQxY2MzMDllNDkxZDQ5MWRhOTZlOWY5MjQ4MTUuLjRmODIzNDE3NmMwYmNjZmZlMjUzMjdj
M2ZmZTMwN2IyYTIzYWExMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2Nh
cGUtcGx1Z2luLXBhZ2UtY2FjaGUtd29ya3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLXBsdWdpbi1wYWdlLWNhY2hlLXdvcmtzLmh0bWwKQEAgLTEsOSArMSw5IEBACis8
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8aHRt
bD4KIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRQYWdl
Q2FjaGVTdXBwb3J0c1BsdWdpbnModHJ1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N3aXBlL2Jhc2ljLWNhY2hlZC1iYWNrLXN3aXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9i
YXNpYy1jYWNoZWQtYmFjay1zd2lwZS5odG1sCmluZGV4IDg3MWEyYmM2NDZiOGQ0YWU4Njk0NjM3
ZTgwMDNhM2I0YjMyNDVhNmIuLjY1NjViMDc4ZDBkNDU0ZTQ3YTMxYmY1NDgxYmRlNjkzYzAxZDhl
ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL2Jhc2ljLWNhY2hlZC1iYWNrLXN3aXBl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3dpcGUvYmFzaWMtY2FjaGVkLWJhY2stc3dpcGUuaHRt
bApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNh
Y2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC01OCw3ICs1OSw2IEBA
IHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFs
bERpZEVuZFN3aXBlQ2FsbGJhY2soZGlkRW5kU3dpcGVDYWxsYmFjayk7CiAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhkaWRSZW1vdmVTd2lw
ZVNuYXBzaG90Q2FsbGJhY2spOwogCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAKQEAgLTczLDQgKzczLDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvbWFpbi1mcmFtZS1waW5u
aW5nLXJlcXVpcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZyYW1lLXBpbm5p
bmctcmVxdWlyZW1lbnQuaHRtbAppbmRleCBhMzY5YjgyMWI5ZDljMmUwMzc4ZGY2MjcyZWQwMTlm
NTJhZTJlYWI5Li5jODFmM2U2NGRmNDNhNjBmZjJmMGMwODIzNWMwODczNTY2ZWZjZjc0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZyYW1lLXBpbm5pbmctcmVxdWlyZW1lbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zd2lwZS9tYWluLWZyYW1lLXBpbm5pbmctcmVxdWlyZW1l
bnQuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxl
UGFnZUNhY2hlPXRydWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC04MSw3ICs4
Miw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHRlc3RSdW5uZXIu
aW5zdGFsbERpZEVuZFN3aXBlQ2FsbGJhY2soZGlkRW5kU3dpcGVDYWxsYmFjayk7CiAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbERpZFJlbW92ZVN3aXBlU25hcHNob3RDYWxsYmFjayhkaWRSZW1v
dmVTd2lwZVNuYXBzaG90Q2FsbGJhY2spOwogCi0gICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAKQEAgLTEwMCw0ICsxMDAsNCBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkg
ewogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJsYXJnZSIgc3R5bGU9IndpZHRoOiAyMDAwcHg7
IGhlaWdodDogMjAwMHB4OyI+PC9kaXY+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaFN0YXRlLWNh
Y2hlZC1iYWNrLXN3aXBlLmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoU3RhdGUtY2FjaGVk
LWJhY2stc3dpcGUuaHRtbAppbmRleCA5YThkYzlkN2Q5YTEwODg3NTkyNWVlNGQyODk5N2U1Mzg2
MmUzODcwLi5hMDExOWYxNjMzMWM2YjUwNDc1ZDdmZGQ2MzBlYmU4ZDI3OTA4ZTE2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoU3RhdGUtY2FjaGVkLWJhY2stc3dpcGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoU3RhdGUtY2FjaGVkLWJhY2stc3dpcGUuaHRtbApA
QCAtMSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hl
PXRydWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC02Myw3ICs2NCw2IEBAIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkRW5k
U3dpcGVDYWxsYmFjayhkaWRFbmRTd2lwZUNhbGxiYWNrKTsKICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxEaWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2soZGlkUmVtb3ZlU3dpcGVTbmFwc2hvdENh
bGxiYWNrKTsKIAotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2Vz
UGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCkBAIC04Myw0ICs4Myw0IEBAIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgot
PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1wcm9ncmFtbWF0aWMtYmFjay13aGlsZS1zd2lw
aW5nLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lwZS9wdXNoU3RhdGUtcHJvZ3JhbW1hdGlj
LWJhY2std2hpbGUtc3dpcGluZy1jcmFzaC5odG1sCmluZGV4IDNmODdhMDM5ZWU3YTkzY2I2NGEy
ZjBlNjVkNTBjYmEwOTcwNDZjYzAuLjAyZmQ0NGU0MWVjMWYzYTFmMTRkMGMxMDAzMzBlMTRhZTI0
YWJhODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N3aXBlL3B1c2hTdGF0ZS1wcm9ncmFtbWF0
aWMtYmFjay13aGlsZS1zd2lwaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3dpcGUv
cHVzaFN0YXRlLXByb2dyYW1tYXRpYy1iYWNrLXdoaWxlLXN3aXBpbmctY3Jhc2guaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC05Niw3ICs5Nyw2IEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAKICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRCZWdp
blN3aXBlQ2FsbGJhY2soZGlkQmVnaW5Td2lwZUNhbGxiYWNrKTsKIAotICAgIHRlc3RSdW5uZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEp
OwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOwogCkBAIC0xMTYsNCArMTE2LDQgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgp
IHsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3dpcGUvcHVzaHN0
YXRlLXdpdGgtbWFudWFsLXNjcm9sbHJlc3RvcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zd2lw
ZS9wdXNoc3RhdGUtd2l0aC1tYW51YWwtc2Nyb2xscmVzdG9yYXRpb24uaHRtbAppbmRleCAzZWYy
OGE5MjU0ZGM1OGU1NjQ3OWE4MDgwYTc3MTJkNzZhMDRhMWM2Li4xZjFkN2FlMDc3MDRkNTljMmVk
ZmRjMzUxYWRjM2M5M2VhNTEwZjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zd2lwZS9wdXNo
c3RhdGUtd2l0aC1tYW51YWwtc2Nyb2xscmVzdG9yYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zd2lwZS9wdXNoc3RhdGUtd2l0aC1tYW51YWwtc2Nyb2xscmVzdG9yYXRpb24uaHRtbApAQCAt
MSwzICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRy
dWUgXSAtLT4KIDxoZWFkPgogPHN0eWxlPgogaHRtbCB7CkBAIC00Myw3ICs0NCw2IEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkRW5kU3dp
cGVDYWxsYmFjayhkaWRFbmRTd2lwZUNhbGxiYWNrKTsKICAgICB0ZXN0UnVubmVyLmluc3RhbGxE
aWRSZW1vdmVTd2lwZVNuYXBzaG90Q2FsbGJhY2soZGlkUmVtb3ZlU3dpcGVTbmFwc2hvdENhbGxi
YWNrKTsKIAotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFn
ZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogCkBAIC01Nyw0ICs1Nyw0IEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiA8L2hlYWQ+CiA8Ym9keT4KIGZpcnN0Ci08L2JvZHk+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1wYXJlbnQtYmFjay1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvbnVsbC1wYXJlbnQtYmFjay1j
cmFzaC5odG1sCmluZGV4IGQ2NGVmNmI4M2MxNzlkOTViZDc1N2UyMjBhYmQwNTQxNGZmYzUyMjIu
Ljc3YzNjMGE4NjJkMDUyMTFiNjNjNWZlMTMyNTcwYjliNDIwYTViNmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL251bGwtcGFyZW50LWJhY2stY3Jhc2gu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9udWxsLXBhcmVu
dC1iYWNrLWNyYXNoLmh0bWwKQEAgLTEsMyArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+CkBAIC0xMyw3ICsxNCw2IEBACiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAg
ICB9CiAKICAgICAgICAgZnVuY3Rpb24gcGFnZUhpZGRlbigpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy90aWxlZC1kcmF3aW5nL3RpbGVkLWRyYXdpbmctc2Nyb2xsLXBvc2l0aW9uLXBhZ2UtY2Fj
aGUtcmVzdG9yYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvdGlsZWQtZHJh
d2luZy1zY3JvbGwtcG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sCmluZGV4IDZh
Mjg1MWYzNGEzM2FhMzAyNmMxN2ZiYWVkMmY1NjAzNjYyNDUwYjkuLmJkZDA4NzUyNWY0NGJjNjU1
Y2NjNjMwMzYwMGVmZTRhMzZkYTgxYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3RpbGVkLWRy
YXdpbmcvdGlsZWQtZHJhd2luZy1zY3JvbGwtcG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvdGlsZWQtZHJhd2luZy1zY3Jv
bGwtcG9zaXRpb24tcGFnZS1jYWNoZS1yZXN0b3JhdGlvbi5odG1sCkBAIC0xLDMgKzEsNCBAQAor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgogPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgpAQCAtNiw3ICs3LDYgQEAKICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VD
YWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgfQogCiAgICAgICAgIHdpbmRvdy5maW5p
c2hlZFRlc3QgPSBmdW5jdGlvbiAobGF5ZXJUcmVlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>